python - 字典列表中的 Pandas 数组

标签 python pandas csv dictionary

我有一个这样的字典列表

[{"Key":[val1,val2,...]}, {"Key2":[val1,val2,...]}, ...]

我想将其转换为 csv 格式,其中键是列标题,值构成列值

为此,我打算使用 pandas 数据框(它很容易导出到 csv),但我不知道如何将我的值放入数据框中。

我已经尝试过 myPanda = pd.DataFrame.from_records(data) 但遗憾的是,无济于事。

最佳答案

我假设您的 key 是唯一的,否则这没有多大意义。

选项 1

  1. 将您的词典合并为一个词典
  2. 将字典传递给 pd.DataFrame
  3. 使用 df.to_csv 保存为 CSV
dct = [{...}, {...}, ...]

r = {}
for d in dct:
    r.update(d)

pd.DataFrame(r).to_csv('file.csv')

选项 2
使用 cytoolz , 字典合并还有另一种可能性 -

from cytoolz.dicttoolz import merge
df = pd.DataFrame(merge(*dct))

选项 3
创建单独的数据框并将它们连接起来 -

df = pd.concat(list(map(pd.DataFrame, dct)), axis=1)

即使您的列表不均匀,此选项也有效。


最后两个解决方案归功于 piRSquared!

关于python - 字典列表中的 Pandas 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47492742/

相关文章:

python - 正则表达式在两个标签之间查找单词

python - 如何检查字符串列表中的字符串是否在 pandas 数据框列中

bash - 以 CSV 格式对每第 n 行命令输出进行分组

python - 有没有办法在 Python (3) for 循环中做条件语句?

python - 在 Cython 中使用来自不同库的结构

python - 每小时合并数据帧的观察结果

python - 重新索引而不改变顺序

linux - 无法将制表符分隔的 .txt 文件转换为 csv

c++ - 如何使用 C++ 跳过 csv 中的标题行

python - 如何对 numpy 数组位置值进行分组?