Jak sortować według wielu kolumn w pandach (z przykładami)
Możesz użyć następującej podstawowej składni, aby posortować ramkę danych pand według wielu kolumn:
df = df. sort_values ([' column1 ', ' column2 '], ascending=( False , True ))
Poniższy przykład pokazuje, jak zastosować tę składnię w praktyce.
Przykład: sortuj według wielu kolumn w Pandach
Załóżmy, że mamy następującą ramkę DataFrame pand:
import pandas as pd #createDataFrame df = pd. DataFrame ({' points ': [14, 20, 9, 20, 25, 29, 20, 25], ' assists ': [5, 7, 7, 9, 12, 9, 9, 4], ' rebounds ': [11, 8, 10, 6, 6, 5, 9, 12]}) #view DataFrame df points assists rebounds 0 14 5 11 1 20 7 8 2 9 7 10 3 20 9 6 4 25 12 6 5 29 9 5 6 20 9 9 7 25 4 12
Możemy użyć następującej składni, aby posortować linie ramki DataFrame poprzez zwiększenie liczby punktów , a następnie zmniejszenie liczby przejść :
#sort by points ascending, then assists ascending
df = df. sort_values ([' points ', ' assists '])
#view updated DataFrame
df
points assists rebounds
2 9 7 10
0 14 5 11
1 20 7 8
3 20 9 6
6 20 9 9
7 25 4 12
4 25 12 6
5 29 9 5
Należy pamiętać, że linie są sortowane według punktów rosnących (od najmniejszego do największego), a następnie rosnąco .
Możemy również użyć argumentu rosnącego , aby określić, czy każda kolumna ma być sortowana rosnąco, czy malejąco:
#sort by points descending, then assists ascending
df = df. sort_values ([' points ', ' assists '], ascending = ( False , True )))
#view updated DataFrame
df
points assists rebounds
5 29 9 5
7 25 4 12
4 25 12 6
1 20 7 8
3 20 9 6
6 20 9 9
0 14 5 11
2 9 7 10
Należy pamiętać, że linie są sortowane według punktów malejących (od największego do najmniejszego), a następnie rosnąco .
W tych przykładach posortowaliśmy DataFrame według dwóch kolumn, ale możemy użyć tej dokładnej składni, aby posortować dowolną liczbę kolumn.
Uwaga : pełną dokumentację funkcji sort_values() pandy można znaleźć tutaj .
Dodatkowe zasoby
Poniższe samouczki wyjaśniają, jak wykonywać inne typowe operacje na pandach:
Pandy: jak sortować według daty
Pandy: jak sortować kolumny według nazwy
Pandy: jak sortować według indeksu i kolumny