python - 如何从包含列表的字典列表中获取展平数据框?
问题描述
我正在尝试将这种数据结构扁平化为“普通”数据框。
原始数据是包含列表的字典列表。
数据如下所示(可重现的示例):
data = [{'A':[1,2,3,4], 'B':[11,12,13,14]}, {'A':[5,6,7,8], 'B':[15,16,17,18]}]
我想要的输出应该是以下熊猫数据框:
Out[01]:
A B
0 1 11
1 2 12
2 3 13
3 4 14
4 5 15
5 6 16
6 7 17
7 8 18
我怎样才能达到这个结果?谢谢
解决方案
您可以使用pd.Series.explode
data = [{'A':[1,2,3,4], 'B':[11,12,13,14]}, {'A':[5,6,7,8], 'B':[15,16,17,18]}]
df = pd.DataFrame(data).apply(pd.Series.explode).reset_index(drop=True)
A B
0 1 11
1 2 12
2 3 13
3 4 14
4 5 15
5 6 16
6 7 17
7 8 18
from collections import defaultdict
new = defaultdict(list)
for d in data:
for k, v in d.items():
new[k].extend(v)
df = pd.DataFrame(new)
A B
0 1 11
1 2 12
2 3 13
3 4 14
4 5 15
5 6 16
6 7 17
7 8 18
推荐阅读
- powershell - Powershell For 反向循环
- mysql - 对于这种情况,适用于 mac 的 mysql 的正确下载 url?
- visual-c++ - Blurry Dev C++ On Windows 10
- reactjs - 当我在反应中更改商店时道具没有更新
- java - 无法解析符号“LastModifiedFileComparator”
- npm - VMware Ubuntu 来宾共享文件夹中的新 Ember.js 应用程序
- node.js - 顶级等待在最新的 Node.js 中不起作用
- c - 在c中将Big endian转换为little endian。警告:从不兼容的指针类型返回 [-Wincompatible-pointer-types] return src;
- javascript - Firebase 功能不记录任何数据?
- python - soup.find 不返回任何内容