![](/img/trans.png)
[英]Python: How to filter a Pandas DataFrame using Values from a Series?
[英]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.