Метод reindex в DataFrame библиотеки Pandas

Beginner

Введение

В этом руководстве мы узнаем о методе DataFrame.reindex() в библиотеке Python pandas. Мы рассмотрим, как изменить индекс и столбцы DataFrame с использованием этого метода. Метод DataFrame.reindex() позволяет нам согласовать DataFrame с новым индексом, заполняя пустые значения в местах, где в предыдущем индексе не было значений.

Советы по виртуальной машине

После запуска виртуальной машины (VM) нажмите в левом верхнем углу, чтобы переключиться на вкладку Notebook и получить доступ к Jupyter Notebook для практики.

Иногда вам может потребоваться подождать несколько секунд, пока Jupyter Notebook загрузится. Валидация операций не может быть автоматизирована из-за ограничений Jupyter Notebook.

Если у вас возникнут проблемы во время обучения, не стесняйтесь обращаться к Labby. Оставьте отзыв после занятия, и мы оперативно решим проблему для вас.

Импортируйте библиотеку pandas и создайте DataFrame

Начнем с импорта библиотеки pandas и создания DataFrame. Мы будем использовать этот DataFrame для демонстрации метода DataFrame.reindex().

import pandas as pd

## Create a DataFrame
df = pd.DataFrame([[1, 6, 2], [3, 4, 6], [12, 1, 0]], columns=['A', 'B', 'C'], index=['index_1', 'index_2', 'index_3'])

Измените индексы DataFrame с использованием параметра index

Для изменения индекса DataFrame передайте список новых меток индекса в метод DataFrame.reindex(). Любые метки индекса, которых нет в исходном DataFrame, будут заполнены значениями NaN.

## Reindex the DataFrame with a new index
new_index = ['index_1', 'index_2', 'index_4']
reindexed_df = df.reindex(index=new_index)

print(reindexed_df)

Вывод:

         A    B    C
index_1  1.0  6.0  2.0
index_2  3.0  4.0  6.0
index_4  NaN  NaN  NaN

Измените индексы DataFrame с использованием параметра columns

Аналогично, вы можете изменить столбцы DataFrame с помощью метода DataFrame.reindex(). Передайте список новых меток столбцов в параметр columns. Любые столбцы, которых нет в исходном DataFrame, будут заполнены значениями NaN.

## Reindex the DataFrame with new columns
new_columns = ['A', 'C', 'D']
reindexed_df = df.reindex(columns=new_columns)

print(reindexed_df)

Вывод:

         A    C    D
index_1  1.0  2.0  NaN
index_2  3.0  6.0  NaN
index_3  12.0  0.0  NaN

Заполните нулевые значения с использованием параметра fill_value

Если вы хотите заполнить пустые значения определенным значением, вы можете использовать параметр fill_value метода DataFrame.reindex(). Укажите желаемое значение, которое будет использоваться для заполнения пустых значений.

## Reindex the DataFrame and fill null values with 2
new_index = ['index_1', 'index_2', 'index_4']
reindexed_df = df.reindex(index=new_index, fill_value=2)

print(reindexed_df)

Вывод:

         A  B  C
index_1  1  6  2
index_2  3  4  6
index_4  2  2  2

Резюме

В этом уроке мы научились изменять индексы DataFrame с использованием метода DataFrame.reindex() в библиотеке pandas. Мы рассмотрели, как изменять индексы и столбцы DataFrame, заполнять пустые значения и задавать значение для заполнения пустых значений. Знание того, как правильно изменять индексы DataFrame, полезно для манипулирования и выравнивания данных в pandas.