Работа с целочисленными значениями, допускающими значение null

PythonPythonBeginner
Практиковаться сейчас

This tutorial is from open-source community. Access the source code

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

В этом практическом занятии мы изучим, как использовать целочисленный тип данных с возможностью принимать значение 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, можно более эффективно обрабатывать целочисленные данные с пропущенными значениями.