通过熊猫中的多个条件选择数据框行

时间:2020-09-09 17:54:03

标签: python pandas multipleselection

我可以根据某些条件从pandas df中选择行:

    cardio = df[df.indications == 'Cardiovascular / cardiology']
    end_aug = '2020-08-31'
    start_aug = '2020-08-01'

    mask = (df['date']>start_aug) & (df['date']<=end_aug)
    df = df.loc[mask,df['indications']]

但是我也想使用“ cardio”变量来缩小[indications]列中的选择范围,例如:

    df = df.loc[mask,df['indications']== 'Neoplasms / cancer / oncology']

但是上面的代码返回了一个错误:IndexingError:作为索引器提供了不可对齐的布尔系列(布尔系列和被索引对象的索引不匹配)。

在我的情况下,如何使用“ cardio”变量来使用面罩和其他选择?

1 个答案:

答案 0 :(得分:1)

另一种解决方案:

searchfor = ['Neoplasms', 'cancer', 'oncology']
df = df[df['indications'].str.contains('|'.join(searchfor))]
相关问题