创建单独列从熊猫数据框中
问题描述:
我有从JSON文件格式创建单独列从熊猫数据框中
{"Y": 5, "X": [626,1,2,3]}, {"Y": 3, "X": [3]}, {"Y": 5, "X": [41847,1233]}
我抽出它从JSON文件的熊猫数据帧作为提取的数据集:
X Y
[626,1,2,3] 5
[3] 3
[41847,1233] 5
如何我可以将它转换成
X1 X2 X3 X4 Y
626 1 2 3 5
3 NAN NAN NAN 3
41847 1233 NAN NAN 5
答
您可以使用apply
来循环显示中的项目柱和每个列表转换为Series
对象,然后,这将给你与布置为列列表中的元素的数据帧:
pd.concat([df.X.apply(pd.Series).rename(columns="X{}".format), df.Y], axis=1)
# X0 X1 X2 X3 Y
#0 626.0 1.0 2.0 3.0 5
#1 3.0 NaN NaN NaN 3
#2 41847.0 1233.0 NaN NaN 5
df.X.apply(pd.Series)
# 0 1 2 3
#0 626.0 1.0 2.0 3.0
#1 3.0 NaN NaN NaN
#2 41847.0 1233.0 NaN NaN
或'DF [“X”]应用(pd.Series).add_prefix('X')。join(df ['Y'])'也许? – Zero
@零当然。我喜欢'add_prefix'的用法。 – Psidom
谢谢。有效。熊猫给我的功能是从数据框@Psidom中删除重复的行吗? – kashf34Kashf