Python Pandas DataFrame:如何处理由dicts组成的列到由dicts键确定的多列中?

时间:2017-07-19 13:29:45

标签: python excel pandas csv dataframe

在我的一个pandas DataFrame中,有一列包含每行中的字典或字典。

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

我需要用' a'制作一个DataFrame。和' b'作为列或许多唯一键,列中包含的所有dicts都有。

例如,如果一行包含" {' a':1,' b':2}"而另一个人有" {' a':1,' c':2}"我需要使用' a'' b'和' c'来制作数据框架。作为它的专栏。列名称将是dicts的键,行将包含dicts的值。 DataFrame的索引与原始索引相同。

谢谢。

1 个答案:

答案 0 :(得分:3)

我认为您可以使用DataFrame构造函数将data列转换为numpy array values然后转换为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