Я начинаю срывать волосы с этим - так что я надеюсь, что кто-то может помочь. У меня есть pandas DataFrame, который был создан из электронной таблицы Excel с помощью openpyxl. Полученный DataFrame выглядит так:
print image_name_data
id image_name
0 1001 1001_mar2014_report
1 1002 1002_mar2014_report
2 1003 1003_mar2014_report
[3 rows x 2 columns]
... со следующими типами данных:
print image_name_data.dtypes
id float64
image_name object
dtype: object
Проблема в том, что числа в столбце id являются, по сути, идентификационными номерами, и мне нужно рассматривать их как строки. Я попытался преобразовать столбец id в строки, используя:
image_name_data['id'] = image_name_data['id'].astype('str')
Это кажется немного уродливым, но оно создает переменную типа "объект", а не "float64":
print image_name_data.dyptes
id object
image_name object
dtype: object
Однако созданные строки имеют десятичную точку, как показано:
print image_name_data
id image_name
0 1001.0 1001_mar2014_report
1 1002.0 1002_mar2014_report
2 1003.0 1003_mar2014_report
[3 rows x 2 columns]
Как преобразовать столбец float64 в pandas DataFrame в строку с заданным форматом (в данном случае, например, "% 10.0f" )?