【发布时间】:2018-03-07 10:53:14
【问题描述】:
我有一个名为 df_ratings 的 pandas 数据框,大约有一百万行和 3 列。
我想获取这个数据框中的数据,对其进行转换,然后将其放入一个名为 ratings_matrix 的 numpy 矩阵中
我编写了以下代码来实现这一点:
for i in range(df_ratings.shape[0]): #fill matrix with ratings. zero = unrated
current_user = df_ratings.iloc[i, 0] - 1
current_movie = rated_movies_dictionary[df_ratings.iloc[i, 1]]
current_rating = df_ratings.iloc[i, 2]
ratings_matrix[current_movie, current_user] = current_rating
它可以工作,但速度很慢。在 for 循环中迭代数据帧的每一行很慢。有没有更快的方法来做到这一点?
【问题讨论】:
-
没有任何数据很难判断。但是你可以摆脱循环。