将字典列表转换为numpy矩阵?

13

假设给定的字典为

d = [{'a':1,'b':4},{'b':2}]

基本上我想要这样的矩阵

  | 'a' | 'b'  |
 _______________
  |  1  |  4   |
  |  na |  2   |

如何高效地实现这个目标?

1个回答

15

Pandas的DataFrame构造函数将立即为您提供您要查找的结果:

import pandas as pd
pd.DataFrame(d).values

.values这部分将结果转换为NumPy数组,这正是您要求的。有些人会直接使用DataFrame进行操作。


12
使用DataFrame可能很方便,但如果速度是个问题,它似乎有点大材小用。我读过一篇(希望可信)的文章,特别警告创建DataFrame的成本:https://www.linkedin.com/pulse/careful-when-using-sklearn-pandas-production-environment-longbin-chen/。因此,如果我们想避免创建Pandas DataFrame的开销,我很好奇最高效的方法是什么。 - Regorsmitz

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接