你好
我有一个问题,一个非常基本的问题。假设我有一个数据集,其中有一行电影和一列电影的用户评分。我需要找到与电影2同时出现的电影。例如,对于电影1,电影2评分员中同时对电影1进行评分的百分比为0.5—同时观看电影1和电影2的人数为1除以观看和评分电影2的总人数
数据集:
import numpy as np
df = np.array([['','Movie1','Movie2','Movie3'],
['User1',1,0,2],
['User2',2,4,4],
['User3',4,0,4],
['User4',0,2,4]])
print(pd.DataFrame(data=df[1:,1:],
index=df[1:,0],
columns=df[0,1:]))
下一行查找为电影评分的用户数。我的问题是如何再添加一个条件来检查col movie2中的对应单元格是否不是0-0表示某人没有看过电影,它在原始数据集中被标记为缺少的值:
df.apply(lambda x: x[x!=0]).count(axis=0)
代码中有两件事
首先,通过
np.array
创建数据帧,基于官方文档np.array
,每次只接受一种数据类型,因此numeric
会自动转换为string
解决方案
更改
apply
代码相关问题 更多 >
编程相关推荐