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
NaN
en 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