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

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

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

Введение

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

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

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

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

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


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL pandas(("Pandas")) -.-> pandas/DataCleaningGroup(["Data Cleaning"]) pandas(("Pandas")) -.-> pandas/AdvancedOperationsGroup(["Advanced Operations"]) python(("Python")) -.-> python/PythonStandardLibraryGroup(["Python Standard Library"]) python(("Python")) -.-> python/DataScienceandMachineLearningGroup(["Data Science and Machine Learning"]) python(("Python")) -.-> python/DataStructuresGroup(["Data Structures"]) python(("Python")) -.-> python/ModulesandPackagesGroup(["Modules and Packages"]) pandas(("Pandas")) -.-> pandas/DataSelectionGroup(["Data Selection"]) pandas/DataSelectionGroup -.-> pandas/select_columns("Select Columns") pandas/DataSelectionGroup -.-> pandas/select_rows("Select Rows") python/DataStructuresGroup -.-> python/lists("Lists") pandas/DataCleaningGroup -.-> pandas/handle_missing_values("Handling Missing Values") python/ModulesandPackagesGroup -.-> python/importing_modules("Importing Modules") pandas/AdvancedOperationsGroup -.-> pandas/reshape_data("Reshaping Data") python/PythonStandardLibraryGroup -.-> python/data_collections("Data Collections") python/PythonStandardLibraryGroup -.-> python/data_serialization("Data Serialization") python/DataScienceandMachineLearningGroup -.-> python/data_analysis("Data Analysis") subgraph Lab Skills pandas/select_columns -.-> lab-68713{{"Метод reindex в DataFrame библиотеки Pandas"}} pandas/select_rows -.-> lab-68713{{"Метод reindex в DataFrame библиотеки Pandas"}} python/lists -.-> lab-68713{{"Метод reindex в DataFrame библиотеки Pandas"}} pandas/handle_missing_values -.-> lab-68713{{"Метод reindex в DataFrame библиотеки Pandas"}} python/importing_modules -.-> lab-68713{{"Метод reindex в DataFrame библиотеки Pandas"}} pandas/reshape_data -.-> lab-68713{{"Метод reindex в DataFrame библиотеки Pandas"}} python/data_collections -.-> lab-68713{{"Метод reindex в DataFrame библиотеки Pandas"}} python/data_serialization -.-> lab-68713{{"Метод reindex в DataFrame библиотеки Pandas"}} python/data_analysis -.-> lab-68713{{"Метод reindex в DataFrame библиотеки Pandas"}} end

Импорт библиотеки 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.