Python npzero+;ITERTULES替代方案
我有这样一个数据帧:Python npzero+;ITERTULES替代方案,python,pandas,numpy,Python,Pandas,Numpy,我有这样一个数据帧: user_id anime_id user_rating 0 1 20 7.808497 1 3 20 8.000000 2 5 20 6.000000 3 6 20 7.808497 4 10 20 7.808497 它看起来像是玩推荐系统的基本数据框架 我有大约700万行,我减少了一点数据帧,如下所示: df = df[df["user_id"] < 2000] ratings = np.zeros((n_
user_id anime_id user_rating
0 1 20 7.808497
1 3 20 8.000000
2 5 20 6.000000
3 6 20 7.808497
4 10 20 7.808497
它看起来像是玩推荐系统的基本数据框架
我有大约700万行,我减少了一点数据帧,如下所示:
df = df[df["user_id"] < 2000]
ratings = np.zeros((n_users, n_items))
for row in df.itertuples():
ratings[row[1]-1, row[2]-1] = row[3]
使用ratings=np.zero((n个用户,n个项目))
我得到了一个巨大的矩阵,导致内存错误
我遇到了第二个问题,如果我过滤了一些样本,此行不会返回内存错误,但我有一个索引器
这样:
索引器:索引950超出了轴0的范围,大小为949
存储为稀疏矩阵?我在第一行有内存错误,我应该将评级df传递给csr矩阵??添加示例情况?np.零((2000,6000))。nbytes/1000000
给我96(MB)。这对您的环境来说是否太大而导致内存错误?不,但是当我获取整个数据集时,我发现了一个解决方案,我现在的问题是索引超出范围。