第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會有你想問的

使用 Pandas 根據(jù)多個(gè)條件選擇數(shù)據(jù)

使用 Pandas 根據(jù)多個(gè)條件選擇數(shù)據(jù)

忽然笑 2021-10-12 16:36:32
我是使用 Pandas 的新手。我想從多列值匹配的數(shù)據(jù)框中選擇行。沿著以下路線:如果 A 列等于 AB 列且 B 列等于 BC 列那么我想要這些值。我實(shí)際上并沒有使用 if 語句,我讀到迭代不適用于熊貓。我試圖找到一個(gè)解決方案,我不確定這是我的語法還是它對列的不同數(shù)據(jù)類型不滿意?我的代碼有點(diǎn)長,所以我只提供我嘗試選擇的行,但如果有幫助,我可以發(fā)布整個(gè)代碼。dfequal=dfMerged.loc[(dfMerged['MetCode']==dfMerged['GCD_METCODE']) & (dfMerged[dfMerged['Zone Code']==dfMerged['GCD_Senior_ZONE']]) & (dfMerged[dfMerged['Municipality Code']==dfMerged['GCD_CSDUID']])]編輯*預(yù)期的輸出將是一個(gè)數(shù)據(jù)幀,其中只有語句為真的行才會存在。這是錯(cuò)誤:ValueError: 操作數(shù)無法與形狀一起廣播 (84778,) (4462,)這是我從中提取的數(shù)據(jù)表    FileID,MetCode,Municipality Code,Zone Code,GCD_Senior_ZONE,GCD_METCODE,GCD_CSDUIDA100101,7175,1005018,303006,303006,7175,1005018A100102,7175,1005018,303006,303006,7175,1005018A100103,7175,1005018,303006,303006,7175,1005018A100104,7280,1006009,202003,202003,7280,1006009A100105,7300,1006017,202003,202003,7300,1006017A100108,7300,1006017,202003,202003,7300,1006017A100109,7300,1006017,202003,202003,7300,1006017A100110,1640,1001485,101001,101001,1640,1001485A100111,1640,1001517,101001,101001,1640,1001517A100114,9000,1008011,202003,202003,0,1008011A100115,9000,1001370,101002,101002,0,1001370A100119,9000,1003034,202003,202003,0,1003034
查看完整描述

1 回答

?
九州編程

TA貢獻(xiàn)1785條經(jīng)驗(yàn) 獲得超4個(gè)贊

您只需要在括號內(nèi)添加條件,.loc而不是在 df 過濾器內(nèi)重復(fù) DF 過濾器:


首先,創(chuàng)建一個(gè)粗略的數(shù)據(jù)樣本,因?yàn)槌藞D像之外你沒有提供:


# 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)

解決方案,您需要將每個(gè)條件嵌套在括號內(nèi):


dfcheck.loc[(dfcheck['A'] == dfcheck['B']) & (dfcheck['C'] == dfcheck['D'])]

編輯:你錯(cuò)過了什么/做錯(cuò)了什么?:


看看你的過濾器,你在括號內(nèi)添加了不必要的 dfMerged,你的代碼被分成幾行(刪除“** CODE **”中的所有內(nèi)容):


dfequal=

dfMerged.loc[(dfMerged['MetCode']==dfMerged['GCD_METCODE']) 

& (**dfMerged[**dfMerged['Zone Code']==dfMerged['GCD_Senior_ZONE']**]**) 

& (**dfMerged[**dfMerged['Municipality Code']==dfMerged['GCD_CSDUID']**]**)]

所以你看,你在一個(gè)不需要的搜索中搜索?它應(yīng)該是:


dfequal=

dfMerged.loc[(dfMerged['MetCode']==dfMerged['GCD_METCODE']) 

& (dfMerged['Zone Code']==dfMerged['GCD_Senior_ZONE']) 

& (dfMerged['Municipality Code']==dfMerged['GCD_CSDUID'])]


查看完整回答
反對 回復(fù) 2021-10-12
  • 1 回答
  • 0 關(guān)注
  • 470 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號