熊猫根据条件选择行

时间:2019-09-27 04:59:25

标签: python pandas

我只想选择那些满足我条件的行。

options = ['apple', 'banana','cat','dog'] 
#selecting rows based on condition 
rslt_df = data[(data['Animal'] == "All") & data['Category'].isin(options)]
print(rslt_df)

但是我收到此错误。

       #selecting rows based on condition
-----> rslt_df = data[(data['Animal'] == "All") & data['Category'].isin(options)]
       print(rslt_df)
       TypeError: invalid type comparison

2 个答案:

答案 0 :(得分:1)

此错误是在某些旧版本的熊猫中造成的,解决方案是升级到最新版本,然后使用原始解决方案:

rslt_df = data[(data['Animal'] == "All") & data['Category'].isin(options)]

答案 1 :(得分:-1)

如果您提供了示例DataFrame,我们可以检查您为什么有TypeError。但是,如果您具有相同的数据类型,则应该可以。

mask = (data['Animal'] == "All") & (data['Category'].isin(options))
new_df = df.loc[mask]