Сортировка кадра данных Pandas по индексу: подробное руководство

Сортировка DataFrame Pandas по его индексу — обычная операция при анализе и манипулировании данными. В этой статье мы рассмотрим различные методы сортировки DataFrame на основе его индекса, а также примеры кода для каждого подхода. Давайте погрузимся!

Метод 1: использование метода sort_index()
Самый простой способ отсортировать DataFrame по его индексу — использовать метод sort_index(). Этот метод сортирует DataFrame на основе значений его индекса.

import pandas as pd
# Create a sample DataFrame
data = {'A': [1, 5, 3],
        'B': [4, 2, 6]}
df = pd.DataFrame(data, index=[2, 1, 3])
# Sort the DataFrame by index
df_sorted = df.sort_index()
print(df_sorted)

Выход:

   A  B
1  5  2
2  1  4
3  3  6

Метод 2: использование аксессора loc[] с отсортированным индексом
Другой подход — использовать аксессор loc[]для доступа к строкам на основе отсортированного индекса. Сортируя индекс отдельно, а затем используя loc[], мы можем добиться желаемого эффекта сортировки.

import pandas as pd
# Create a sample DataFrame
data = {'A': [1, 5, 3],
        'B': [4, 2, 6]}
df = pd.DataFrame(data, index=[2, 1, 3])
# Sort the index
sorted_index = df.index.sort_values()
# Use the sorted index with loc[]
df_sorted = df.loc[sorted_index]
print(df_sorted)

Выход:

   A  B
1  5  2
2  1  4
3  3  6

Метод 3: использование метода sort_values() с функцией reset_index()
В некоторых случаях вам может потребоваться отсортировать DataFrame на основе значений определенного столбца, сохраняя при этом индекс нетронутым. Этого можно добиться, используя метод sort_values()вместе с reset_index().

import pandas as pd
# Create a sample DataFrame
data = {'A': [1, 5, 3],
        'B': [4, 2, 6]}
df = pd.DataFrame(data, index=[2, 1, 3])
# Sort the DataFrame by values of column 'A' while preserving the index
df_sorted = df.sort_values(by='A').reset_index(drop=True)
print(df_sorted)

Выход:

   A  B
0  1  4
1  3  6
2  5  2

В этой статье мы рассмотрели несколько методов сортировки DataFrame Pandas по его индексу. Мы рассмотрели использование метода sort_index(), метода доступа loc[]с отсортированным индексом и метода sort_values()с reset_index().. В зависимости от ваших конкретных требований вы можете выбрать наиболее подходящий метод сортировки DataFrame. Освоив эти методы, вы сможете более эффективно организовывать и анализировать данные.