При сохранении Pandas DataFrame в csv некоторые целые числа преобразуются в поплавки.
Это происходит, когда столбец с поплавками имеет отсутствующие значения (np.nan
).
Есть ли простой способ избежать этого? (Особенно в автоматическом режиме - я часто имею дело со многими столбцами различных типов данных.)
Например
import pandas as pd
import numpy as np
df = pd.DataFrame([[1,2],[3,np.nan],[5,6]],
columns=["a","b"],
index=["i_1","i_2","i_3"])
df.to_csv("file.csv")
дает
,a,b
i_1,1,2.0
i_2,3,
i_3,5,6.0
То, что я хотел бы получить,
,a,b
i_1,1,2
i_2,3,
i_3,5,6
EDIT: я полностью осведомлен о поддержке целых NA - Pandas Предостережений и Gotchas. Вопрос в том, что является хорошим обходным решением (особенно в случае, если имеется много других столбцов разных типов, и я заранее не знаю, какие столбцы "целочисленные" имеют отсутствующие значения).