[PYTHON] Un mémorandum de méthode souvent utilisé lors de l'analyse de données avec des pandas (pour les débutants)

introduction

Nous avons résumé les méthodes souvent utilisées lors de l'analyse des données avec les pandas. Nous apporterons des corrections au besoin.

1. Création d'un DataFrame

#Créer un DataFrame et stocker la liste
pd_sample = pd.DataFrame(liste)

#Créer un DataFrame et stocker plusieurs listes dans un dictionnaire
pd_sample = pd.DataFrame({"Colonne A":Liste A, "Colonne B":Liste B})

#Créez un DataFrame vide et rejoignez un autre DataFrame dans un traitement ultérieur
pd_sampleA = pd.DataFrame()
pd_sampleA = pd.concat([pd_sampleA, pd_sampleB])

2. Jointure de données (union)

#pandas.concat()une fonction
pd_sampleAll = pd.concat([pd_sampleA, pd_sampleB], ignore_index=True)

pd_sampleA

Colonne A Colonne B Colonne C
0 a b c

pd_sampleB

Colonne C Colonne D
0 y z

pd_sampleAll = pd.concat([pd_sampleA, pd_sampleB], ignore_index=True)

Colonne A Colonne B Colonne C Colonne D
0 a b c NaN
1 NaN NaN y z

3. Joindre les données

#pandas.merge()une fonction
pd_sampleAll = pd.merge(pd_sampleA, pd_sampleB, on="Étiquette de colonne", how="left")

#pandas.Fusion de DataFrame()Méthode
pd_sampleAll = pd_sampleA.merge(pd_sampleB, on="Étiquette de colonne", how="left")

#Combinez plusieurs colonnes en une clé
pd_sampleAll = pd.merge(pd_sampleA, pd_sampleB, on=["Colonne A", "Colonne B"], how="left")

#Rejoindre lorsque les noms des colonnes clés sont différents
pd_sampleAll = pd.merge(pd_sampleA, pd_sampleB, left_on="Colonne A", right_on="Colonne AAA", how="left")

pd_sampleA

Colonne A Colonne B Colonne C
0 a b c
1 aaa bbb ccc

pd_sampleB

Colonne A Colonne D
0 a x
1 aa y

** pd_sampleAll = pd.merge (pd_sampleA, pd_sampleB, on = "colonne A", how = "left") **

Colonne A Colonne B Colonne C Colonne D
0 a b c x
1 aaa bbb ccc NaN

4. Extraction de données

#Pandas en spécifiant le nom de la colonne.Extraire DataFrame
pd_sampleA = pd_sampleAll[["Colonne A", "Colonne B"]]

#pandas.loc()Extraire en spécifiant la position de l'étiquette de ligne et de l'étiquette de colonne avec la fonction
#Le type de série est renvoyé lorsqu'une seule ligne est extraite et le type DataFrame est renvoyé lorsque plusieurs lignes sont extraites.
#En plus du nom de ligne, l'étiquette de ligne peut également spécifier une expression conditionnelle qui renvoie un type booléen.
#Vous pouvez également découper plusieurs colonnes et lignes
pd_sampleA = pd_sampleAll.loc["Étiquette de ligne", "Étiquette de colonne"]
pd_sampleA = pd_sampleAll["Étiquette de colonne"].loc["Étiquette de ligne"]

#pandas.iloc()Extraire en spécifiant la position du numéro de ligne et du numéro de colonne avec la fonction
#Le type de série est renvoyé lorsqu'une seule ligne est extraite et le type DataFrame est renvoyé lorsque plusieurs lignes sont extraites.
#Vous pouvez également découper plusieurs colonnes et lignes
pd_sampleA = pd_sampleAll.iloc["numéro de ligne", "Index des colonnes"]

pd_sampleAll

Colonne A Colonne B Colonne C Colonne D
0 a b c d
1 aaa bbb ccc ddd

** pd_sampleA = pd_sampleAll.loc [pd_sampleAll ["Colonne A"] == "aaa", ["Colonne B", "Colonne C"]] **

Colonne B Colonne C
1 bbb ccc

5. Confirmation des valeurs manquantes

#pandas.Series.isnull()Obtenez la ligne avec la valeur manquante dans la méthode
pd_sample = pd_sample["Colonne A"].isnull()

#isnull()Tout dans la méthode()Vérifiez la présence de colonnes contenant des valeurs manquantes à l'aide de
pd_sample["Colonne A"].isnull().any(axis=0)

#pandas.DataFrame.dropna()Supprimer une ligne qui manque une colonne particulière dans la méthode
pd_sample = pd_sample.dropna(subset=["Colonne A"])

#pandas.DataFrame.fillna()Remplacez les valeurs manquantes par des valeurs arbitraires dans la méthode
pd_sample = pd_sample.fillna({"Colonne A": "AAA", "Colonne B": "BBB"}))

6. Conversion de date

#pandas.to_datetime()Chaîne de caractères en fonction(type d'objet)Vers le type datetime
pd_sample["Date"] = pd.to_datetime(pd_sample["Date"])

#Obtenez la date, l'heure, la minute, la seconde, le jour, etc. à l'aide de l'accesseur dt pour le type datetime
pd_sample["Mois"] = pd_sample["Date"].dt.month

#type de date / heure strftime()Convertissez la date et l'heure en une chaîne de n'importe quel format avec la méthode
pd_sample["Année mois"] = pd_sample["Date"].dt.strftime("%Y%m")

#pandas.to_timedelta()Obtenez le nombre de jours de différence entre deux dates avec la fonction
import datetime
pd_sample["Nombre de jours écoulés"] = pd.to_timedelta(Horodatage 1-Horodatage 2)

#Obtenez la différence mensuelle entre deux dates à l'aide de l'objet relativedelta du module dateutil
#La différence entre les deux dates dans la valeur de retour(years=+1, months=+10, days=+8)Est stocké sous forme de
from dateutil.relativedelta import relativedelta
delta = relativedelta(Horodatage 1,Horodatage 2)
pd_sample["Mois écoulés"] = delta.years*12 + delta.months

7. Agrégation

#pandas.groupby()Agréger en spécifiant la colonne que vous souhaitez agréger avec la fonction et la méthode d'agrégation
#Par défaut, l'étiquette de groupe est index, donc si vous ne voulez pas faire cela, comme_index=Spécifiez False.
pd_count = pd_sample.groupby("La colonne que vous souhaitez assembler").count()
pd_sum = pd_sample.groupby(["Colonne 1 que vous souhaitez résumer", "Colonne 2 que vous souhaitez résumer"], as_index=False).sum()[["Colonne 1 que vous souhaitez additionner", "Colonne 2 que vous souhaitez additionner"]]

#pandas.unique()Obtenez le nombre d'éléments de données uniques à l'exclusion des doublons avec la fonction
pd_unique = pd.unique(pd_sample["Colonne A"])
pd_unique = pd_sample["Colonne A"].unique()

8. Autres méthodes

#pandas.agg()Affiche les valeurs moyennes, médianes, maximales et minimales pour une colonne particulière d'une fonction
pd_sample = pd_sample.agg(["mean", "median", "max", "min"])["Colonnes que vous souhaitez agréger"]

#pandas.DataFrame.describe()Affiche le nombre d'éléments de données, la valeur moyenne, l'écart type, la valeur minimale, le quadrant, la valeur médiane et la valeur maximale avec la fonction
#Par défaut, seules les colonnes numériques (type entier int, type virgule flottante float) sont sélectionnées.
pd_sample.describe

#Manipuler des chaînes à l'aide de l'accesseur str pour le type DateFrame
pd_sample["Colonne A"] = pd_sample["Colonne A"].str.replace(" ", "")

#pandas.Où dans le DataFrame()Attribuer une valeur en fonction de la condition de la méthode
#Si True, l'objet appelant est appliqué, et si False, le deuxième argument est appliqué.
pd_sample["Colonne A"] = pd_sample["Colonne A"].where(pd_sample["Colonne B"]>3, 0)

#pandas.Masque DataFrame()Attribuer une valeur en fonction de la condition de la méthode
#Si True, le deuxième argument est appliqué, si False, l'objet appelant est appliqué.
pd_sample["Colonne A"] = pd_sample["Colonne A"].mask(pd_sample["Colonne B"]>3, 0)

Recommended Posts

Un mémorandum de méthode souvent utilisé lors de l'analyse de données avec des pandas (pour les débutants)
Un mémorandum de méthode souvent utilisé dans l'apprentissage automatique utilisant scikit-learn (pour les débutants)
Une collection de méthodes utilisées lors de l'agrégation de données avec des pandas
Un mémorandum de problème lors du formatage des données
Principes de base de Pandas pour les débutants ② Présentation des données de saisie
Récapitulatif des méthodes Pandas utilisées lors de l'extraction de données [Python]
[Pandas] J'ai essayé d'analyser les données de ventes avec Python [Pour les débutants]
Gérez le chevauchement lors du dessin d'un diagramme de dispersion avec une grande quantité de données (Matplotlib, Pandas, Datashader)
Résumé des méthodes fréquemment utilisées chez les pandas
Mémorandum d'introduction du modèle de données EXODUS de la méthode des éléments finis (FEM)
[Pandas_flavor] Ajouter une méthode de Pandas DataFrame
Traitement des mémos souvent utilisés dans les pandas (débutants)
Exemple de traitement efficace des données avec PANDAS
Meilleures pratiques pour manipuler les données avec les pandas
Introduction du code de dessin pour les figures avec un certain degré de perfection des données météorologiques
Collection de conseils Numpy, Pandas souvent utilisés sur le terrain
[Introduction à Python] Comment obtenir l'index des données avec l'instruction for
Les bases de Pandas pour les débutants ③ Créez un histogramme avec matplotlib
Transformez les données de vacances en une trame de données avec les pandas
[Commande Linux] Un mémorandum des commandes fréquemment utilisées
Lors de la lecture d'un fichier csv avec read_csv de pandas, la première colonne devient index
Implémentation de la méthode de clustering k-shape pour les données de séries chronologiques [Apprentissage non supervisé avec python Chapitre 13]
Une collection de code souvent utilisée dans Python personnel
Soyez prudent lors de la lecture de données avec des pandas (spécifiez dtype)
Analyse des données de mesure ①-Mémorandum de montage scipy-
Un mémorandum lors de la réalisation d'une caméra de surveillance avec Raspeye
Précautions lors du calcul avec une chaîne pour TmeStampType de PySpark
J'ai essayé d'utiliser la méthode Seaborn fréquemment utilisée avec le moins d'arguments possible [pour les débutants]
Peut être utilisé avec AtCoder! Une collection de techniques pour dessiner du code court en Python!
[Python] Extrait les blocs de données de Pandas qui ne correspondent pas à une colonne spécifique avec d'autres blocs de données
[Pour enregistrement] Mémorandum Pandas
Visualisation des données avec les pandas
Mélangez les données avec les pandas
Recommandation de Jupyter Notebook, un environnement de codage pour les data scientists
Un diagramme de réseau a été créé avec les données du COVID-19.
Extraits de code souvent utilisés lors du traitement de vidéos avec Google Colaboratory
Remarques sur la gestion de grandes quantités de données avec python + pandas
Extraits de code souvent utilisés lors de l'utilisation de BigQuery avec Google Colab
[Pour les débutants] Résumé de l'entrée standard en Python (avec explication)
Une méthode d'étude pour les débutants pour apprendre l'analyse des séries chronologiques
Ingéniosité pour gérer les données avec Pandas de manière à économiser la mémoire
Principes de base de Pandas pour les débutants ④ Gestion des éléments de date et d'heure
Méthode de confirmation de la pratique / des données [Pandas] facile à comprendre pour les diplômés du secondaire
(Pour les débutants) Essayez de créer une API Web simple avec Django
[Pour les débutants] Un résumé en mots des langages de programmation populaires (version 2018)
Création d'une méthode pour sous-échantillonner les données non équilibrées (pour la classification binomiale)
Tourner un tableau de chaînes avec une instruction for (Python3)
Un aperçu de DELG, une nouvelle méthode d'extraction de caractéristiques d'image qui attire l'attention avec Kaggle
[Pour les débutants en informatique] Que faire lorsque la commande rev ne peut pas être utilisée avec Git Bash