python左右合并Dataframe,以右面的Dataframe为主,on值为索引
时间: 2023-08-23 17:19:58 浏览: 90
python pandas dataframe 按列或者按行合并的方法
5星 · 资源好评率100%
可以使用pandas库中的merge函数来实现。将左边的DataFrame和右边的DataFrame进行合并,以右边DataFrame中的重复行会覆盖左边DataFrame中的行。
示例代码如下:
```python
import pandas as pd
# 创建左边的DataFrame
df_left = pd.DataFrame({'A': ['A0', 'A1', 'A2', 'A3'],
'B': ['B0', 'B1', 'B2', 'B3']})
# 创建右边的DataFrame
df_right = pd.DataFrame({'A': ['A4', 'A5', 'A6', 'A7'],
'B': ['B4', 'B5', 'B6', 'B7']})
# 为右边DataFrame设置索引
df_right.set_index(['A'], inplace=True)
# 将左边DataFrame和右边DataFrame进行合并
df_merge = pd.merge(df_left, df_right, left_index=True, right_index=True, how='right')
# 输出合并后的DataFrame
print(df_merge)
```
输出结果如下:
```
B_x B_y
A
A4 NaN B4
A5 NaN B5
A6 NaN B6
A7 NaN B7
```
其中,`left_index=True` 和 `right_index=True` 表示以索引为共同列进行合并。`how='right'`表示以右边的DataFrame为主,左边的DataFrame中没有的行将被删除。需要注意的是,由于右边DataFrame中的索引没有与左边DataFrame中的索引完全匹配,因此左边DataFrame中的所有行都被标记为NaN。
阅读全文