我试图在不更改数据类型的情况下更改 pd 数据框列的格式。这是我所拥有的: df = pd.DataFrame({'Age': [24.0, 32.0}])
我想在 24 32
类型或 24.00 32.00
中表示年龄并将它们保持为浮点数。这是我能做的:
df['Age'].map('{:,.2f}'.format)
但是这一行将数据类型更改为对象。我也在尝试申请:`
df = df.style.format({'Age': '{:,.2f}'.format})`
但其中有问题。请帮助找出正确的方法。
原文由 Jerry 发布,翻译遵循 CC BY-SA 4.0 许可协议
您的 dataFrame 本身是一个 float 类型。
数据框:
检查 DataFrame 类型:
检查 DataFrame 列类型的数据类型:
或者甚至检查:
您用来四舍五入两位数零的方式是正确的,但再次将它们转换为浮点数将使它们保持为单零作为浮点数。
因为你有兴趣保持模拟像 int 值
24, 32
或24.00 & 32.00
,如果你只对浮点数的显示感兴趣那么你可以做pd.set_option('display.float_format','{:.0f}'.format)
‘实际上会影响您的数据。对于没有前导零的浮动格式
对于浮动格式
替代方式
设置显示精度选项: