Pandas merge() 函数详解:Python 数据合并利器
pd.merge() 是 pandas 库中一个用于合并两个数据集 (DataFrame) 的函数。它提供了灵活的合并方式,可以根据不同的需求选择合适的连接类型,例如内连接、外连接、左连接和右连接。
pd.merge() 函数参数详解
pd.merge(left, right, how='inner', on=None, left_on=None, right_on=None, left_index=False, right_index=False, sort=True, suffixes=('_x', '_y'), copy=True, indicator=False)
参数说明:
- left: 要合并的左侧 DataFrame。
- right: 要合并的右侧 DataFrame。
- how: 合并方式,包括 'inner' (内连接)、'outer' (外连接)、'left' (左连接) 和 'right' (右连接),默认值为 'inner'。
- on: 要进行合并的列名。如果左右两个 DataFrame 的列名不同,可以使用
left_on和right_on参数指定左右两个 DataFrame 中要进行合并的列名。 - left_on: 左侧 DataFrame 中用于合并的列名。
- right_on: 右侧 DataFrame 中用于合并的列名。
- left_index: 是否使用左侧 DataFrame 的索引进行合并。
- right_index: 是否使用右侧 DataFrame 的索引进行合并。
- sort: 是否对合并后的 DataFrame 进行排序。
- suffixes: 如果左右两个 DataFrame 中存在相同的列名,可以通过
suffixes参数指定在合并后的列名上添加的后缀。 - copy: 是否复制数据,默认值为 True。
- indicator: 是否在合并后的 DataFrame 中添加一个特殊的列,用于指示每行的合并方式。
示例代码
import pandas as pd
# 创建两个 DataFrame
df1 = pd.DataFrame({'key': ['A', 'B', 'C', 'D'],
'value1': [1, 2, 3, 4]})
df2 = pd.DataFrame({'key': ['B', 'D', 'E', 'F'],
'value2': [5, 6, 7, 8]})
# 使用 pd.merge() 进行合并
merged_df = pd.merge(df1, df2, on='key', how='inner')
print(merged_df)
输出结果:
key value1 value2
0 B 2 5
1 D 4 6
以上代码中,通过 pd.merge() 将 df1 和 df2 按照 'key' 列进行内连接合并,得到的合并后的 DataFrame 中只包含两个共同的 'key' 值 ('B' 和 'D') 所对应的行。
总结
pd.merge() 是一个强大的工具,可以帮助您轻松合并两个 DataFrame,并根据不同的需求选择合适的连接类型。通过理解参数和示例代码,您将能够更有效地处理数据。
原文地址: https://www.cveoy.top/t/topic/lSbo 著作权归作者所有。请勿转载和采集!