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

如何基于现有DataFrame生成包含Top10高频城市的临时数据集

Pandas 筛选出现频次Top10城市对应全量数据方案

原代码错误原因

  • 语法非法:df_city[df_city['city_name']]属于错误索引写法,pandas行筛选不支持直接传入城市名Series作为参数
  • 逻辑偏差:没有先统计城市出现次数,直接按城市名称排序取前10,不符合「出现次数最多」的筛选规则
  • 结果不符合预期:即使代码能运行,最终输出也只有10条城市名字段值,无法保留原DataFrame的所有列数据

正确实现代码

常规写法(取频次前10,并列第10仅保留先出现的)

# 第一步:统计各城市出现次数,取出现次数最高的10个城市名称列表
top10_cities = df_city['city_name'].value_counts().head(10).index.tolist()
# 第二步:筛选原数据集里属于这10个城市的所有行,保留全部字段
df_temp = df_city[df_city['city_name'].isin(top10_cities)]

兼容并列写法(频次并列第10的城市全部保留)

# 用nlargest的keep参数保留所有并列第10的城市
top10_cities = df_city['city_name'].value_counts().nlargest(10, keep='all').index.tolist()
df_temp = df_city[df_city['city_name'].isin(top10_cities)]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 19:54:03