如何使用熊猫基于多个列条件对行进行计数?

猴面包树1988

如何使用&andor条件计算带有熊猫的csv文件行

在下面的代码中,我要计算所有具有True / False = FALSE和status = OK的行,并且在openSoon,underConstruction,comingSoon的任何列中都具有“ +”值。

我试过了:

checkOne =  df['id'].loc[(df['True/False'] == 'FALSE') & (df['status'] == 'OK') & (df['comingSoon'] == '+') or (df['openingSoon'] == '+') or (df['underConstruction'] == '+')].count()

错误:

Traceback (most recent call last):
 File "<stdin>", line 1, in <module>
 File "/usr/local/lib/python3.9/site-packages/pandas/core/generic.py", line 1329, in __nonzero__
raise ValueError(
ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().
耶斯列尔

使用|按位or和计True价值观过滤不是必需的,使用sum

同样对于测试布尔值df['True/False'] == False,可以通过简化~df['True/False']

checkOne =  (~df['True/False'] & 
             (df['status'] == 'OK') & 
             (df['comingSoon'] == '+') | 
             (df['openingSoon'] == '+') | 
             (df['underConstruction'] == '+')).sum()

如果True/False是字符串,请TRUE/FALSE使用:

checkOne =  ((df['True/False'] == 'FALSE') & 
             (df['status'] == 'OK') & 
             (df['comingSoon'] == '+') | 
             (df['openingSoon'] == '+') | 
             (df['underConstruction'] == '+')).sum()

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何基于多个列添加条件计数

Python-如何根据各种列对行进行条件计数?

根据多个条件对行进行计数

如何按列条件正确选择熊猫行进行计算

基于多个条件的熊猫计数,导致新列

Excel:基于多个列对行进行排序

使用IF对行进行计数并按条件插入

如何基于DataFrame中的多个条件对事件进行计数

是否可以基于对单个熊猫DataFrame列的查询来跨行进行多个更新

使用np.where熊猫基于多个列的多个条件

使用多个条件对日期在当前月份内的行进行计数

如何基于SQL Server中的多个列进行计数?

用多个匹配条件对excel中的行进行计数

SQL查询基于不同列的先前值对行进行计数

如何基于多个先前值的熊猫条件计算新列

如何使用熊猫按月和年对行进行分组和计数?

如何基于熊猫中的多个列进行分组?

根据熊猫中的多个条件对行进行分组和过滤

使用多个条件进行计数

从条件开始对行进行计数

使用窗口在scala中使用if条件对行进行计数

Excel-如何使用条件对行进行计数,但每个ID仅计算一次

同一列使用多个条件进行计数

使用data.table基于多个列对行进行子集设置-最快的方法

如何根据特定条件对SSIS中的行进行计数?

如何根据时间间隔条件对行进行分组和计数

熊猫条件比较:基于多个列

如何在awk的多个范围内对行进行计数?

如何使用基于多个重复列的序列对重复行进行自动编号(T-SQL)