Python Pandas DataFrame:如何将由字典组成的列处理成由字典键确定的多个列?



在我的一个熊猫数据帧中,每一行都有一列包含字典或字典。

例如,其中一行将包含"{'a':1,'b':2}"

我需要创建一个以"a"和"b"作为列的数据帧,或者列中包含的所有字典中有多少唯一键。

例如,如果一行包含"{'a':1,'b':2}",而另一行包含"{'a':1,'c':2}",我需要创建一个以"a"、"b"和"c"作为其列的数据帧。列名将是字典的键,行将包含字典的值。数据帧的索引将与原始索引相同。

谢谢。

我认为您可以使用DataFrame构造函数将data列转换为numpy arrayvalues然后转换为list

#borrowing sample from DeepSpace's answer
df = pd.DataFrame({'data': [{'a': 1, 'b': 2}, {'a': 3, 'c': 4}]})
print (df)
data
0  {'a': 1, 'b': 2}
1  {'a': 3, 'c': 4}
df1 = pd.DataFrame(df['data'].values.tolist(), index=df.index)
print (df1)
a    b    c
0  1  2.0  NaN
1  3  NaN  4.0

最新更新