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

Pandas DataFrame统计高频国籍及有推荐用户占比相关问题

Pandas DataFrame 两项操作实现代码

1. 筛选Nationality列频次最高的5个国家及对应次数

你之前使用df.groupby(['Nationality']).sum()达不到效果的原因是,sum()方法会对分组后的数值列做求和运算,而非统计每个分组的出现频次。
你可以直接用更简便的value_counts()方法实现需求:

# 直接统计频次并取前5
top5_nationality = df['Nationality'].value_counts().head(5)

如果需要用groupby语法实现,写法如下:

top5_nationality = df.groupby('Nationality', as_index=False)['Nationality'] \
                     .agg(count='size') \
                     .sort_values('count', ascending=False) \
                     .head(5)

返回的结果会包含国家名称和对应的出现次数。

2. 统计至少有1次推荐的用户占比

直接对referral列做布尔判断后求均值即可,布尔值True会被识别为1、False识别为0,均值就是符合条件的用户占比:

# 占比为0-1区间的小数
referral_rate = (df['referral'] >= 1).mean()
# 如需转成百分比格式
referral_rate_pct = (df['referral'] >= 1).mean() * 100

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 08:15:04