首页 > 解决方案 > 在数据框中过滤多个值

问题描述

我有一个像这样的数据框:

df_ea = df_ea.loc[:,["DE","FR","IT","ES"]]
print(df_ea)

Country                     DE                 DE                 DE
location     Baden-Württemberg  Baden-Württemberg            Bavaria   
category    Grocery & pharmacy              Parks        Residential   
2020-02-23              35.763              5.449             -0.766   
2020-02-24              -1.295             43.503              3.573   
2020-02-25              -5.478             17.528              5.223   
2020-02-26              -2.533             -7.332              3.869   
2020-02-27              -1.698            -21.724               4.29   
2020-02-28               9.657              7.672              3.234   

我想按位置过滤这个数据框。我可以在输入一个位置时执行此操作,如下所示:

df_ea.loc[:,(df_ea=="Bavaria").any()]

但是当我尝试输入多个时,我得到一个 TypeError:

df_ea.loc[:,(df_ea==(["Bavaria"|"Berlin"])).any()]
TypeError: unsupported operand type(s) for |: 'str' and 'str'

有没有办法在python中做到这一点?

标签: pythonpandasdataframefilter

解决方案


推荐阅读