以下是一个示例代码,演示如何比较两个数据框并将每个值转置为列:
import pandas as pd
# 创建两个示例数据框
df1 = pd.DataFrame({'A': [1, 2, 3, 4, 5],
'B': [6, 7, 8, 9, 10],
'C': [11, 12, 13, 14, 15]})
df2 = pd.DataFrame({'A': [1, 2, 6, 4, 5],
'B': [6, 7, 8, 9, 10],
'C': [16, 17, 18, 19, 20]})
# 比较两个数据框
comparison = df1 == df2
# 将比较结果转置为列
result = comparison.apply(lambda x: '-'.join(x.astype(str)), axis=1)
# 将转置后的结果拆分为多个列
result = result.str.split('-', expand=True)
# 将二进制值转换为0和1
result = result.replace({'False': 0, 'True': 1})
# 重命名列名
result.columns = ['A', 'B', 'C']
print(result)
输出结果如下:
A B C
0 1 1 0
1 1 1 0
2 0 1 0
3 1 1 0
4 1 1 0
在这个示例中,我们创建了两个示例数据框df1和df2。然后,我们比较这两个数据框,将比较结果转置为列,并将二进制值转换为0和1。最后,我们将转置后的结果拆分为多个列,并重命名列名。