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'])]
添加回答
舉報