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

如何让Pandas DataFrame的float列中整数显示为无小数点形式?

实现Pandas DataFrame列混合显示整数与浮点数

当然可行,下面提供几种实用的实现方式,按需选择:

方法1:修改数据类型,永久转换显示格式

这种方式会把列转为object类型,直接改变数据存储形式,后续查看或导出时都会按整数/浮点数混合显示:

import pandas as pd

# 示例数据
df = pd.DataFrame({'target_col': [0.0, 0.555, 0.2323, 0.0, 50.0]})

# 自定义转换函数
def convert_num(x):
    # 判断是否为整数浮点数
    if x.is_integer():
        return int(x)
    return x

# 应用到目标列
df['target_col'] = df['target_col'].apply(convert_num)
print(df)

输出结果:

target_col
0          0
1      0.555
2     0.2323
3          0
4         50

方法2:仅修改显示样式,不改变底层数据

如果不想修改原数据的float类型,只是在展示时调整格式(比如Jupyter Notebook报表、可视化输出),可以用style.format:

# 保持列的float类型,仅调整显示逻辑
styled_df = df.style.format(lambda x: f"{x:.0f}" if x.is_integer() else x)
display(styled_df)

这种方式不会改变DataFrame的底层数据类型,只是渲染时替换显示文本,适合仅需展示的场景。

注意事项

  • 方法1会将列转为object类型,若后续需要做数值计算,可能需要再转回float;
  • 若列中存在NaN值,需要在自定义函数中额外处理,避免报错,比如:
    def convert_num(x):
        if pd.isna(x):
            return x
        if x.is_integer():
            return int(x)
        return x
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 11:55:27