Как заставить pandas DataFrame сохранять значения None
даже при использовании astype()
?
Подробности
Поскольку конструктор pd.DataFrame
не предлагает составных dtype
параметр, я фиксирую типы (требуется для to_parquet()
) с помощью следующей функции:
def _typed_dataframe(data: list) -> pd.DataFrame:
typing = {
'name': str,
'value': np.float64,
'info': str,
'scale': np.int8,
}
result = pd.DataFrame(data)
for label in result.keys():
result[label] = result[label].astype(typing[label])
return result
К сожалению, result[info] = result[info].astype(str)
преобразует все значения None
в info
в "None"
строки. Как я могу запретить это, то есть сохранять None
значения?
Точнее: None
значения в data
становятся np.nan
в result
DataFrame, которые становятся "nan"
от astype(str)
, которые становятся "None"
при извлечении из result
.