我有两个需要验证的数据集。所有记录都应匹配。我在确定如何循环访问每个不同的列时遇到问题。
import pandas as pd
import numpy as np
df = pd.DataFrame([['charlie', 'charlie', 'beta', 'cappa'], ['charlie', 'charlie', 'beta', 'delta'], ['charlie', 'charlie', 'beta', 'beta']], columns=['A_1', 'A_2','B_1','B_2'])
df.head()
Out[83]:
A_1 A_2 B_1 B_2
0 charlie charlie beta cappa
1 charlie charlie beta delta
2 charlie charlie beta beta
例如,在上面的代码中,我想将A_1与A_2进行比较,B_1 B_2,分别返回一个新列,分别A_check和B_check,如果A_1与A_Check A_2匹配,则返回True。
像这样:
df['B_check'] = np.where((df['B_1'] == df['B_2']), 'True', 'False')
df_subset = df[df['B_check']=='False']
但是,可以在任何给定的列名中迭代,其中需要检查的列在下划线之前始终具有相同的名称,并且在下划线后始终具有1或2。
最终,实际任务具有多个数据框,其中要检查的列不同,以及要检查的列数也不同。我最终要获得的输出是一个数据帧,它显示对于任何特定列检查都是假的所有记录。
LEATH
临摹微笑
芜湖不芜
猛跑小猪