【发布时间】:2020-10-21 19:58:45
【问题描述】:
输入解释:
我有两个数据框df1 和df2,其中包含如下所述的列。
df1
Description Col1 Col2
AAA 1.2 2.5
BBB 1.3 2.0
CCC 1.1 2.3
df2
Description Col1 Col2
AAA 1.2 1.3
BBB 1.3 2.0
场景:
必须比较df1['Description'] 和df2['Description'],当两者都相等时,必须将df1['Col1'] 与df2['Col1'] 和df1['Col2'] 与df2['Col2'] 进行比较,并产生如下预期的结果。
预期输出:
Description Col1 Col2 Col1_Result Col2_Result
AAA 1.2 2.5 Pass Fail
BBB 1.3 2.0 Pass Pass
CCC 1.1 2.3 Not found in df2 Not found in df2
试用过的代码: 已针对上述场景尝试了下面提到的代码行,但不起作用。通过错误“ValueError:只能比较相同标签的系列对象”
df1['Col1_Result'] = np.where(df1['Description']== df2['Description'],np.where(df1['Col1'] == df2['Col1'], 'Pass', 'Fail'),'Not found in df2')
df1['Col2_Result'] = np.where(df1['Description']== df2['Description'],np.where(df1['Col2'] == df2['Col2'], 'Pass', 'Fail'),'Not found in df2')
提前致谢!
【问题讨论】:
标签: python pandas string numpy dataframe