我有一个 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
注意:我从 postgresql 的 jsonb 列中获得了 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}]})
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
