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

如何将Pandas Series类型的众数结果转换为整数?

如何将Pandas Series类型的众数结果转换为整数?

我完全懂你的困扰!Pandas里的mode()方法返回的是Series类型,这是因为它考虑到了可能存在多个众数的情况(比如有多个数值出现次数相同且都是最多的)。不过如果你的数据集里确定只有一个众数,那有几种简单的方法可以把结果转成整数:

方法1:用.iloc[0]提取第一个元素

这是最符合Pandas索引规范的做法,直接定位到Series的第一个元素:

duration = inter['duration'].mode().iloc[0]

执行后再用type(duration)检查,就会发现它变成int类型啦。

方法2:用.item()方法提取标量值

这个方法专门用来从单元素的Series或DataFrame中提取原始的Python标量,用法很直观:

duration = inter['duration'].mode().item()

如果你的mode()结果只有一个值,这个方法会直接返回对应的整数。

方法3:用.values[0]获取数组中的第一个元素

虽然这个方法也能生效,但相比.iloc来说,它更偏向底层的数组操作,推荐优先用前面两种:

duration = inter['duration'].mode().values[0]

小提醒:如果不确定数据集里是否存在多个众数,可以先判断下mode()结果的长度:

modes = inter['duration'].mode()
if len(modes) > 1:
    print("存在多个众数:", modes.tolist())
else:
    duration = modes.iloc[0]

备注:内容来源于stack exchange,提问作者user234568

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.14 14:38:08