欢迎访问宙启技术站
智能推送

pandasDataFramejoin()函数用法详解

发布时间:2023-12-28 23:13:22

pandas中的DataFrame.join()函数用于将两个DataFrame对象按照指定的列进行连接。连接操作类似于SQL中的JOIN操作。

函数语法:

DataFrame.join(other, on=None, how='left', lsuffix='', rsuffix='')

参数说明:

- other: 要连接的另一个DataFrame对象。

- on: 要连接的列名或列名列表。默认为None,表示自动选择相同的列进行连接。

- how: 连接方式,可以是'left', 'right', 'outer', 'inner'中的一种。默认为'left',表示左连接。

- lsuffix: 当两个DataFrame对象中有相同列名时,给左边的列添加后缀,默认为空字符串。

- rsuffix: 当两个DataFrame对象中有相同列名时,给右边的列添加后缀,默认为空字符串。

使用例子:

import pandas as pd

# 创建两个DataFrame对象
df1 = pd.DataFrame({'A': ['A0', 'A1', 'A2', 'A3'],
                    'B': ['B0', 'B1', 'B2', 'B3'],
                    'C': ['C0', 'C1', 'C2', 'C3']})
df2 = pd.DataFrame({'A': ['A2', 'A3', 'A4', 'A5'],
                    'D': ['D2', 'D3', 'D4', 'D5'],
                    'E': ['E2', 'E3', 'E4', 'E5']})

# 使用join函数进行连接
result = df1.join(df2, lsuffix='_left', rsuffix='_right')
print(result)

输出结果:

  A_left   B   C A_right    D    E
0     A0  B0  C0      A2   D2   E2
1     A1  B1  C1      A3   D3   E3
2     A2  B2  C2      A4   D4   E4
3     A3  B3  C3      A5   D5   E5

以上例子中,df1和df2是要进行连接的两个DataFrame对象。连接方式为左连接,即以df1为基础,将df2的数据按照'A'列进行连接。由于df1中的第2、3行的'A'列与df2中的第1、2行的'A'列相同,所以进行了连接。

连接的结果存储在result中,可以看到结果中有两对'A'列,分别以'_left'和'_right'作为后缀,其他列名不变。

需要注意的是,如果两个DataFrame对象中有相同的列名,连接时会自动添加后缀,或者通过参数lsuffix和rsuffix指定后缀。如果不想添加后缀,可以使用参数on指定要连接的列名。