Pandas DataFrame年份列显示为2016.0 如何去除末尾的.0
Pandas浮点数年份格式转标准整数方案
出现年份带.0的情况通常是列中存在空值、或前期计算逻辑输出为浮点类型导致的,可根据实际场景选择以下处理方式:
- 无空值场景直接转换
如果确认Start_year列没有空值,直接转换为int类型即可:
df['Start_year'] = df['Start_year'].astype(int)
转换后原2016.0会直接变为整数格式的2016。
- 存在空值场景兼容转换
如果列中包含NaN空值,直接转int会报错,可使用pandas支持的可空整数类型Int64(首字母大写):
df['Start_year'] = df['Start_year'].astype('Int64')
转换后空值会保留为<NA>,有效年份自动转为整数,不会保留.0后缀。
- 仅展示时隐藏.0(不修改原数据类型)
如果不需要修改原始数据的浮点类型,仅在输出展示时不显示小数位,可全局修改pandas浮点显示格式:
pd.options.display.float_format = '{:,.0f}'.format
该设置生效后所有浮点型的整数数值都会默认隐藏小数位展示。
内容的提问来源于stack exchange,提问作者Hima
相关产品推荐
相关产品推荐

