Введение
В этом практическом занятии мы изучим, как использовать целочисленный тип данных с возможностью принимать значение null в pandas, что является эффективным способом обработки целочисленных данных, которые могут содержать пропущенные значения. Мы узнаем, как создавать массивы с данным типом, выполнять операции и эффективно обрабатывать пропущенные значения.
Советы по использованию ВМ
После запуска виртуальной машины кликните в левом верхнем углу, чтобы переключиться на вкладку Notebook и получить доступ к Jupyter Notebook для практики.
Иногда вам может потребоваться подождать несколько секунд, пока Jupyter Notebook полностью загрузится. Валидация операций не может быть автоматизирована из-за ограничений Jupyter Notebook.
Если вы сталкиваетесь с проблемами во время обучения, не стесняйтесь обращаться к Labby. Оставьте отзыв после занятия, и мы оперативно решим проблему для вас.
Создание массивов с целочисленными значениями, допускающими значение null
Pandas предоставляет класс IntegerArray для создания массивов с целочисленными значениями, допускающими значение null. Давайте начнем с создания IntegerArray.
## Import necessary libraries
import pandas as pd
import numpy as np
## Create an IntegerArray with missing values
arr = pd.array([1, 2, None], dtype=pd.Int64Dtype())
## Output: <IntegerArray>
## [1, 2, <NA>]
## Length: 3, dtype: Int64
Вы также можете использовать строковый псевдоним "Int64" для указания типа данных при создании массива. Все значения, похожие на NA, заменяются на pandas.NA.
## Create an IntegerArray using the "Int64" string alias
arr = pd.array([1, 2, np.nan], dtype="Int64")
## Output: <IntegerArray>
## [1, 2, <NA>]
## Length: 3, dtype: Int64
Хранение IntegerArray в DataFrame или Series
После создания IntegerArray вы можете сохранить его в DataFrame или Series. Давайте создадим Series из созданного нами IntegerArray.
## Create a Series from the IntegerArray
series = pd.Series(arr)
Выполнение операций с массивами с целочисленными значениями, допускающими значение null
Вы можете выполнять различные операции с массивами с целочисленными значениями, допускающими значение null, такие как арифметические операции, сравнения и извлечение срезов.
## Create a Series with nullable integer type
s = pd.Series([1, 2, None], dtype="Int64")
## Perform arithmetic operation
s_plus_one = s + 1 ## adds 1 to each element in the series
## Perform comparison
comparison = s == 1 ## checks if each element in the series is equal to 1
## Perform slicing operation
sliced = s.iloc[1:3] ## selects the second and third elements in the series
Обработка пропущенных значений с использованием pandas.NA
Класс IntegerArray использует pandas.NA в качестве скалярного пропущенного значения. Когда вы выбираете отдельный пропущенный элемент, оно вернет pandas.NA.
## Create an IntegerArray with a missing value
a = pd.array([1, None], dtype="Int64")
## Slice the second element which is a missing value
missing_value = a[1]
## Output: <NA>
Резюме
В этом практическом занятии показано, как работать с целочисленными типами данных, допускающими значение null, в pandas, включая создание массивов, их хранение в DataFrame или Series, выполнение операций и обработку пропущенных значений. Используя целочисленный тип данных, допускающий значение null, можно более эффективно обрабатывать целочисленные данные с пропущенными значениями.