簡體   English   中英

如何根據條件在 dataframe 中的 select 行

[英]How to select rows in dataframe based on a condition

我有一封電子郵件 dataframe 我在其中給出了以下查詢:

williams = emails[emails["employee"] == "kean-s"]

這將選擇所有具有員工 kean-s 的行。 然后我計算頻率並打印最多。 這是如何完成的:

williams["X-Folder"].value_counts()[:10]

這給 output 像這樣:

attachments                   2026
california                     682
heat wave                      244
ferc                           188
pr-crisis management            92
federal legislation             88
rto                             78
india                           75
california - working group      72
environmental issues            71

現在,我需要打印電子郵件中 X_Folder 列等於附件、加利福尼亞、熱方式等的所有行。我該如何處理它? 當我打印 values[0] 時,它只返回頻率數而不是與其對應的術語(嘗試打印它,因為如果我能夠循環遍歷它,我只會在數據幀中放置一個條件)

Series.isinboolean indexing用於索引值:

df = williams[williams["X-Folder"].isin(williams["X-Folder"].value_counts()[:10].index)]

或者:

df = williams[williams["X-Folder"].isin(williams["X-Folder"].value_counts().index[:10])]

如果需要過濾原始DataFrame中的所有行(以及不匹配 kean kean-s行),則使用:

df1 = emails[emails["X-Folder"].isin(williams["X-Folder"].value_counts().index[:10])]

暫無
暫無

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

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