Python 如何根据同一数据帧的其他列中的值筛选数据帧中的结果?
我有一个包含以下信息的数据框 我需要根据条件过滤数据帧-如果'dob'大于'justdate'小于'testdate'。因此,生成的数据帧只有一行,即[1,naomi,jang,27,10-19-1992,04-05-1990,04-05-2016],因为它位于两个日期之间,即“justdate”和“testdate” 我尝试使用的代码:Python 如何根据同一数据帧的其他列中的值筛选数据帧中的结果?,python,pandas,Python,Pandas,我有一个包含以下信息的数据框 我需要根据条件过滤数据帧-如果'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[m
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)
filter1=my_-df.loc[my_-df['dob']>my_-df['justdate']]
filter2=my_df.loc[my_df['dob']
但是,我得到了一个错误——“TypeError:不支持的操作数类型(&:'str'和'str')”
提前感谢:)您可以通过以下方式使用和筛选:
您的解决方案可以通过条件链进行更改,并通过布尔索引进行筛选
:
df = my_df[(my_df['dob'] > my_df['justdate']) & (my_df['dob'] < my_df['testdate'])]
df=my_-df[(my_-df['dob']>my_-df['justdate'])和(my_-df['dob']
Hello@jezrael!我感谢你的迅速答复。您的第一个解决方案成功了!:)但是,第二个解决方案不起作用,它返回一个空数据帧。只是让你知道。再次感谢!
df = my_df[(my_df['dob'] > my_df['justdate']) & (my_df['dob'] < my_df['testdate'])]