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指定要连接的列名。
