[PYTHON] La méthode minimale à retenir lors de l'agrégation de données avec Pandas

Prenez des notes sur les éléments fréquemment utilisés pour la tabulation de base et prévoyez de les mettre à jour à tout moment

Préparation

from sklearn import datasets
import pandas as pd
from collections import OrderedDict

iris = datasets.load_iris()

df = pd.concat([pd.DataFrame(iris.data,columns=iris.feature_names),pd.DataFrame(iris.target,columns=["species"])],axis=1)

スクリーンショット 2017-05-09 9.51.52.png

Je suis heureux que la récente mise à jour rende les pandas plus faciles à voir

Agrégat

describe

df.describe()

スクリーンショット 2017-12-22 14.42.57.png

Des statistiques de base peuvent être sorties

df["petal length (cm)"].describe()

スクリーンショット 2017-05-09 9.34.06.png

Peut être calculé uniquement avec la série

value_counts

df["species"].value_counts()

スクリーンショット 2017-05-09 9.36.35.png

Peut être compté

get_dummies

pd.get_dummies(df["species"]).ix[[0,1,2,50,51,52,100,101,102]]

スクリーンショット 2017-05-09 9.37.32.png

Des variables dites fictives peuvent être créées (Indexé pour une visualisation facile)

sort_values

df.sort_values("sepal length (cm)",ascending=False)

スクリーンショット 2017-05-09 9.38.41.png

df peut être trié (croissant spécifie l'ordre croissant / décroissant)

df.sort_values(["sepal length (cm)","sepal width (cm)"],ascending=False)

スクリーンショット 2017-05-09 9.55.50.png

Plusieurs spécifications sont possibles (la priorité est l'index de la liste d'arguments)

groupby

df_groupby = df.groupby("species",as_index=False)
df_groupby.mean()

スクリーンショット 2017-05-09 9.57.37.png

Étant donné que l'objet groupby peut être réutilisé, il est plus rapide de stocker l'objet groupby dans une variable lorsque vous souhaitez appliquer plusieurs agrégations similaires.

groupby.agg

df_groupby.agg({"sepal length (cm)": "mean",
                "sepal width (cm)": ["mean","count"],
                "petal length (cm)": ["max","min"],
                "petal width (cm)": ["sum","var","std"]})

スクリーンショット 2017-05-09 9.43.42.png

L'agrégation individuelle pour chaque colonne est possible en spécifiant au format dictionnaire (cependant, notez que si plusieurs agrégations sont spécifiées pour une colonne, elle sera multi-colonnes).

De plus, comme il ne s'agit pas d'un ordre particulier, utilisez OrderedDict si vous souhaitez spécifier l'ordre.

df_groupby.agg(OrderedDict((["sepal length (cm)", "mean"],
                            ["sepal width (cm)", ["mean","count"]],
                            ["petal length (cm)", ["max","min"]],
                            ["petal width (cm)", ["sum","var","std"]])))

スクリーンショット 2017-05-09 9.59.54.png

to_csv

df.to_csv("test.csv",index=False,encoding="utf8")
pd.read_csv("test.csv")

スクリーンショット 2017-05-09 9.50.51.png

Lorsque index = False, la lecture suivante est facile Parfois, il ne peut pas être lu sauf si le codage est spécifié (en particulier Windows)

Visualisation

Préparation

%matplotlib inline
import matplotlib.pyplot as plt
import seaborn as sns

% matplotlib inline est une commande magique pour la visualisation dans Jupyter

Boîte à moustaches

sns.boxplot(data=df, x="species", y="sepal length (cm)")

スクリーンショット 2017-12-22 14.50.52.png

pairplot sns.pairplot(data=df)

Unknown.png

sns.pairplot(data=df, hue="species")

Unknown.png

Peut être divisé par segment

jointplot sns.jointplot(data=df, x="sepal length (cm)", y="sepal width (cm)", kind="kde")

Unknown.png

distplot sns.distplot(df["sepal length (cm)"], rug=True,)

Unknown.png

Recommended Posts

La méthode minimale à retenir lors de l'agrégation de données avec Pandas
Une collection de méthodes utilisées lors de l'agrégation de données avec des pandas
La première étape de l'analyse du journal (comment formater et mettre les données du journal dans Pandas)
Comment accéder avec cache lors de la lecture_json avec pandas
Essayez de déchiffrer les données de connexion stockées dans Firefox
[Pour les débutants des professionnels de la compétition] Trois méthodes de saisie à retenir lors du démarrage de la programmation de compétition avec Python
[Pandas] Si les données de la première ligne sont dans l'en-tête de DataFrame
Différentes façons de calculer la similitude entre les données avec python
Ingéniosité pour gérer les données avec Pandas de manière à économiser la mémoire
Combinez des listes dans un DataFrame avec des pandas
J'ai essayé de résumer le code souvent utilisé dans Pandas
Précautions lors du changement d'heure Unix en type datetime dans les pandas
Changer le message affiché lors de la connexion à Raspberry Pi
Comment obtenir un aperçu de vos données dans Pandas
Compagnon de science des données en python, comment spécifier des éléments dans les pandas
Acquérir automatiquement le journal des opérations dans le terminal lors de la connexion à Linux
[Linux] Je souhaite connaître la date à laquelle l'utilisateur s'est connecté
<Pandas> Comment gérer les données de séries chronologiques dans le tableau croisé dynamique
Que faire quand UnicodeDecodeError se produit pendant read_csv dans pandas (pd.read_table ())
Que faire lorsque le type de valeur est ambigu en Python?
Programmation pour combattre dans le monde ~ 5-1
Programmation pour combattre dans le monde ~ 5-5,5-6
Programmer pour combattre dans le monde 5-3
Comment écrire sobrement avec des pandas
Programmation pour combattre dans le monde - Chapitre 4
Dans la commande python, python pointe vers python3.8
Vérifiez le résumé des données dans CASTable
Essayez Cython dans les plus brefs délais
Lorsque le nœud disparaît dans rqt_graph
Programmation pour combattre dans le monde ~ 5-2
J'ai essayé de résumer les méthodes qui sont souvent utilisées lors de l'implémentation d'algo de base dans Quantx Factory
Que faire lorsque le résultat téléchargé via scrapy est en anglais
Comment masquer l'invite de commande lors de l'exécution de python dans Visual Studio 2015
Ne changez pas l'ordre des colonnes lors de la concaténation des trames de données pandas.
J'ai mesuré 6 méthodes pour obtenir l'indice de la valeur maximale (valeur minimale) de la liste
Que faire lorsque l'avertissement "L'environnement est cohérent ..." apparaît dans l'environnement Anaconda
Comportement lors du retour dans le bloc with
Résumé des méthodes fréquemment utilisées chez les pandas
10 méthodes pour améliorer la précision de BERT
Obtenez les nièmes valeurs les plus importantes dans Pandas
Précautions lors de l'utilisation de l'instruction for dans les pandas
Convertir les données de la grille en données contenant des lignes (?) À l'aide de pandas
Connaissances minimales pour utiliser Form avec Flask
Comment réattribuer un index dans pandas dataframe
[Pandas] Développer les chaînes de caractères en DataFrame
Lorsque la cible est Ubuntu 16.04 dans Ansible
[Python] pandas à bien comprendre en 10 minutes
Essayez de convertir en données ordonnées avec les pandas
Les données RDS via la plate-forme pas à pas sont envoyées aux Pandas
Divers commentaires à écrire dans le programme
Quand le graphique précédent reste dans Seaborn
Comment lire des fichiers CSV avec Pandas
Ajouter une série à la colonne dans les pandas python
Gérez les structures de données 3D avec les pandas
Y a-t-il NaN dans le DataFrame pandas?
Livres sur la science des données à lire en 2020
[pandas] Lors de la spécification de l'étiquette d'index par défaut dans la méthode at, "" n'est pas requis
[Python] Précautions lors de l'acquisition de données en grattant et en les mettant dans la liste
Je suis tombé sur un code de caractère lors de la conversion de CSV en JSON avec Python