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

如何筛选1985-2016年每年自杀人数Top3的国家?

筛选1985-2016年每年自杀人数Top3国家

你已经完成了关键的一步——计算每年每个国家的自杀总数,接下来可以通过以下两种方法筛选出每年的前3名:

方法一:使用nlargest分组筛选

先将分组求和的结果转换为DataFrame,再按年份分组,对每组应用nlargest获取自杀数最高的3个国家:

# 1. 先过滤1985-2016年的数据集
filtered_df = df[(df['year'] >= 1985) & (df['year'] <= 2016)]
# 计算每年每个国家的自杀总数
suicide_year_country = filtered_df.groupby(['year', 'country'])['suicides_no'].sum().reset_index()

# 2. 按年份分组,筛选每组前3
top3_per_year = suicide_year_country.groupby('year').apply(lambda g: g.nlargest(3, 'suicides_no')).reset_index(drop=True)

方法二:先排序再取每组前3

先按年份升序、自杀数降序排序,再按年份分组取前3条记录,这种方法在大数据集上效率更高:

# 1. 计算总数并排序
suicide_sorted = filtered_df.groupby(['year', 'country'])['suicides_no'].sum().reset_index()
suicide_sorted = suicide_sorted.sort_values(['year', 'suicides_no'], ascending=[True, False])

# 2. 分组取前3
top3_per_year = suicide_sorted.groupby('year').head(3)

两种方法最终都会得到一个包含year、country、suicides_no列的DataFrame,其中每一行对应某一年自杀数排名前3的国家。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 20:15:00