我正在使用 Pandas 并想从多个数据框中提取值。 例如,有如下三个数据框。
df1 = pd.DataFrame({'key': ['K0', 'K1'],
'A': ['A0', 'A1'],
'B': ['B0', 'B1']})
df2 = pd.DataFrame({'key': ['K1', 'K22'],
'C': ['C1', 'C3'],
'D': ['D1', 'D3']})
df3 = pd.DataFrame({'key': ['K1', 'K30'],
'E': ['E1', 'E3'],
'F': ['F1', 'F3']})
如果键在数据帧之间共享,我想提取值。 所以我在下面做了
pd.merge(df1,df2, on='key')
这显示在下面,这很好。
A B key C D
0 A1 B1 K1 C1 D1
但是,如果我尝试对超过 2 个数据帧执行此操作,它将无法工作。 例如,以下不起作用。
pd.merge(df1,df2,df3, on='key')
我认为 pd.merge 不适合这个。 有谁知道这样做的好方法吗?
谢谢!
请您参考如下方法:
pd.merge使用两个数据框(左和右)
您可以使用 pd.concat 连接数据帧列表。
pd.concat([df1,df2,df3],axis=1)
对...
pd.concat([df1.set_index('key'),df2.set_index('key'),df3.set_index('key')],axis=1,join='inner')
