pd.merge怎么使用
时间: 2023-09-04 16:15:51 浏览: 45
`pd.merge()` 是 pandas 库中的一个函数,用于将两个 DataFrame 对象按照指定的条件进行合并。具体用法如下:
```python
pd.merge(left, right, how='inner', on=None, left_on=None, right_on=None, left_index=False, right_index=False, suffixes=('_x', '_y'), copy=True, validate=None)
```
其中,参数含义如下:
- `left`:需要合并的左 DataFrame 对象。
- `right`:需要合并的右 DataFrame 对象。
- `how`:合并方式,默认为 inner,还可以是 outer、left 或 right。
- `on`:指定用于合并的列名。如果两个 DataFrame 中的列名不同,可以分别指定 left_on 和 right_on。
- `left_on`:左 DataFrame 中用于合并的列名。
- `right_on`:右 DataFrame 中用于合并的列名。
- `left_index`:如果为 True,则使用左 DataFrame 的索引进行合并。
- `right_index`:如果为 True,则使用右 DataFrame 的索引进行合并。
- `suffixes`:如果两个 DataFrame 中的列名冲突,可以在列名后面添加后缀,以区分不同的列。
- `copy`:如果为 True,则复制输入 DataFrame,否则直接修改原始对象。
- `validate`:检查合并的类型,可以是 none、one_to_one、one_to_many 或 many_to_one。
例如,假设有两个 DataFrame 对象 df1 和 df2,它们分别包含姓名和年龄信息,需要按照姓名列将它们进行合并,则可以使用如下代码:
```python
df = pd.merge(df1, df2, on='姓名')
```
这将返回一个新的 DataFrame 对象,包含姓名和年龄信息。如果两个 DataFrame 中的姓名列名不同,可以分别指定 left_on 和 right_on 参数:
```python
df = pd.merge(df1, df2, left_on='姓名1', right_on='姓名2')
```