作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我需要 df1 中的结果列,当
条件 1:df1 的 Column1 中的每一行的值与 df2 的 Column1 的值匹配(如果为 true,则应移至条件 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"
代码已编辑。更新最新的更改。
最佳答案
试试这个:
df1['is_good'] = ((df1['EFE'] == df2['EFE']) & (df1['DOR'] == df2['DOR']))
在您的示例中,您首先将“Good”分配给整个“Result”列,然后将“Not Good”分配给“Not Good”,我猜您并不真正想要。
关于Python 迭代行和匹配值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59025387/
我是一名优秀的程序员,十分优秀!