簡體   English   中英

如何根據同一數據幀的其他列中的值過濾熊貓數據幀中的結果?

[英]How to filter results in a pandas dataframe, based on the values in other columns of the same dataframe?

我有一個包含以下信息的數據框。

在此處輸入圖片說明

我需要根據條件過濾數據框 - 如果“dob”大於“justdate”且小於“testdate”。 因此,生成的數據幀將只有一行 - [1, naomi, jang, 27, 10-19-1992, 04-05-1990, 04-05-2016] 因為它落在兩個日期之間,即, 'justdate' 和 'testdate'。

我嘗試使用的代碼:

filter1 = my_df.loc[my_df['dob'] > my_df['justdate']]
filter2 = my_df.loc[my_df['dob'] < my_df['testdate']]

my_df.where(filter1 & filter2, inplace = True)

但是,我收到錯誤-“類型錯誤:& 不支持的操作數類型:‘str’和‘str’”

提前致謝 :)

您可以使用Series.between並通過boolean indexing過濾:

df = my_df[my_df['dob'].between(my_df['justdate'], my_df['testdate'], inclusive=False)]

您的解決方案可以通過鏈接條件和boolean indexing過濾來更改:

df = my_df[(my_df['dob'] > my_df['justdate']) & (my_df['dob'] < my_df['testdate'])]

暫無
暫無

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

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