You need to enable JavaScript to run this app. 如何用Python筛选亚马逊评论DataFrame中各评分均至少有n条评论的商品
优惠活动
大模型
产品
解决方案
定价
更多

如何用Python筛选亚马逊评论DataFrame中各评分均至少有n条评论的商品

实现思路与代码示例

你可以通过两次分组统计完成筛选,具体步骤如下:

前置准备

首先做好数据预处理,避免异常值干扰统计结果:

  • 统一Product_ID的大小写,避免把相同商品识别为不同商品
  • 过滤Rating列的异常值,仅保留1-5分的有效评论
import pandas as pd

# 统一商品ID为小写(可根据你的实际数据格式调整)
df['Product_ID'] = df['Product_ID'].str.lower()
# 过滤无效评分
df = df[df['Rating'].between(1,5)]

核心筛选逻辑

首先设置你要求的单评分最低评论数阈值n,比如要求每个评分至少10条就设为10:

n = 10

第一步:统计每个商品下不同评分的评论数量

rating_count = df.groupby(['Product_ID', 'Rating'], as_index=False)['reviewText'].count()
rating_count.rename(columns={'reviewText': 'review_cnt'}, inplace=True)

第二步:筛选出满足「每个评分下评论数≥n」的商品
只有当某个商品1-5分共5个档位的评论数都≥n时,才会被保留:

# 统计每个商品符合数量要求的评分个数,仅保留刚好有5个符合档位的商品
qualified_product_ids = rating_count[rating_count['review_cnt'] >= n] \
                        .groupby('Product_ID')['Rating'].count()
qualified_product_ids = qualified_product_ids[qualified_product_ids == 5].index.tolist()

第三步:从原始数据中过滤出符合要求的商品的所有评论

result_df = df[df['Product_ID'].isin(qualified_product_ids)]

结果校验

你可以通过以下代码验证筛选结果是否符合要求:

# 抽取第一个符合要求的商品,查看各评分的评论数
sample_product = qualified_product_ids[0]
print(result_df[result_df['Product_ID'] == sample_product].groupby('Rating')['reviewText'].count())

内容的提问来源于stack exchange,提问作者ShB

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.16 19:54:04