我有这样的df,
Cola Colb
Mr Mr..!
Mrs Mrs.!.
Mr Tests
我想比较这两列,而忽略Colb中的(。和!)-我可以在替换不需要的字符时生成一个新列。但是,有没有更好的方法可以使用pandas函数呢?
3行中的所有行的预期结果都是正确的。
这是我用于直接比较的单行代码,
temp_result_df[res_col_name] = \
((temp_result_df[primaryreportreqcolname] == temp_result_df[RequiredSecondaryReport_Col_Name])\
& (temp_result_df[RequiredSecondaryReport_Col_Name]!= 'Tests'))
Python的新手。因此,我正在探索不同的功能和方法来与数据中的某些噪声进行比较。
答案 0 :(得分:4)
IIUC,
df['res_col_name'] = df['Cola'].eq(df['Colb'].replace('\W+', '', regex = True)) | df['Colb'].eq('Tests')
Cola Colb res_col_name
0 Mr Mr..! True
1 Mrs Mrs.!. True
2 Mr Tests True