簡體   English   中英

Pandas/Python:如何使用函數過濾 Dataframe 或系列?

[英]Pandas/Python: How can I filter a Dataframe or Series by using functions?

我有一個 Dataframe df,其中包括我的 Jupyter Notebook 中的“年齡”和“姓名”列

通常,當我只想要滿足某些條件的條目時,我會過濾例如

df[df["Age"]>20]

意思是“df,其中df["Age"]恰好高於 20,因此它僅顯示年齡高於 20 的 df 條目

現在我只想獲取名稱包含“Alex”的條目

df[df["Name"].find("Alex")>-1]         #(".find" returns -1 if Alex is not in in the checked string)

實際上這似乎不起作用,因為這個 function 被應用於整個系列,這顯然是無稽之談,因此會出錯。 我不會預料到這種行為,因為第一個示例中的df["Age"]>20也有效(這意味着它被應用於“Age”的每個單元格而不是系列本身)。 任何想法我如何解決這個問題?

此致:)

alex_df = df[df['Name'] == 'Alex']  

如果您有多個名稱,則可以使用以下名稱:

name_list = ['Alex', 'Sam', 'Donna']

names_df = df[df['Name'].isin(name_list)] 

使用 pandas 字符串訪問器搜索列Name包含Alex作為 ZE83AED3DDF4667DEC0DAAAACB2BB3BE0BZ 的行可能是最簡單的:

df[df["Name"].str.contains("Alex")]

更多詳細信息可以在 pandas 的文檔中找到。

暫無
暫無

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

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