Pandas: як відсортувати рядки за абсолютним значенням


Ви можете використовувати наступні методи для сортування рядків pandas DataFrame на основі абсолютного значення стовпця:

Спосіб 1: сортування за абсолютним значенням (спочатку відображається найменше абсолютне значення)

 df. reindex (df[' my_column ']. abs (). sort_values (). index )

Спосіб 2: сортування за абсолютним значенням (першим відображається найбільше абсолютне значення)

 df. reindex (df[' my_column ']. abs (). sort_values (ascending= False ) .index )

У наведених нижче прикладах показано, як використовувати кожен метод на практиці з наступними pandas DataFrame, який містить інформацію про різних баскетболістів:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' player ': ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'],
                   ' over_under ': [4, -9, 2, 0, 1, 12, -4, -5]})
                   
#view DataFrame
print (df)

  player over_under
0 to 4
1 B -9
2 C 2
3 D 0
4 E 1
5 F 12
6 G -4
7 a.m. -5

Приклад 1: Сортування за абсолютним значенням (спочатку відображається найменше абсолютне значення)

Ми можемо використовувати такий синтаксис, щоб сортувати рядки DataFrame на основі абсолютного значення стовпця over_under :

 #sort DataFrame based on absolute value of over_under column
df_sorted = df. reindex (df[' over_under ']. abs (). sort_values (). index )

#view sorted DataFrame
print (df_sorted)

  player over_under
3 D 0
4 E 1
2 C 2
0 to 4
6 G -4
7 a.m. -5
1 B -9
5 F 12

Зверніть увагу, що рядки сортуються від найменшого абсолютного значення в стовпці over_under до найбільшого абсолютного значення.

Приклад 2: Сортування за абсолютним значенням (першим відображається найбільше абсолютне значення)

Ми можемо використовувати такий синтаксис, щоб сортувати рядки DataFrame на основі абсолютного значення стовпця over_under :

 #sort DataFrame based on absolute value of over_under column
df_sorted = df. reindex (df[' over_under ']. abs (). sort_values (ascending= False ) .index )

#view sorted DataFrame
print (df_sorted)

  player over_under
5 F 12
1 B -9
7 a.m. -5
0 to 4
6 G -4
2 C 2
4 E 1
3 D 0

Зверніть увагу, що рядки сортуються від найбільшого абсолютного значення в стовпці over_under до найменшого абсолютного значення.

Примітка . Повну документацію щодо функції sort_values() pandas можна знайти тут .

Додаткові ресурси

У наступних посібниках пояснюється, як виконувати інші типові завдання в pandas:

Панди: як сортувати за датою
Pandas: як сортувати стовпці за назвою
Pandas: як сортувати як за індексом, так і за стовпцем

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *