python - 如何在列中拆分 dict 类型的 pandas 列?
问题描述
我有一个熊猫数据框。数据框的其中一列是一个dict
对象。以下数据框是真实数据框的玩具示例:
DF = pd.DataFrame({'id':[1,2,3], 'col1':[{'a':1, 'b':2, 'c':3}, {'a':3, 'b':4, 'c':5}, {'a':None, 'b':5, 'c':6}]})
我想拆分col1
列:每个字典键一列。所有行都有相同的键。
拆分后的数据框应如下所示:
id a b c
1 1 2 3
2 3 4 5
3 None 5 6
注意:我dict
从jsonb
postgresql 中的列中获得了该列。
解决方案
输入:
df = pd.DataFrame({'id':[1,2,3], 'col1':[{'a':1, 'b':2, 'c':3}, {'a':3, 'b':4, 'c':5}, {'a':None, 'b':5, 'c':6}]})
df.set_index('id').col1.apply(pd.Series)
输出:
a b c
id
1 1.0 2.0 3.0
2 3.0 4.0 5.0
3 NaN 5.0 6.0
推荐阅读
- javascript - js追加方法问题
- php - PHP:如何将数组作为参数传递给使用 func_get_args 的接收函数?
- security - Apache Camel paho socketFactory 设置
- python - 全局变量未从计算变量接收数据,因此无法使用 django 在 html doc 上显示数据
- python-3.x - Celery - 如何在 Chord 中使用块?
- android-studio-4.1 - 如何在 Android Studio 中将我的应用文件存储为公开?
- docker - 尝试在后台的 docker 文件中运行 npm start 命令
- sql - 查询给定时间范围内的重复事件
- mysql - onchange 下拉列表(州、国家、城市)的 onchange
- twilio - 没有使用 twilio 通知服务接收短信,控制台中没有调试错误?