Pandas: как сортировать строки по абсолютному значению


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

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

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

Способ 2. Сортировка по абсолютному значению (сначала отображается наибольшее абсолютное значение).

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

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

 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 до наименьшего абсолютного значения.

Примечание . Полную документацию по функции pandas sort_values() можно найти здесь .

Дополнительные ресурсы

В следующих руководствах объясняется, как выполнять другие распространенные задачи в pandas:

Панды: как сортировать по дате
Pandas: как сортировать столбцы по имени
Pandas: как сортировать по индексу и столбцу

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *