python - 如何在数据框中按行计算部分列中大于 0 的数字并将其保存在列中
问题描述
我想计算选择的特定列的值大于 0 行的列数,例如
周一、周二、周三、周四、周五、周六、周日,并将其保存在单独的列中
例如行数id_recipient 0
为 2: (monday,saturday)
, forid_recipient 1
也是 2:(monday, tuesday)
等。
解决方案
我们可以使用DataFrame.ne
which 代表not equal
和DataFrame.sum
超过列轴 ( axis=1
)。
我假设你的数据框被称为df
import pandas as pd
columns = ['monday', 'tuesday', 'wednesday', 'thursday', 'friday', 'saturday', 'sunday']
df['count'] = df[columns].ne(0).sum(axis=1)
推荐阅读
- c++ - 对已删除结构的字段的外部指针引用是否使指针指向 C++ 中的垃圾值?
- sql-server - 触发器是否作为 SQL Server 中事务的一部分出现
- python - Python 3:AttributeError:“int”对象没有属性“选择”
- java - 最终确定导致性能开销的方法
- python-3.x - tkinter:如何编写一个 for 循环来销毁标签列表?
- unity3d - 访问 Samsung Gear VR 的 Sensors 的输出
- c - 我将 head 设置为某种东西,但它始终为空
- java - 如何解决错误:java.lang.NoSuchFieldError: INSTANCE
- c# - 如何简化和优化这个 lambda 表达式?
- spring - Spring MVC ERR_TOO_MANY_REDIRECTS 错误的 Apache 前端 Tomcat