Ваши данные сами создают тип float.
Dataframe:
>>> df
Age
0 24.0
1 32.0
Проверьте тип DataFrame:
>>> df.dtypes
Age float64
dtype: object
проверьте dtype для типа столбца DataFrame:
>>> df.Age
0 24.0
1 32.0
Name: Age, dtype: float64
ИЛИ даже проверить как:
>>> df['Age'].dtype.kind
'f'
То, как вы используете для округления двузначных нулей, это правильно, но преобразование их снова в число с плавающей точкой приведет к тому, что они останутся в одинарном нуле как плавающие.
>>> df['Age'].map('{:,.2f}'.format)
0 24.00
1 32.00
Name: Age, dtype: object
Поскольку вас интересует сохранение имитаций типа int 24, 32
или 24.00 & 32.00
, если вас интересует только отображение чисел с плавающей запятой, вы можете сделать pd.set_option('display.float_format','{:.0f}'.format)
, что на самом деле не влияет на ваши данные.
Для плавающего формата без начальных нулей
>>> pd.set_option('display.float_format','{:.0f}'.format)
>>> df
Age
0 24
1 32
>>> df.dtypes
Age float64
dtype: object
Для плавающего формата
>>> pd.set_option('display.float_format','{:.2f}'.format)
>>> df
Age
0 24.00
1 32.00
>>> df.dtypes
Age float64
dtype: object
Альтернативный способ
Установите параметр точности отображения:
>>> pd.set_option('precision', 0)
>>> df
Age
0 24
1 32
>>> df.dtypes
Age float64
dtype: object