Как удалить пустое значение в фрейме данных?
У меня есть фрейм данных airline_passengers.
В датасете есть одно пустое значение.
Инициализируем переменную с данными:
airline_passengers = pd.read_csv('international-airline-passengers.csv')`.
Пытаюсь удалить из переменной пустое значение:
airline_passengers = airline_passengers[~np.isnan(airline_passengers)]`
Получаю ошибку:
ufunc "isnan"не поддерживается для типов входных данных, и входные данные не могут быть безопасно принудительно привязаны к любым поддерживаемым типам в соответствии с правилом приведения "безопасно"
Почему так? Чуть далее в коде я тем же способом переназначения переменной удалил пустое значение:
series = boxcox(all_series['International airline passengers: monthly totals in thousands'], 0)
series = series[~np.isnan(series)] # удалим единственное значение Nan из массива
Здесь all_series — словарь различных датасетов (вернее, извлеченных из них Series):
all_series = {
"Monthly sales of company in january": sales_of_company_jan['Count'],
"Monthly sales of company in 1960": sales_of_company_1960['Count'],
"International airline passengers: monthly totals in thousands": airline_passengers['International airline passengers: monthly totals in thousands. Jan 49 ? Dec 60']
}
Ответы (1 шт):
Автор решения: MaxU
→ Ссылка
Попробуйте так:
url = "https://raw.githubusercontent.com/Alex-zlat/Kazantcev_DS-25/master/MACHINE_LEARNING/TIME_SERIES/1_Introduction_to_time_series/international-airline-passengers.csv"
df = pd.read_csv(url, skiprows=1, header=None, names=["Month", "Val"]).dropna()
результат:
In [15]: df
Out[15]:
Month Val
0 1949-01 112.0
1 1949-02 118.0
2 1949-03 132.0
3 1949-04 129.0
4 1949-05 121.0
.. ... ...
139 1960-08 606.0
140 1960-09 508.0
141 1960-10 461.0
142 1960-11 390.0
143 1960-12 432.0
[144 rows x 2 columns]
In [16]: df.dtypes
Out[16]:
Month object
Val float64
dtype: object