如何在数据框中逐行计算部分列中大于 0 的数字并将其保存在列中

Sou*_*Roy 1 python python-3.x

在此输入图像描述

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

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

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

Erf*_*fan 5

我们可以使用DataFrame.newhich 代表列轴上的not equal和( )。DataFrame.sumaxis=1

我假设你的数据框被称为df

import pandas as pd

columns = ['monday', 'tuesday', 'wednesday', 'thursday', 'friday', 'saturday', 'sunday']
df['count'] = df[columns].ne(0).sum(axis=1)
Run Code Online (Sandbox Code Playgroud)

  • 我认为这是最好的解决方案,因为它使用本机 .ne(0) (2认同)