Tom*_*nks 1 python extract overlap pandas
我正在使用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']})
Run Code Online (Sandbox Code Playgroud)
如果在数据帧之间共享密钥,我想提取值.所以我在下面做了
pd.merge(df1,df2, on='key')
Run Code Online (Sandbox Code Playgroud)
这显示如下,这很好.
A B key C D
0 A1 B1 K1 C1 D1
Run Code Online (Sandbox Code Playgroud)
但是,如果我尝试超过2个数据帧,它将无法正常工作.例如,以下不起作用.
pd.merge(df1,df2,df3, on='key')
Run Code Online (Sandbox Code Playgroud)
我认为pd.merge不适合这个.有谁知道这样做的好方法?
谢谢!
pd.merge使用两个数据帧(左和右)
您可以使用pd.concat连接数据帧列表.
pd.concat([df1,df2,df3],axis=1)
Run Code Online (Sandbox Code Playgroud)
对...
pd.concat([df1.set_index('key'),df2.set_index('key'),df3.set_index('key')],axis=1,join='inner')
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
370 次 |
| 最近记录: |