簡體   English   中英

如何根據 Pandas Dataframe 中的多個條件進行過濾

[英]How to filter based on multiple conditions in Pandas Dataframe

我有一個 dataframe:

    count       DATE           state    District     Gender     
0   1604.0      2020-03-11      AN      Nicobar      None   
1   13.0        2020-03-11      UP      Noida        Male   
2   4.0         2020-03-11      KA      Banglore     Female 
3   6.0         2020-03-11      PB      Chandigarh   None   
4   20.0        2020-03-11      MP      Indore       Female 

我必須同時應用基於 DATE、state、地區和性別的不同過濾器。

  1. 將根據開始和結束日期條件過濾掉日期。

  2. 默認情況下,如果選擇了任何特定的“狀態”,則會顯示所有“狀態”,然后 state 過濾器將與日期過濾器結合使用。

  3. 默認情況下,如果選擇了任何特定的“地區”,則會顯示所有“地區”,然后地區過濾器將與上述過濾器結合使用。

  4. 默認情況下,如果選擇了任何特定的“性別”,則會顯示所有“性別”,那么“性別”過濾器將與上述過濾器結合使用。

如何應用 pandas dataframe 中組合的上述過濾器(一步組合查詢並同時工作)? 我目前使用 if-else 子句。 有人可以建議我更好的方法嗎?

如果您想根據列值對 DataFrame 中的某些行進行 select,則可以制作 boolean 掩碼。 例如:

mask = (df.A == 1) & (df.B > 3)
df[mask]

這只會 select DataFrame 中的行,其中 A == 1 且 B > 3。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM