Sobes.tech
Middle
41

U Pandas-u postoji kolona tipa int, ali u jednoj liniji nedostaje vrednost (NULL). Koji će biti tip podataka te kolone?

Компаније где су питане
Бюро 1440Бюро 1440

Одговор од АИ

sobes.tech АИ

В Pandas, если столбец изначально был типа int, но в одной из строк значение отсутствует (NULL), то Pandas автоматически преобразует тип этого столбца в float64. Это связано с тем, что стандартный тип int в Pandas не поддерживает значения NaN, а float64 — поддерживает.

Пример:

import pandas as pd
import numpy as np

df = pd.DataFrame({'A': [1, 2, np.nan]})
print(df.dtypes)

Вывод будет:

A    float64
dtype: object

Если нужно сохранить целочисленный тип с поддержкой пропусков, можно использовать тип Int64 (с большой буквы I), который поддерживает nullable integer:

df = pd.DataFrame({'A': pd.Series([1, 2, None], dtype='Int64')})
print(df.dtypes)

Вывод:

A    Int64
dtype: object