Панды во многом зависят от Numpy.Среди этих вещей нулевое значение np.nan
.Numpy определяет это значение как dtype
np.float
.Pandas намеревается хранить столбцы данных в виде одномерных массивов Numpy.Numpy требует, чтобы все значения были приведены к одинаковым значениям dtype
.
. Это будет исправлено, если Numpy имеет нулевое значение для целых чисел, но это не ... пока.
Когда Пандычитает словарь и понимает, что все значения являются числовыми, у него есть два варианта.
- Привести весь столбец как
dtype
object
и сохранить значения [10, np.nan]
- Приведениевесь столбец как
dtype
float
и увеличивает целое число [10.0, np.nan]
Панд выбирает второй вариант, потому что почти всегда люди будут делать численные расчеты, и наличие float
оптимизировано для такихвещей, в то время как object
нет.
В другом столбце, [10, "Nan"]
содержит строковые объекты, и Панды не пытаются преобразовать их в float
и оставляют их как object
.Вам решать, как это исправить.