我正在处理该表单的图书评级数据集

userID | ISBN | Rating
23413    1232     2.5
12321    2311     3.2
23413    2532     1.7
23413    7853     3.8

现在,我需要添加第四列,其中包含每个用户在整个数据集中的评分数:
userID | ISBN | Rating | Ratings_per_user
23413    1232     2.5         3
12321    2311     3.2         1
23413    2532     1.7         3
23413    7853     3.8         3

我试过:
df_new['Ratings_per_user'] = df_new['userID'].value_counts()

但我有个错误:
A value is trying to be set on a copy of a slice from a DataFrame.
Try using .loc[row_indexer,col_indexer] = value instead

整个新列都是NaN

最佳答案

使用:

df_new['Ratings_per_user']=df_new.groupby('userID')['userID'].transform('count')

   userID  ISBN  rating  Ratings_per_user
0   23413  1232     2.5                 3
1   12321  2311     3.2                 1
2   23413  2532     1.7                 3
3   23413  7853     3.8                 3

关于python - 添加带有每位用户( Pandas )的评分数的列,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55792138/

10-15 08:48