我需要在df1中创建一个结果列,当
条件1:df1的第1列中的每一行的值与df2的第1列的值匹配(如果为真,则应移到条件2),例如df1的A1应与df2的A1匹配,对于A2也是如此,依此类推
条件2:如果第一个条件为真,它也应该匹配第二列。B2(df1)应等于B2(df2)
结果列在df1中。当两个条件都为真时,在相应的行中返回“匹配”或“不匹配”
我试过下面的代码,但它匹配的是整列而不是逐行(我猜想)
import pandas as pd
#reading data
df1 = pd.read_excel("Book1.xlsx")
df2 = pd.read_excel("Book2.xlsx")
c1 = df1['EFE'] == df2['EFE'] #EFE IS COLUMN 1
c2 = df1['DOR'] == df2['DOR'] #DOR IS COLUMN 2
#Giving No error but result is not as desired. Each EFE is marked not good
if c1 is True and c2 is True:
df1['Result'] = "Good"
else:
df1['Result'] = "Not Good"
代码已编辑。以更新最新更改
试试这个:
在您的示例中,您首先为整个“Result”列指定“Good”,然后为“Not Good”,我猜您并不真正想要这样做
相关问题 更多 >
编程相关推荐