在pandas中通过多个条件选择数据框行

我可以根据某些条件从 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”变量来缩小 ['inspirations'] 列中的选择范围,例如:


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

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


在我的例子中,如何使用“cardio”变量来使用蒙版和其他选择?


千巷猫影
浏览 98回答 1
1回答

料青山看我应如是

另一个解决方案:searchfor&nbsp;=&nbsp;['Neoplasms',&nbsp;'cancer',&nbsp;'oncology'] df&nbsp;=&nbsp;df[df['indications'].str.contains('|'.join(searchfor))]
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python