如何判断Pandas中最后一列与倒数第二列是否不同?解决属性引用错误
问题原因
你遇到的Unresolved attribute reference 'any' for class 'bool'报错,本质是difference不是Pandas Series,而是单个布尔值。这通常是因为你的result是单行DataFrame——通过列索引取值时,单行DataFrame返回的是标量bool,而非Series,自然调用不了.any()这类Series专属方法。
可行解决方案
方案3(适配单行场景)
如果确定result是单行数据,直接判断difference本身即可:
difference = result[result.columns[-1]] != result[result.columns[-2]] if difference: # 此处编写你的业务逻辑 ... else: print("Error!")
通用兼容方案(支持单行/多行)
要是不确定result的行数,用下面的写法可以兼容所有情况:
# 提取DataFrame的最后两列 last_two_cols = result.iloc[:, [-2, -1]] # 比较两列并检查是否存在至少一处差异 if (last_two_cols.iloc[:, 0] != last_two_cols.iloc[:, 1]).any(): # 此处编写你的业务逻辑 ... else: print("Error!")
内容的提问来源于stack exchange,提问作者SebastianHeeg
相关产品推荐
相关产品推荐

