2017-09-24 114 views
0

我有从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 

回答

0

您可以使用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 
+1

或'DF [“X”]应用(pd.Series).add_prefix('X')。join(df ['Y'])'也许? – Zero

+0

@零当然。我喜欢'add_prefix'的用法。 – Psidom

+0

谢谢。有效。熊猫给我的功能是从数据框@Psidom中删除重复的行吗? – kashf34Kashf