📜  将数据框与两个匹配的列结合起来 - Python (1)

📅  最后修改于: 2023-12-03 15:09:36.824000             🧑  作者: Mango

将数据框与两个匹配的列结合起来 - Python

在数据处理过程中,我们经常需要将两个数据框按照某些列进行合并。本文将介绍如何使用Python将数据框与两个匹配的列结合起来。

首先,我们需要导入pandas库,它是Python中用于数据处理的一个重要库。

import pandas as pd

假设我们有两个数据框,需要按照两个共同的列进行合并。我们可以使用pandas库中的merge()函数。

result = pd.merge(df1, df2, on=['col1', 'col2'])

其中,df1df2是要合并的两个数据框,col1col2是两个共同的列。merge()函数将两个数据框按这两个列进行匹配,并返回一个新的数据框。

例如,我们有两个数据框df1df2,如下所示:

df1 = pd.DataFrame({'col1': [1, 2, 3, 4], 'col2': ['a', 'b', 'c', 'd'], 'col3': ['foo', 'bar', 'baz', 'qux']})
df2 = pd.DataFrame({'col1': [1, 2, 4, 5], 'col2': ['a', 'b', 'd', 'e'], 'col4': [10, 20, 30, 40]})

df1的内容如下:

   col1 col2 col3
0     1    a  foo
1     2    b  bar
2     3    c  baz
3     4    d  qux

df2的内容如下:

   col1 col2  col4
0     1    a    10
1     2    b    20
2     4    d    30
3     5    e    40

我们可以按照两个共同的列col1col2将两个数据框进行合并,如下所示:

result = pd.merge(df1, df2, on=['col1', 'col2'])

合并后的结果如下:

   col1 col2 col3  col4
0     1    a  foo    10
1     2    b  bar    20
2     4    d  qux    30

可以看到,合并后的数据框只包含匹配上的行,没有匹配的行被删除掉了。

除了on参数,merge()函数还有其他的参数可以控制合并的方式,比如how参数可以控制合并方式(左连接、右连接、内连接、外连接等)。具体请参考pandas文档。

总之,在处理多个数据框时,使用merge()函数可以轻松地将它们按共同的列进行合并,方便我们进行后续的数据分析和处理。