🔒 Как сбросить индекс в pandas и вернуть исходный порядок?

Чтобы сбросить индекс в Pandas, вы можете использовать метод reset_index(). Этот метод удаляет текущий индекс и заменяет его на индекс по умолчанию от 0 до N-1. Вот пример:

import pandas as pd

# Создание DataFrame
data = {'Имя': ['Алексей', 'Мария', 'Иван'],
        'Возраст': [25, 28, 30]}
df = pd.DataFrame(data)

# Сброс индекса
df = df.reset_index()

print(df)

В этом примере мы создали DataFrame с именами и возрастами и сбросили индекс с помощью метода reset_index(). Результат будет DataFrame с новым индексом от 0 до N-1.

Детальный ответ

Как сбросить индекс в pandas

Библиотека pandas в Python предоставляет удобные инструменты для работы с данными. Одна из часто задаваемых вопросов новичков в pandas - "как сбросить индекс?". В этой статье я расскажу вам о нескольких способах, которые помогут вам сбросить индекс в pandas.

Метод reset_index()

Первый способ сбросить индекс в pandas - использовать метод reset_index(). Этот метод удаляет текущий индекс и заменяет его на целочисленный по порядку индекс.

import pandas as pd

# Создание примера DataFrame
data = {'Name': ['John', 'Emma', 'Anne'],
        'Age': [25, 28, 31],
        'City': ['New York', 'Paris', 'London']}
df = pd.DataFrame(data)

# Исходный DataFrame с индексом по умолчанию
print(df)
# Вывод:
#    Name  Age      City
# 0  John   25  New York
# 1  Emma   28     Paris
# 2  Anne   31    London

# Сброс индекса
df_reset = df.reset_index()

# DataFrame после сброса индекса
print(df_reset)
# Вывод:
#    index  Name  Age      City
# 0      0  John   25  New York
# 1      1  Emma   28     Paris
# 2      2  Anne   31    London

Как видно из примера, метод reset_index() добавляет новый столбец 'index', содержащий старые значения индекса. Если вам не нужно сохранять старый индекс, вы можете добавить аргумент drop=True. Например, df.reset_index(drop=True).

Метод set_index()

Еще один способ изменить индекс в pandas - использовать метод set_index(). Этот метод позволяет установить новый столбец или столбцы в качестве индекса DataFrame.

# Исходный DataFrame
print(df_reset)
# Вывод:
#    index  Name  Age      City
# 0      0  John   25  New York
# 1      1  Emma   28     Paris
# 2      2  Anne   31    London

# Установка столбца 'Name' в качестве индекса
df_set_index = df_reset.set_index('Name')

# DataFrame после установки индекса
print(df_set_index)
# Вывод:
#       index  Age      City
# Name                      
# John       0   25  New York
# Emma       1   28     Paris
# Anne       2   31    London

В примере выше мы использовали столбец 'Name' в качестве нового индекса. Теперь столбец 'Name' стал индексом, а столбец 'index' исчез. Метод set_index() также может принимать несколько столбцов для создания мультииндекса.

Метод droplevel()

Если вы создали мультииндекс с помощью метода set_index() и хотите удалить один или несколько уровней индекса, вы можете использовать метод droplevel().

# Исходный DataFrame с мультииндексом
index = pd.MultiIndex.from_tuples([('John', 25), ('Emma', 28), ('Anne', 31)], names=['Name', 'Age'])
df_multiindex = pd.DataFrame(data, index=index, columns=['City'])

# Вывод DataFrame с мультииндексом
print(df_multiindex)
# Вывод:
#             City
# Name Age        
# John 25   New York
# Emma 28      Paris
# Anne 31     London

# Сброс одного уровня индекса
df_droplevel = df_multiindex.droplevel('Age')

# DataFrame после сброса одного уровня индекса
print(df_droplevel)
# Вывод:
#        City
# Name        
# John     New York
# Emma        Paris
# Anne       London

Метод droplevel() позволяет сбросить указанный уровень индекса. В примере выше, мы сбросили уровень индекса 'Age', и остался только уровень 'Name'.

Заключение

Теперь вы знаете несколько способов сбросить индекс в pandas. Методы reset_index(), set_index() и droplevel() могут быть полезны при работе с индексами в DataFrame. Попробуйте их в своих проектах и экспериментах, чтобы лучше усвоить эти методы.

Надеюсь, этот материал был для вас полезен и помог вам лучше понять, как сбросить индекс в pandas. Удачи в вашем путешествии в мир анализа данных с помощью pandas!

Видео по теме

Pandas DataFrame index индекс отбор строк и переменных на основе индекса

Pandas Базовый №6. Индексы

Фильтрация данных в Pandas | Анатолий Карпов | karpov.courses

Похожие статьи:

🔒 Как сбросить индекс в pandas и вернуть исходный порядок?