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.
#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])
#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 |
#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 |
#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 |
#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"}))
#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
#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()
#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