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

Python DataFrame统计各国参与的不同奥运体育项目数量方法

奥运项目统计解决方案

核心逻辑是按国家分组后,对项目字段做去重计数,以下是pandas环境下的实现方法:

  • 最简实现(一行代码完成统计)
    假设你的原始DataFrame名为olympic_df,直接运行以下代码即可:
result = olympic_df.groupby('country')['sport'].nunique().reset_index(name='distinct_sport_count')

参数说明:

  • groupby('country'):按国家字段聚合所有同国家的记录
  • ['sport'].nunique():对每个国家分组内的项目字段计算去重后的数量,自动过滤同国家重复上报的同项目记录
  • reset_index(name='distinct_sport_count'):将分组统计后的结果转换为标准DataFrame格式,同时将统计列重命名为可自定义的名称
  • 先去重再统计(适合需要留存去重后明细的场景)
    先对国家、项目两列做全局去重,再按国家统计行数即可,结果和第一种方法完全一致:
# 先拿到国家+项目的去重明细
distinct_country_sport = olympic_df[['country', 'sport']].drop_duplicates()
# 统计每个国家的项目数
result = distinct_country_sport.groupby('country').size().reset_index(name='distinct_sport_count')

如果需要排除国家字段为空的无效记录,可以在分组前增加空值过滤逻辑:
olympic_df.dropna(subset=['country']).groupby('country')['sport'].nunique().reset_index(name='distinct_sport_count')

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 13:15:02