有dataframe1 和 dataframe2, dataframe1比dataframe行数少,怎样根据dataframe的列code和dataframe2的列name, 将两个合并
时间: 2024-10-30 21:02:23 浏览: 22
在Python的Pandas库中,如果你想根据`dataframe1`的`code`列和`dataframe2`的`name`列将这两个DataFrame合并,可以使用`merge()`函数。这里是一个示例:
```python
import pandas as pd
# 假设dataframe1和dataframe2有这样的结构:
# dataframe1:
# code other_columns
# 0 A value1
# 1 B value2
# 2 C value3
# dataframe2:
# name columnB
# 0 NameA value4
# 1 NameB value5
# 2 NameC value6
# 使用 merge 函数,指定 on='code' 参数表示按 code 列合并,如何处理缺失值默认是 left join(保留dataframe1的所有行)
merged_df = pd.merge(dataframe1, dataframe2, on='code')
# 如果需要完整匹配(即 dataframes 中都存在相同的 (code, name) 对),可以改为 inner join:
# merged_df = pd.merge(dataframe1, dataframe2, how='inner', on=['code', 'name'])
# 输出结果会包含dataframe1的所有code,如果dataframe2中没有对应的name,则columnB列将是NaN
```
如果你想要根据`code`和`name`同时进行匹配,可以在`on`参数中传递一个列表,如`['code', 'name']`。
阅读全文