Почему панды добавляют '.0' в конце строки? - PullRequest
0 голосов
/ 17 октября 2019

Я обрабатываю CSV-файл. Исходный файл содержит значение как «20190801». Pandas обнаруживает его как int или float для разных файлов. Но перед записью вывода я преобразую все столбцы в строку, и тип данных показывает все столбцы как объект. Но вывод, содержащий .0 в конце. Почему это так?

Например: 20190801.0

   for col in data.columns:
        data[col] = data[col].astype(str)
    print(data.dtypes) <-- prints all columns datatypes as object

    data.to_csv(neo_path, index=False)

1 Ответ

0 голосов
/ 17 октября 2019

Я исправил вот так;Я добавил параметр преобразователей и убедился, что все эти проблемные столбцы в моем случае должны оставаться в виде строк.

 data = pd.read_csv(filepath, converters={"SiteCode":str,'Date':str,'Tank ID':str,'SIRA RECORD ID':str}
....
 data.to_csv(neo_path,index=False)

В этом случае я избавляюсь от преобразования всех типов столбцов в виде строк, как указано в моем вопросе.

 for col in data.columns:
        data[col] = data[col].astype(str) 

: Это не сработало при записи вывода в csv. Конвертирует строку обратно в float

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...