2017-09-24 149 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