首页 > 解决方案 > 是否可以根据多种条件组合对熊猫数据框进行子集化?

问题描述

我正在尝试根据几个条件对pandas 数据框进行子集化。我尝试过这样的事情:

subset_df = df[((df['language'] != 'es') and (df['language'] == 'eu')) | ((df['language'] == 'es') and (df['lang_conf'] < 1))]

但我得到这个错误:

The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().

关于如何使这项工作或基于多个嵌套条件实现子集的一些不同解决方案的任何想法?

标签: pythonpandasdataframeconditional-statementssubset

解决方案


您必须将 and 替换为 &,如下所示:

subset_df = df[((df['language'] != 'es') & (df['language'] == 'eu')) | ((df['language'] == 'es') & (df['lang_conf'] < 1))]

推荐阅读