Я написал сценарий, который берет CSV-файл в качестве ввода, манипулирует данными с помощью pandas и создает другой файл csv.Pandas преобразует значения int в float в dataframe
Все в порядке, однако pandas преобразует целочисленные значения в двойные по умолчанию. , например.
в формате CSV перед:
5f684ee8-7398-914d-9d87-7b44c37ef081,France,44,72000,No,isBool("true")
в CSV после:
E84E685F-9873-4D91-9D87-7B44C37EF081,France,44.0,72000.0,No,True
Здесь 44 и 72000 заменяются на 44,0 и 72000,0
Я знаю, как превратить их в междунар с помощью применить() в dataframe, однако этот скрипт будет общим, и я сначала хочу настроить pandas.
В принципе, я ожидаю, что панды не ставят .0, если это не плавающее число.
Спасибо.
Кажется, в столбцах некоторые 'значения NaN', поэтому' int' отливают 'float' – jezrael
проверить его' ФР [ДФ [] ISNULL 'Col' (.)] и возможное решение заменяется на «NaN» на некоторый скаляр, например '0' -' df [['col', 'col1']] = df [['col', 'col1']]. fillna() ' – jezrael
Вы пытались установить аргумент float_format pandas.DataFrame.to_csv в соответствии с вашими требованиями? http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.to_csv.html Кажется, он делает то, что вы хотите – tagoma