[英]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.