[PYTHON] Trier par pandas

introduction

Les contenus liés au tri de DataFrame n'étaient simples qu'en japonais, je les ai donc résumés. Je vais aborder les endroits où la demande est faible.

Confirmé pour travailler avec les pandas 0.17.1.

Ce sont les données utilisées cette fois.

sort.py



import numpy as np
import pandas as pd

if __name__ == "__main__":

	df = pd.DataFrame([[1, 3, "Hokkaido"], [4, 5, "Tokyo"], [3, 5, "Saitama"], [6, 9, "Préfecture d'Osaka"], [1, 1, "Préfecture d'Aomori"]])
	df.index = ["Suzuki", "Tanaka", "Kimura", "Endo", "Yoshida"]
	df.columns = ["Objet 1", "Point 2", "Point 3"]

Objet 1 Point 2 Point 3
Suzuki 1 3 Hokkaido
Tanaka 4 5 Tokyo
Kimura 3 5 Saitama
Endo 6 9 Préfecture d'Osaka
Yoshida 1 1 Préfecture d'Aomori

Trier par numéro

Si vous essayez d'organiser ce tableau par élément 1, df.sort_values (par = [" élément 1 "], croissant = Vrai) Par

Objet 1 Point 2 Point 3
Suzuki 1 3 Hokkaido
Yoshida 1 1 Préfecture d'Aomori
Kimura 3 5 Saitama
Tanaka 4 5 Tokyo
Endo 6 9 Préfecture d'Osaka

Ils sont classés par ordre croissant de l'élément 1 (par ordre croissant de valeur). Lorsque les valeurs de l'élément 1 sont les mêmes, elles sont organisées selon l'ordre dans le tableau d'origine. À ce stade, si vous changez ʻascending = True en ʻascending = False, il sera arrangé par ordre décroissant (par ordre décroissant de valeur).

Si vous souhaitez dépendre de l'article 2 au lieu de la commande d'origine df.sort_values (par = [" élément 1 "," élément 2 "], croissant = Vrai) Par

Objet 1 Point 2 Point 3
Yoshida 1 1 Préfecture d'Aomori
Suzuki 1 3 Hokkaido
Kimura 3 5 Saitama
Tanaka 4 5 Tokyo
Endo 6 9 Préfecture d'Osaka

Ce sera. C'est un peu anormal, mais si vous souhaitez trier l'élément 1 par ordre croissant et l'élément 2 par ordre décroissant df.sort_values (par = [" élément 1 "," élément 2 "], croissant = [Vrai, Faux]) Vous pouvez trier par.

Trier par caractère

Ensuite, triez l'élément 3. Comme avant df.sort_values (par = [" élément 3 "], croissant = Vrai) Puis

Objet 1 Point 2 Point 3
Suzuki 1 3 Hokkaido
Kimura 3 5 Saitama
Endo 6 9 Préfecture d'Osaka
Tanaka 4 5 Tokyo
Yoshida 1 1 Préfecture d'Aomori

Il sera trié, mais probablement pas ce que vous voulez. Voici une liste dans l'ordre que vous souhaitez organiser, par exemple tdhk = [" Hokkaido "," Préfecture d'Aomori "," Préfecture de Saitama "," Tokyo "," Préfecture d'Osaka "] Comme df [" élément 3 "] = pd.Categorical (df [" élément 3 "], tdhk) Lorsque vous l'insérez, il sera trié dans l'ordre de la liste.

Objet 1 Point 2 Point 3
Suzuki 1 3 Hokkaido
Yoshida 1 1 Préfecture d'Aomori
Kimura 3 5 Saitama
Tanaka 4 5 Tokyo
Endo 6 9 Préfecture d'Osaka

Recommended Posts

Trier par pandas
[Python] Trier la table par sort_values (pandas DataFrame)
Trier par valeur de valeur de type dict
Pandas
Mémorandum (pseudo Vlookup par pandas)
Standardisez par groupe avec les pandas
Mémo de visualisation par pandas, seaborn
Trier par date de modification du fichier
Trier
Trier par date en python
[Python] Tri itérable selon plusieurs conditions
Manipuler des chaînes avec un groupe pandas par
Trier en spécifiant les conditions dans CASTable
Génération de fonctionnalités avec pandas group par
Insérer un tri
Mémo Pandas
Mettre à jour les éléments Pandas DataFrame par nom de colonne
Pandas: groupby () pour compléter la valeur par groupe
Notions de base sur les pandas
Comparaison de vitesse lors du changement de groupe par pandas
Notes de pandas
Tri naturel
Python #sort
Pandas du débutant, par le débutant, pour le débutant [Python]
Notions de base sur les pandas
Tri à bulles
Tri à bulles
mémorandum pandas
mémo pandas
pandas SettingWithCopyWarning
Quand to_csv avec Pandas, c'est devenu ligne par ligne
J'ai essayé de programmer la bulle de tri par langue
Dessinez un graphique en traitant avec Pandas groupby
Trier les éléments d'un tableau en spécifiant des conditions
100 traitement du langage knock-99 (à l'aide de pandas): visualisation par t-SNE
[Python] Comment trier les instances par variables d'instance
Visualisez comment les bulles sont triées
Python> Trier par nombre et trier par alphabet> Utiliser trié ()