Skip to main content
 首页 » 编程设计

python之从 Pandas 数据框中提取值

2025年05月04日11birdshome

我正在使用 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')