对两个dataframe的其中两个列进行比较,并添加对比结果
时间: 2024-03-08 14:50:59 浏览: 22
好的,你想对两个DataFrame的其中两个列进行比较,并添加对比结果。具体来说,你想比较两个DataFrame的某两列的值是否相等,如果相等则在这一行上添加一个标记,表示这两个DataFrame中的这两列的值相同。
我们可以先使用pandas的merge()方法将两个DataFrame按照某个共同的列进行合并,然后对两个列进行比较,并添加标记。下面是一个示例代码,可以帮助你完成这个任务:
```python
import pandas as pd
# 生成两个DataFrame
df1 = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6], 'C': ['foo', 'bar', 'baz']})
df2 = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 7], 'C': ['foo', 'bar', 'baz']})
# 将两个DataFrame按照C列进行合并
merged_df = pd.merge(df1[['A', 'B', 'C']], df2[['A', 'B', 'C']], on='C')
# 定义比较函数
def compare_columns(row):
if row['A_x'] == row['A_y'] and row['B_x'] == row['B_y']:
return 'Same'
else:
return 'Different'
# 对两个列进行比较,并添加标记
merged_df['Compare'] = merged_df.apply(compare_columns, axis=1)
# 输出结果
print(merged_df[['A', 'B', 'C', 'Compare']])
```
运行上述代码后,你就可以得到一个新的DataFrame,其中添加了一个名为“Compare”的列,用于标记两个DataFrame中的对应行的A列和B列的值是否相同。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)