我正在尝试将一系列字典转换为数据框
0 {'neg': 0.0, 'neu': 0.462, 'pos': 0.538}
1 {'neg': 0.0, 'neu': 0.609, 'pos': 0.391}
2 {'neg': 0.043, 'neu': 0.772, 'pos': 0.185}
3 {'neg': 0.035, 'neu': 0.765, 'pos': 0.2}
4 {'neg': 0.0, 'neu': 0.655, 'pos': 0.345}
5 {'neg': 0.0, 'neu': 0.631, 'pos': 0.369}
我希望生成的 DataFrame 将每个键作为它自己的列。
neg neu pos
0.0. 0.462 0.538
0.0 0.609 0.391
.. .. ..
我怎样才能用 Pandas 做到这一点?
最佳答案
鉴于您的系列,ser
ser
Out:
0 {'neg': 0.0, 'neu': 0.462, 'pos': 0.538}
1 {'neg': 0.0, 'neu': 0.609, 'pos': 0.391}
2 {'neg': 0.043, 'neu': 0.772, 'pos': 0.185}
3 {'neg': 0.035, 'neu': 0.765, 'pos': 0.2}
4 {'neg': 0.0, 'neu': 0.655, 'pos': 0.345}
5 {'neg': 0.0, 'neu': 0.631, 'pos': 0.369}
您可以将系列转换为列表并调用 DataFrame 构造函数:
pd.DataFrame(ser.tolist())
Out:
neg neu pos
0 0.000 0.462 0.538
1 0.000 0.609 0.391
2 0.043 0.772 0.185
3 0.035 0.765 0.200
4 0.000 0.655 0.345
5 0.000 0.631 0.369
或者您可以
apply
每一行的 pd.Series 构造函数。 apply
将是灵活的并返回一个 DataFrame,因为现在每一行都是一个系列。ser.apply(pd.Series)
Out:
neg neu pos
0 0.000 0.462 0.538
1 0.000 0.609 0.391
2 0.043 0.772 0.185
3 0.035 0.765 0.200
4 0.000 0.655 0.345
5 0.000 0.631 0.369
关于python - 将一系列字典转换为 DataFrame - Pandas,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45872495/