2016-11-17 130 views
1

我遇到了一些麻煩。python熊貓列包含字典

import pandas 
df=pandas.DataFrame([[{'a':1,'b':2},3,3],[{'a':2,'b':4},6,5]],columns=['c1','c2','c3']) 
print df 

        c1 c2 c3 
0 {u'a': 1, u'b': 2} 3 3 
1 {u'a': 2, u'b': 4} 6 5 

我想要得到的結果是這樣的:

b c3 
0 2 3 
1 4 5 

我嘗試使用df.loc [:[ 'C1', 'C3']。但我不知道下一步該怎麼做。 非常感謝

回答

3

您可以使用concatDataFrame構造函數創建df1 - 首先由valuesc1轉換爲numpy array再到list

df=pd.DataFrame([[{'a':1,'b':2},2,3],[{'a':2,'b':4},4,5]],columns=['c1','c2','c3']) 
df1 = pd.DataFrame(df.c1.values.tolist()) 
print (df1) 
    a b 
0 1 2 
1 2 4 

print (pd.concat([df1[['b']], df[['c3']]], axis=1)) 
    b c3 
0 2 3 
1 4 5