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

如何将pandas value_counts结果转为指定类型并计算列占总计百分比?

解决DataFrame列值占比转原生Python Float字典的问题

可行代码实现

直接通过字典推导式手动转换类型,避开numpy浮点型:

# 先获取各值的频次统计
status_counts = df['marital_status'].value_counts()
total = status_counts.sum()
# 逐个将占比转换为Python原生float,再构建字典
percentage_dict = {status: float(count / total) for status, count in status_counts.items()}

为什么原有方法失效?

value_counts()返回的Series元素本身是numpy数值类型,即便用transform或astype(float)处理,最终转字典时得到的还是numpy的float64类型。而通过float()显式转换,能强制得到Python原生的浮点类型。

验证类型

可以通过以下代码确认结果类型:

# 取任意键值查看类型
print(type(percentage_dict[next(iter(percentage_dict.keys()))]))
# 输出应为 <class 'float'>

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 08:01:24