我有一个数据集(称为“数据”),其中包含书籍列表以及用户在单个级别(列= userid,isbn,书名,书评)对书的评价方式。
我要为图书的总体(汇总)评分和评分数量创建一个新功能。然后,我想整理数据集,使其仅包含具有一定评分的图书。
我对评分的数量做了:
rating_count = data.groupby('Book-Title')['Book-Rating'].count().to_frame()
rating_count.rename(columns={'Book-Rating':'Rating-Count'}, inplace=True)
data = data.merge(rating_count, on='Book-Title', how='inner')
m = rating_count.quantile(.9) # trim threshols number
q_books = data.copy().loc[data['Rating-Count'] >= m] # new subsample
...上升到最后一行
ValueError:只能比较标记相同的Series对象
我们将不胜感激。谢谢。
答案 0 :(得分:1)
我随机生成了一个结构类似的数据框并运行您的代码。
可能会引发错误的是代码的最后一行,特别是... >= m]
。
m
不会给您整数或浮点数;它具有系列类型。例如,在我的情况下,m
是:
Rating-Count 3.0
Name: 0.9, dtype: float64
m[0]
给了我3.0
,因此代码按预期工作。
# fix the last line of your code
q_books = data.copy().loc[data['Rating-Count'] >= m[0]]