python pandas列包含dict

时间:2016-11-17 09:23:18

标签: python pandas dictionary

我遇到了一些麻烦。

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']]。但我不知道下一步该怎么做。 非常感谢

1 个答案:

答案 0 :(得分:3)

您可以concatdf1构造函数创建的DataFrame一起使用 - 首先将c1列转换为numpy array values然后转移到list {1}}:

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