[英]Pandas filter or delete rows multiple conditions
我有這些數據boroughCounts
與這些示例值:
From To Count
9 None Manhattan 302
10 Bronx Bronx 51
11 Bronx Manhattan 244
12 None Brooklyn 8
13 Bronx Queens 100
14 None None 67
嘗試使用此處或此處所述的方法過濾掉“發件人”和“收件人”列中的“ None
值:
boroughCounts = boroughCounts[(boroughCounts.From != None) & (boroughCounts.To != None)]
boroughCounts = boroughCounts[(boroughCounts["From"] != None) & (boroughCounts["To"] != None)]
但這是行不通的,所有值都保持不變。 我使用錯了嗎,還是有更好的方法呢?
使用它,因為None是一個字符串,您需要用NaN替換該字符串:
df_out = boroughCounts.replace('None', np.nan).dropna()
df_out
輸出:
From To Count
10 Bronx Bronx 51
11 Bronx Manhattan 244
13 Bronx Queens 100
或者您可以通過使用“無”來使用布爾索引:
boroughCounts[(boroughCounts.From != "None") & (boroughCounts.To != "None")]
檢查您的數據框以了解類型。
boroughCounts.dtypes
這將告訴您他To和From cols是對象類型。 這可能意味着它們都是字符串或字符串和None類型的組合。 檢查您的無人之一。
type(boroughCounts.iloc[15].From)
這將向您顯示第15行的“從”列中的“無”是否為字符串。 如果是這樣,則需要更改查詢。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.