Skip to main content
 首页 » 编程设计

python之如何在列中拆分类型为 dict 的 pandas 列

2025年05月04日22softidea

我有一个 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