Python迭代行和匹配值

2024-06-28 15:02:12 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要在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"

代码已编辑。以更新最新更改


Tags: 代码readisa1as条件xlsxexcel