Pandas DataFrame DataFrame.sort_values()Fonction
-
Syntaxe de
pandas.DataFrame.sort_values (): -
Exemples de codes: Triez DataFrame avec Pandas
pandas.DataFrame.sort_values ()sur la base d’une seule colonne -
Exemples de codes: trier DataFrame avec Pandas
DataFrame.sort_values ()sur la base de plusieurs colonnes -
Exemples de codes: Triez DataFrame dans l’ordre décroissant avec Pandas
DataFrame.sort_values () -
Exemples de codes: Triez DataFrame en mettant
NaNen premier avec PandasDataFrame.sort_values ()
Pandas DataFrame.sort_values () trie l’appelant DataFrame dans l’ordre croissant ou ordre décroissant par valeurs dans la colonne spécifiée le long des deux index.
Syntaxe de pandas.DataFrame.sort_values ():
DataFrame.sort_values(
by,
axis=0,
ascending=True,
inplace=False,
kind="quicksort",
na_position="last",
ignore_index=False,
)
Paramètres
by |
Nom ou liste de noms à trier |
axis |
trier le long de la ligne (axis = 0) ou de la colonne (axis = 1) |
ascending |
trier dans l’ordre croissant (ascendant = vrai) ou dans l’ordre descendant (ascendant = faux) |
inplace |
Booléen. Si True, modifiez l’appelant DataFrame sur place |
kind |
quel algorithme de tri utiliser. par défaut: quicksort |
na_position |
Mettez la valeur NaN au début (na_position = first) ou à la fin (na_position = last) |
ignore_index |
Booléen. Si True, les index du DataFrame d’origine sont ignorés. La valeur par défaut est False, ce qui signifie que les index sont utilisés. Nouveau dans la version 1.0.0 |
Revenir
Si inplace vaut True, il retourne le DataFrame trié; sinon None.
Exemples de codes: Triez DataFrame avec Pandas pandas.DataFrame.sort_values () sur la base d’une seule colonne
import pandas as pd
dates=['April-10',
'April-11',
'April-12',
'April-13',
'April-14',
'April-16']
sales=[200,300,400,200,300,300]
prices=[3, 1, 2, 4,3,2]
df = pd.DataFrame({'Date':dates ,
'Sales':sales ,
'Price': prices})
print("Before Sorting:")
print(df)
sorted_df=df.sort_values(by=['Price'])
print("After Sorting:")
print(sorted_df)
Production:
Before Sorting:
Date Sales Price
0 April-10 200 3
1 April-11 300 1
2 April-12 400 2
3 April-13 200 4
4 April-14 300 3
5 April-16 300 2
After Sorting:
Date Sales Price
Date Sales Price
1 April-11 300 1
2 April-12 400 2
5 April-16 300 2
0 April-10 200 3
4 April-14 300 3
3 April-13 200 4
Il trie le DataFrame df dans l’ordre croissant (par défaut) par valeurs dans la colonne Price.
Les index dans le DataFrame trié restent les mêmes que dans le DataFrame d’origine.
Si vous préférez avoir la nouvelle colonne d’index dans le DataFrame trié, vous pouvez définir ignore_index (introduit à partir de la version 1.0.0) sur True.
import pandas as pd
dates = ["April-10", "April-11", "April-12", "April-13", "April-14", "April-16"]
sales = [200, 300, 400, 200, 300, 300]
prices = [3, 1, 2, 4, 3, 2]
df = pd.DataFrame({"Date": dates, "Sales": sales, "Price": prices})
print("Before Sorting:")
print(df)
sorted_df = df.sort_values(by=["Price"], ignore_index=True)
print("After Sorting:")
Production:
Before Sorting:
Date Sales Price
0 April-10 200 3
1 April-11 300 1
2 April-12 400 2
3 April-13 200 4
4 April-14 300 3
5 April-16 300 2
After Sorting:
Date Sales Price
0 April-11 300 1
1 April-12 400 2
2 April-16 300 2
3 April-10 200 3
4 April-14 300 3
5 April-13 200 4
Ici, nous utilisons ignore_index = True pour affecter de nouveaux index aux lignes et ignorer l’index du DataFrame d’origine.
Exemples de codes: trier DataFrame avec Pandas DataFrame.sort_values () sur la base de plusieurs colonnes
import pandas as pd
dates=['April-10',
'April-11',
'April-12',
'April-13',
'April-14',
'April-16']
sales=[200,300,400,200,300,300]
prices=[3, 1, 2, 4,3,2]
df = pd.DataFrame({'Date':dates ,
'Sales':sales ,
'Price': prices})
print("Before Sorting:")
print(df)
df.sort_values(by=['Sales','Price'],
ignore_index=True,
inplace=True)
print("After Sorting:")
print(df)
Production:
Before Sorting:
Date Sales Price
0 April-10 200 3
1 April-11 300 1
2 April-12 400 2
3 April-13 200 4
4 April-14 300 3
5 April-16 300 2
After Sorting:
Date Sales Price
0 April-10 200 3
1 April-13 200 4
2 April-11 300 1
3 April-16 300 2
4 April-14 300 3
5 April-12 400 2
Ici, dans un premier temps, Sales est d’abord trié dans l’ordre croissant, puis Price pour chaque Sales est également trié dans l’ordre croissant.
Dans le df, 200 est la plus petite valeur de la colonne Sales et 3 est la plus petite valeur de la colonne Price pour la valeur Sales de 200.
Ainsi, la ligne avec 200 dans la colonne Sales et 3 dans le Price va en haut.
En raison de inplace = True, le DataFrame d’origine est modifié après l’appel de la fonction sort_values().
Exemples de codes: Triez DataFrame dans l’ordre décroissant avec Pandas DataFrame.sort_values ()
import pandas as pd
dates=['April-10',
'April-11',
'April-12',
'April-13',
'April-14',
'April-16']
sales=[200,300,400,200,300,300]
prices=[3, 1, 2, 4,3,2]
df = pd.DataFrame({'Date':dates ,
'Sales':sales ,
'Price': prices})
print("Before Sorting:")
print(df)
sorted_df=df.sort_values(by=['Sales'],
ignore_index=True,
ascending=False)
print("After Sorting:")
print(sorted_df)
Production:
Before Sorting:
Date Sales Price
0 April-10 200 3
1 April-11 300 1
2 April-12 400 2
3 April-13 200 4
4 April-14 300 3
5 April-16 300 2
After Sorting:
Date Sales Price
0 April-12 400 2
1 April-11 300 1
2 April-14 300 3
3 April-16 300 2
4 April-10 200 3
5 April-13 200 4
Il trie le DataFrame df dans l’ordre décroissant des valeurs de la colonne Sales.
400 est la valeur la plus élevée dans la colonne Sales; par conséquent, l’entrée va en haut et les autres lignes sont triées en conséquence.
Exemples de codes: Triez DataFrame en mettant NaN en premier avec Pandas DataFrame.sort_values ()
import pandas as pd
dates=['April-10',
'April-11',
'April-12',
'April-13',
'April-14',
'April-16']
sales=[200,300,400,200,300,300]
prices=[3, 1, 2, 4,3,2]
df = pd.DataFrame({'Date':dates ,
'Sales':sales ,
'Price': prices})
print("Before Sorting:")
print(df)
sorted_df=df.sort_values(by=['Price'],ignore_index=True,na_position='first')
print("After Sorting:")
print(sorted_df)
Production:
Before Sorting:
Date Sales Price
0 April-10 200 NaN
1 April-11 300 1.0
2 April-12 400 2.0
3 April-13 200 4.0
4 April-14 300 3.0
5 April-16 300 NaN
After Sorting:
Date Sales Price
0 April-10 200 NaN
1 April-16 300 NaN
2 April-11 300 1.0
3 April-12 400 2.0
4 April-14 300 3.0
5 April-13 200 4.0
Par défaut, les valeurs de NaN sont placées à la fin de DataFrame après le tri.
Mais en définissant na_position = first, nous pouvons placer les valeurs NaN au début de DataFrame.
Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedIn