1 回答

TA贡献1785条经验 获得超4个赞
您只需要在括号内添加条件,.loc而不是在 df 过滤器内重复 DF 过滤器:
首先,创建一个粗略的数据样本,因为除了图像之外你没有提供:
# creating the values, first one will be ID, then next 4 will be the values to compare
check_values = [
[1, 5, 10, 20, 30],
[2, 5, 11, 32, 11],
[3, 10, 10, 20, 20],
[4, 9, 9, 11, 11],
[5, 11, 23, 41, 11]
]
# creating columns names
check_cols = ['id', 'A', 'B', 'C', 'D']
# making the DataFrame
dfcheck = pd.DataFrame(check_values, columns=check_cols)
# Setting the id column, just because
dfcheck.set_index('id', inplace=True)
解决方案,您需要将每个条件嵌套在括号内:
dfcheck.loc[(dfcheck['A'] == dfcheck['B']) & (dfcheck['C'] == dfcheck['D'])]
编辑:你错过了什么/做错了什么?:
看看你的过滤器,你在括号内添加了不必要的 dfMerged,你的代码被分成几行(删除“** CODE **”中的所有内容):
dfequal=
dfMerged.loc[(dfMerged['MetCode']==dfMerged['GCD_METCODE'])
& (**dfMerged[**dfMerged['Zone Code']==dfMerged['GCD_Senior_ZONE']**]**)
& (**dfMerged[**dfMerged['Municipality Code']==dfMerged['GCD_CSDUID']**]**)]
所以你看,你在一个不需要的搜索中搜索?它应该是:
dfequal=
dfMerged.loc[(dfMerged['MetCode']==dfMerged['GCD_METCODE'])
& (dfMerged['Zone Code']==dfMerged['GCD_Senior_ZONE'])
& (dfMerged['Municipality Code']==dfMerged['GCD_CSDUID'])]
添加回答
举报