当前数据帧输出如下所示我需要另一个数据帧
将pandas导入为pd
df = pd.DataFrame('c:\ data \ text.csv')
打印(df)
我的输出如下:
a b c d e
0 1 10 {'a1':40,'b1':60,'c1':90,'d1':100,'e1':50,'f1':75} 10000 899
1 1 65 {'a1':35,'b1':535,c1': 343,'d1':89,'e1':67,'f1':45} 90000 789
假设我的指数大约在50,000到1,00,000之间
我试过了:
DF1 = pd.DataFrame(列表(df.c))
打印(DF1)
a1 b1 c1 d1 e1 f1
40 60 90 100 50 75
35 535 343 89 67 45
然后我试了一下
df2 = pd.DataFrame(df.a)
df3 = pd.DataFrame(df.b)
df4 = pd.DataFrame(df.d)
df5 = pd.DataFrame(df.e)
frames = [df1,df2,df3,df4,df5]
result = pd.concat(frames)
我仍然无法得到如下预期结果:
a b a1 b1 c1 d1 e1 f1 d e
0 1 10 40 60 90 100 50 75 10000 899
1 1 65 35 535 343 89 67 45 90000 789
1 回答
这是你可以做的: -
假设
DataFrame
的名称是df
,将df[c]
的dicts
转换为list
. 现在你需要解压缩此列表以添加到DataFrame
. 解压缩以获得适当的list
并添加到df
.df1
应该是你需要的DataFrame
. 请知道它是否适合您 .