将字典列表转换为 numpy 矩阵? [复制]

Posted

技术标签:

【中文标题】将字典列表转换为 numpy 矩阵? [复制]【英文标题】:Convert a list of dictionaries to numpy matrix? [duplicate] 【发布时间】:2016-11-05 10:35:03 【问题描述】:

让给定的字典是

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

所以基本上我想要一个这样的矩阵

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

我怎样才能有效地做到这一点?

【问题讨论】:

【参考方案1】:

Pandas DataFrame 构造函数会立即为您提供所需的结果:

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

最后的 .values 部分将结果转换为 NumPy 数组,这是您所要求的。有些人会直接使用 DataFrame。

【讨论】:

使用 DataFrame 可能很方便,但如果速度是一个问题,它似乎有点矫枉过正。我读过一篇(希望是可信的)文章,其中特别警告了创建 DataFrame 的成本:linkedin.com/pulse/…。所以,我很好奇如果我们想避免创建 Pandas DataFrame 的开销,最有效的方法是什么。

以上是关于将字典列表转换为 numpy 矩阵? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

如何将两个列表转换为字典(一个列表是键,另一个是值)? [复制]

pandas:如何将字典转换为转置数据框? [复制]

如何将文件作为列表/字典读取? [复制]

将张量变量(非常数)转换为 numpy 数组? [复制]

将数据框转换为 numpy 数组? [复制]

将numpy结构化数组子集转换为numpy数组而不复制