Введение
В этом руководстве мы узнаем о методе 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.