首页 > 解决方案 > 如何在数据框中按行计算部分列中大于 0 的数字并将其保存在列中

问题描述

在此处输入图像描述

我想计算选择的特定列的值大于 0 行的列数,例如

周一、周二、周三、周四、周五、周六、周日,并将其保存在单独的列中

例如行数id_recipient 0为 2: (monday,saturday), forid_recipient 1也是 2:(monday, tuesday)等。

标签: pythonpython-3.x

解决方案


我们可以使用DataFrame.newhich 代表not equalDataFrame.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)

推荐阅读