Comment trier une table DataFrame en utilisant la "méthode sort_values".
Il existe également une méthode sort_index, mais elle n'est pas recommandée. FutureWarning: by argument to sort_index is deprecated, please use .sort_values(by=...)
** ▼ Syntaxe de base **
df.sort_values(by=['A'])
└ "df": données du tableau
└ "by = []": Colonne / ligne servant de base au tri * Obligatoire *
└ "A": nom de colonne / ligne
option | Contenu |
---|---|
axis=0 | L'axe est une colonne. Défaut. Optionnel |
axis=1 | Faites de l'axe une ligne. |
by=['A'] | Ligne d'axe/Nom de colonne. Obligatoire |
assending=True | Tri croissant. Défaut. Optionnel |
assending=False | Tri décroissant. |
na_position='first' | Déplacez NaN vers le haut. |
na_position='last' | Déplacez NaN vers le bas. Défaut. Optionnel |
inplace=False | Ne pas écraser. Défaut. Optionnel |
inplace=True | Écraser. |
Créer une table
import pandas as pd
import numpy as np
row0 = [0, 0, 'a', 'Ah', 'un']
row1 = [2, 2, 'c', 'U', 'Trois']
row2 = [4, np.nan,'e', 'Oh', 'Samouraï']
row3 = [1, 1,'b', 'je', 'Deux']
row4 = [3, 3,'d', 'e', '肆']
row5 = [5, 5,'e', 'Oh', 'Samouraï']
df = pd.DataFrame([row0,row1,row2,row3,row4,row5])
df.columns = ['col0', 'col1', 'col2' ,'col3', 'col4']
df.index = ['row0', 'row1', 'row2', 'row3', 'row4', 'row5']
df
Importez numpy et utilisez "np.nan" pour utiliser la valeur manquante NaN.
Entrez le nom de la colonne qui sera la norme de tri dans "A".
La valeur par défaut est "ascending = True" (facultatif).
Tri croissant
df.sort_values(by=['col0'])
Trié par ordre croissant de l'élément de la colonne col0.
Vous pouvez trier les alphabets et les kana plats de la même manière.
Trier par ordre décroissant par nom de colonne "A".
Tri décroissant
df.sort_values(by=['col0'], ascending=False)
・ Na_position = 'dernier'
└ Par défaut (facultatif)
└ Déplacer vers le bas
・ Na_position = 'premier'
└ Déplacer vers le haut
Trier les colonnes contenant NaN (par défaut)
df.sort_values(by=['col1'])
Trier les colonnes contenant NaN (en haut)
df.sort_values(by=['col1'], na_position='first')
・ ʻInplace = False` └ Par défaut (facultatif) └ Ne pas écraser
・ ʻInplace = True` └ Écraser
Ne pas écraser
df.sort_values(by=['col1'])
df
Écraser
df.sort_values(by=['col1'], inplace=True)
df
La direction des lignes ne peut être représentée que par des nombres ou ne peut pas être triée.
Table à utiliser
import pandas as pd
col0 = [10, 9, 8, 7]
col1 = [1, 10, 100, 1000]
col2 = [2, 2, 2, 2]
col3 = [0.3, 0.03, 0.003, 0.0003]
col4 = [4, 40, 400, 4000]
df2 = pd.DataFrame(col0, columns=['col0'])
df2['col1'] = col1
df2['col2'] = col2
df2['col3'] = col3
df2['col4'] = col4
df2
Tri croissant
df2.sort_values(by=[1], axis=1)
Tri décroissant
df2.sort_values(by=[1], axis=1, ascending=False)
Recommended Posts