[Python] Trier la table par sort_values (pandas DataFrame)

[Python] Comment trier une table par sort_values (pandas DataFrame)

Comment trier une table DataFrame en utilisant la "méthode sort_values".


[Page officielle](https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.sort_values.html)

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=...)


**table des matières**
  1. [Syntaxe de base et options principales](# 1 Syntaxe de base et options principales)
  2. [Table à utiliser](# 2 Table à utiliser)
  3. [Trier par colonne](# 3 trier par colonne)
  4. [Tri croissant](# tri croissant)
  5. [Tri décroissant](# Tri décroissant)
  6. Trier les colonnes avec NaN (trier les colonnes avec #nan)
  7. Écraser
  8. [Trier par ligne](# 4 trier par ligne)

## 1. 1. Syntaxe de base et options clés

** ▼ 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


** ▼ Options principales **
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.

## 2. Table à utiliser Trier par le tableau avec 6 lignes et 5 colonnes ci-dessous. (NaN est une valeur manquante)

image.png

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.


## 3. 3. Trier par colonne ① Tri croissant ② Tri décroissant ③ Tri des colonnes incluant NaN ④ Écraser
### ① Tri croissant `df.sort_values(by=['A'])`

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'])

image.png

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.


### ② Tri décroissant `df.sort_values(by=['A'], ascending=False)`

Trier par ordre décroissant par nom de colonne "A".

Tri décroissant


df.sort_values(by=['col0'], ascending=False)

image.png


### ③ Tri des colonnes incluant NaN Si la valeur manquante NaN est incluse dans la colonne qui est la base du tri, vous pouvez définir si vous souhaitez déplacer NaN vers le haut ou vers le bas lors du tri.

Na_position = 'dernier' └ Par défaut (facultatif) └ Déplacer vers le bas

Na_position = 'premier' └ Déplacer vers le haut


** ▼ Déplacer NaN vers le bas **

Trier les colonnes contenant NaN (par défaut)


df.sort_values(by=['col1'])

image.png


** ▼ Déplacer NaN vers le haut **

Trier les colonnes contenant NaN (en haut)


df.sort_values(by=['col1'], na_position='first')

image.png


## ④ Écraser Il est possible de définir s'il faut écraser ou non. N'écrasez pas la valeur par défaut.

・ ʻInplace = False` └ Par défaut (facultatif) └ Ne pas écraser

・ ʻInplace = True` └ Écraser


** ▼ Ne pas écraser (par défaut) **

Ne pas écraser


df.sort_values(by=['col1'])
df

image.png


** ▼ Écraser **

Écraser


df.sort_values(by=['col1'], inplace=True)
df

image.png


## 4. Trier par ligne `sort_values(by=['A'], axis=1)` └ "axis = 1": Trier par ligne └ "A": nom de la ligne

La direction des lignes ne peut être représentée que par des nombres ou ne peut pas être triée.


** Table à utiliser ** Trier par le tableau «df2» ci-dessous.

image.png

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 **

Tri croissant


df2.sort_values(by=[1], axis=1)

image.png


** ▼ Tri décroissant **

Tri décroissant


df2.sort_values(by=[1], axis=1, ascending=False)

image.png


[Retour en haut](Comment trier une table par #pythonsort_values pandas dataframe )

Recommended Posts

[Python] Trier la table par sort_values (pandas DataFrame)
Trier par pandas
Pandas du débutant, par le débutant, pour le débutant [Python]
[python] Créer une table de pandas DataFrame vers postgres
Application Python: Pandas # 3: Dataframe
[Python] Résumé de la méthode de création de table utilisant DataFrame (pandas)
Trier par date en python
Le pouvoir des pandas: Python
[Python] Ouvrez le fichier csv dans le dossier spécifié par pandas
Jeu à la main Python (Pandas / DataFrame début)
[Python] Mémo d'opération de pandas DataFrame
[Python] Tri itérable selon plusieurs conditions
python / pandas / dataframe / Comment obtenir la ligne / colonne / index / colonne la plus simple
[Python] Comment ajouter des lignes et des colonnes à une table (pandas DataFrame)
Utilisez sqlalchemy pour rechercher la table DB et créer un Dataflame pour les pandas
Trier les noms de fichiers obtenus par Python glob dans l'ordre numérique
[Python] Qu'est-ce que la série pandas et DataFrame?
Mettre à jour les éléments Pandas DataFrame par nom de colonne
[Python] Trier
Associez l'ensemble de tables dans les modèles de python.py
Application de Python: Pandas Partie 4: Concaténation et combinaison de DataFrames
Lisez le fichier ligne par ligne avec Python
[Pandas] Développer les chaînes de caractères en DataFrame
Lisez le fichier ligne par ligne avec Python
Python #sort
[Réinvention des roues] Tri de tournois à propulsion humaine [Python]
[Python] Ajouter le nombre total de lignes à Pandas DataFrame
Comment trier en spécifiant une colonne dans le tableau Python Numpy.
Y a-t-il NaN dans le DataFrame pandas?
[python] Comment trier par le Nth Mth élément d'un tableau multidimensionnel
Comparaison de Python (+ Pandas), R, Julia (+ DataFrames) (résumé du contenu de la table, accès par colonne)
La première application Web créée par des débutants en Python
[Pandas Python] Créer un DataFrame vide à partir d'un DataFrame existant
Trier les éléments d'un tableau en spécifiant des conditions
Pandas Python: recherchez DataFrame à l'aide d'expressions régulières
[Automation] Extraire le tableau en PDF avec Python
Comment effacer les caractères générés par Python
J'ai essayé d'utiliser le module Datetime de Python
[Python] Comment trier les instances par variables d'instance
Fonctionnement de base de Python Pandas Series et Dataframe (1)
Python> Trier par nombre et trier par alphabet> Utiliser trié ()
Trier la liste des tuples en Python en spécifiant l'ordre croissant / décroissant de plusieurs clés
Mes pandas (Python)
mémo pandas python
Trouver la fonction de distribution cumulative par tri (version Python)
Extraire le tableau des fichiers image avec OneDrive et Python
Traitement d'image par matrice Basics & Contents-Reinventor of Python image processing-
Trier en Python. Pensons ensuite à l'algorithme.
Vérifiez si la colonne attendue existe dans Pandas DataFrame
[Python] Spécifiez la plage de l'image en faisant glisser la souris
Le datetime Python3 est plus rapide en spécifiant simplement le fuseau horaire
Résumé des méthodes de prétraitement pour les débutants en Python (trame de données Pandas)
Lisez le fichier xml en vous référant au didacticiel Python
Décale la chaîne de l'alphabet de N caractères en Python
Le VIF calculé par Python et le VIF calculé par Excel sont différents .. ??
Comment enregistrer une table récupérée par python en csv
[Python] Comment réécrire le style de table avec python-pptx [python-pptx]
Rapport de construction d'environnement par python (matplotlib, pandas, sphinx) + wkhtmltopdf
Rechercher la table à l'aide de sqlalchemy et créer un dictionnaire