我遇到了一些麻烦。
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']]。但我不知道下一步该怎么做。 非常感谢
答案 0 :(得分:3)
您可以concat
与df1
构造函数创建的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