Python 连接大量数据帧
我有一个包含许多数据帧的字典Python 连接大量数据帧,python,pandas,dataframe,concatenation,Python,Pandas,Dataframe,Concatenation,我有一个包含许多数据帧的字典D。 我可以使用D[0]、D[1]…D[I]访问每个数据帧,整数作为各个数据帧的键/标识符 现在,我想以这种方式将所有数据帧合并成一个新的数据帧: new_df = pd.concat([D[0],D[1],...D[i]], axis= 1) 你会建议我如何解决这个问题(concat仍需使用) 我尝试生成一个D的列表,并将其包括在内,但收到一条错误消息。我认为最简单的方法是使用dict理解dict项目: In [14]: d = {'a':pd.DataFra
D
。
我可以使用D[0]、D[1]…D[I]
访问每个数据帧,整数作为各个数据帧的键/标识符
现在,我想以这种方式将所有数据帧合并成一个新的数据帧:
new_df = pd.concat([D[0],D[1],...D[i]], axis= 1)
你会建议我如何解决这个问题(concat仍需使用)
我尝试生成一个D的列表,并将其包括在内,但收到一条错误消息。我认为最简单的方法是使用dict理解dict项目:
In [14]:
d = {'a':pd.DataFrame(np.random.randn(5,3), columns=list('abc')), 'b':pd.DataFrame(np.random.randn(5,3), columns=list('def'))}
d
Out[14]:
{'a': a b c
0 0.030358 1.523752 1.040409
1 -0.220019 -1.579467 -0.312059
2 1.019489 -0.272261 1.182399
3 0.580368 1.985362 -0.835338
4 0.183974 -1.150667 1.571003, 'b': d e f
0 -0.911246 0.721034 -0.347018
1 0.483298 -0.553996 0.374566
2 -0.041415 -0.275874 -0.858687
3 0.105171 -1.509721 0.265802
4 -0.788434 0.648109 0.688839}
In [29]:
pd.concat([df for k,df in d.items()], axis=1)
Out[29]:
a b c d e f
0 0.030358 1.523752 1.040409 -0.911246 0.721034 -0.347018
1 -0.220019 -1.579467 -0.312059 0.483298 -0.553996 0.374566
2 1.019489 -0.272261 1.182399 -0.041415 -0.275874 -0.858687
3 0.580368 1.985362 -0.835338 0.105171 -1.509721 0.265802
4 0.183974 -1.150667 1.571003 -0.788434 0.648109 0.688839
您要按列还是按行连接?如果前者:
pd.concat([y代表x,y代表d.items()])
elsepd.concat([y代表x,y代表d.items()],axis=1)
实际上我认为pd.concat([y代表x,y代表d.items()],axis=1)
应该工作得很好!谢谢你@EdChum。我希望有一天我自己能找到这样的解决办法。我对听写理解很熟悉,但从未想到它会解决我的问题。