You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何筛选数据集Top10高频酒店的评论?解决Pandas代码报错

解决方法:提取Top10酒店评论的正确写法

错误原因:你直接用DF['hotels']和DF['hotels'].value_counts()[:10]做相等对比时,后者返回的是以酒店名为索引、出现次数为值的Series,而前者是原数据集中每行的酒店名称序列,两者索引完全不匹配,因此触发了“只能对比标签一致的Series对象”的错误。

正确实现方式

方法一:直接获取Top10酒店名称列表(推荐)

这是最简洁高效的方式,先提取出现次数最多的10家酒店名称,再用isin()筛选对应评论:

# 获取Top10酒店的名称列表
top10_hotels = DF['hotels'].value_counts().head(10).index.tolist()

# 筛选这些酒店的评论
top10_reviews = DF[DF['hotels'].isin(top10_hotels)]['review']

方法二:通过合并数据集实现(可选,保留次数信息)

如果后续需要用到酒店的评论次数,可以先把次数统计转为DataFrame,再和原数据集合并筛选:

# 计算Top10酒店的评论次数,转为带列名的DataFrame
hotel_counts = DF['hotels'].value_counts().head(10).reset_index(name='review_count')
hotel_counts.columns = ['hotels', 'review_count']

# 合并原数据集,筛选目标评论
top10_reviews = DF.merge(hotel_counts, on='hotels')['review']

执行上述代码后,top10_reviews就是你需要的Top10酒店的评论集合,可直接用于后续情感分析。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 06:10:35