我有一个形式为的矩阵:
movie_id 1 2 3 4 ... 100
user_id
100 1.0 0.0 1.0 0.0 ... 0.0
101 1.0 NaN 0.0 NaN ... NaN
. NaN NaN NaN NaN ... NaN
. NaN 0.0 1.0 NaN ... 1.0
. 1.0 0.0 NaN NaN ... NaN
200 1.0 NaN NaN 1.0 ... 1.0
我想在每次迭代中为特定用户(每个行索引)计算1。
(如果需要,您也可以以字典的形式考虑矩阵)
答案 0 :(得分:3)
如果只有df.sum(axis=1)
个值,则使用0, 1
。
如果您的数据可以包含0
或1
以外的其他值,则需要首先创建一个掩码:
s = df.eq(1).sum(axis=1)
print (s)
user_id
100 2
101 1
103 0
105 2
110 1
200 3
dtype: int64