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

Pandas列Dtype为int,调用describe()或可视化时变为float如何解决?

原因说明

  • Pandas的df.describe()默认统计项包含均值、标准差、分位数等浮点型计算结果,因此整列统计输出会统一转为float格式,属于显示层面的逻辑,你的原始int64数据没有发生任何变更。
  • 箱线图的数值显示为float,是可视化库默认的坐标轴刻度格式化规则导致,同样不涉及原始数据类型变化。

解决方案

调整df.describe()的显示格式

  1. 仅保留整数类统计项并强制转int:如果不需要浮点型统计指标,可以筛选对应项后转换类型
# 筛选计数、分位数、最值等整数类统计项,转为int显示
df['Population'].describe()[['count', 'min', '25%', '50%', '75%', 'max']].astype(int)
  1. 自定义浮点显示规则:如果需要保留全部统计项,可以通过Pandas显示设置修改浮点输出格式
# 临时设置本次输出的浮点值不带小数位,不影响全局配置
df.describe().style.format(precision=0)

# 若要全局生效,可修改Pandas全局显示选项
# pd.set_option('display.float_format', lambda x: f'{x:.0f}')

调整箱线图的刻度格式

针对matplotlib/seaborn绘制的箱线图,只需手动指定坐标轴刻度为整数格式即可:

import matplotlib.pyplot as plt
import matplotlib.ticker as ticker

# 以pandas自带boxplot为例,seaborn的boxplot逻辑完全一致
ax = df.boxplot(column='Population')
# 设置y轴刻度按整数显示
ax.yaxis.set_major_formatter(ticker.FormatStrFormatter('%d'))
plt.show()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 02:54:07