У меня есть uint64
колонки в моей DataFrame, но когда я конвертировать что DataFrame в список питона Dict с помощью DataFrame.to_dict('record')
, в чем ранее uint64
получает волшебным образом преобразуется в поплавок:изменения DTYPE при использовании DataFrame.to_dict
In [24]: mid['bd_id'].head()
Out[24]:
0 0
1 6957860914294
2 7219009614965
3 7602051814214
4 7916807114255
Name: bd_id, dtype: uint64
In [25]: mid.to_dict('record')[2]['bd_id']
Out[25]: 7219009614965.0
In [26]: bd = mid['bd_id']
In [27]: bd.head().to_dict()
Out[27]: {0: 0, 1: 6957860914294, 2: 7219009614965, 3: 7602051814214, 4: 7916807114255}
Как я могу избежать этого странного поведения?
обновление
как ни странно, если я использую to_dict()
вместо to_dict('records')
, то bd_id
столбец будет иметь тип Int:
In [43]: mid.to_dict()['bd_id']
Out[43]:
{0: 0,
1: 6957860914294,
2: 7219009614965,
...