Panda's: sorteer het dataframe op index en kolom


U kunt de volgende syntaxis gebruiken om een Panda DataFrame te sorteren op index en kolom:

 df = df. sort_values (by = [' column_name ', ' index '], ascending = [ False , True ])

De volgende voorbeelden laten zien hoe u deze syntaxis in de praktijk kunt gebruiken.

Voorbeelden: sorteer het DataFrame op index en kolom

De volgende code laat zien hoe u een Panda DataFrame sorteert op de kolom met de naam points en vervolgens op de indexkolom :

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' id ': [1, 2, 3, 4, 5, 6, 7, 8],
                   ' points ': [25, 15, 15, 14, 20, 20, 25, 29],
                   ' assists ': [5, 7, 7, 9, 12, 9, 9, 4],
                   ' rebounds ': [11, 8, 10, 6, 6, 5, 9, 12]}). set_index (' id ')

#view first few rows
df. head ()

	points assists rebounds
id			
1 25 5 11
2 15 7 8
3 15 7 10
4 14 9 6
5 20 12 6

#sort by points and then by index
df. sort_values (by = [' points ', ' id '], ascending = [ False , True ])

	points assists rebounds
id			
8 29 4 12
1 25 5 11
7 25 9 9
5 20 12 6
6 20 9 5
2 15 7 8
3 15 7 10
4 14 9 6

Het resulterende DataFrame wordt gesorteerd op punten in aflopende volgorde en vervolgens op index in oplopende volgorde (als er twee spelers zijn die hetzelfde aantal punten scoren).

Houd er rekening mee dat als we het oplopende argument niet gebruiken, elke kolom de oplopende volgorde als standaard sorteermethode zal gebruiken:

 #sort by points and then by index
df. sort_values (by = [' points ', ' id '])

        points assists rebounds
id			
4 14 9 6
2 15 7 8
3 15 7 10
5 20 12 6
6 20 9 5
1 25 5 11
7 25 9 9
8 29 4 12

Als de indexkolom momenteel geen naam heeft, kunt u de naam ervan wijzigen en deze vervolgens dienovereenkomstig sorteren:

 #sort by points and then by index
df. rename_axis (' index '). sort_values (by = [' points ', ' id '])

        points assists rebounds
id			
4 14 9 6
2 15 7 8
3 15 7 10
5 20 12 6
6 20 9 5
1 25 5 11
7 25 9 9
8 29 4 12

Aanvullende bronnen

Panda’s: kolommen op naam sorteren
Panda’s: sorteer het DataFrame op datum
Panda’s: dubbele rijen verwijderen

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert