##### `pd.merge(left, right, how='inner', on=None, left_on=None, right_on=None, left_index=False, right_index=False, sort=False, suffixes=('_x', '_y'), copy=None, indicator=False, validate=None)`
**功能简介:**
- 用于将两个 DataFrame 进行合并,类似于 SQL 中的 JOIN 操作。可以基于一个或多个键进行合并,也可以基于索引进行合并。
**参数说明:**
- `left`:左侧的 DataFrame。
- `right`:右侧的 DataFrame。
- `how`:合并的方式,可以是 `'inner'`、`'outer'`、`'left'`、`'right'`。
- `on`:合并的键,可以是列名或列名的列表。如果两个 DataFrame 共享相同的列名,可以直接使用这个参数。
- `left_on`:左侧 DataFrame 中用于合并的列名或列名的列表。
- `right_on`:右侧 DataFrame 中用于合并的列名或列名的列表。
- `left_index`:是否使用左侧 DataFrame 的索引作为合并的键。
- `right_index`:是否使用右侧 DataFrame 的索引作为合并的键。
- `sort`:是否根据合并的键对结果进行排序。
- `suffixes`:用于解决列名冲突的后缀。
- `copy`:是否复制数据,默认为 `None`。
- `indicator`:是否在结果中添加一个表示合并方式的列。
- `validate`:对合并方式的有效性进行检查,可以是 `'one_to_one'`、`'one_to_many'`、`'many_to_one'`、`'many_to_many'`。
**返回值:**
- 返回一个新的 DataFrame,包含两个合并的 DataFrame 的数据。
**用法示例:**
1. 内连接合并两个 DataFrame:
```python
import pandas as pd
# 创建两个 DataFrame
left_data = {'ID': [1, 2, 3],
'Name': ['Alice', 'Bob', 'Charlie']}
right_data = {'ID': [2, 3, 4],
'Age': [25, 30, 22]}
left_df = pd.DataFrame(left_data)
right_df = pd.DataFrame(right_data)
# 使用 merge 函数进行内连接合并
merged_df = pd.merge(left=left_df, right=right_df, how='inner', on='ID')
print(merged_df)
```
2. 使用多个键进行合并:
```python
import pandas as pd
# 创建两个 DataFrame
left_data = {'ID': [1, 2, 3],
'Department': ['HR', 'IT', 'Finance']}
right_data = {'EmployeeID': [2, 3, 4],
'Salary': [60000, 70000, 55000]}
left_df = pd.DataFrame(left_data)
right_df = pd.DataFrame(right_data)
# 使用 merge 函数进行合并,使用多个键
merged_df = pd.merge(left=left_df, right=right_df, how='inner', left_on='ID', right_on='EmployeeID')
print(merged_df)
```