Cet article est une copie et une explication du tutoriel officiel sur les pandas "10 minutes aux pandas"
Je me réfère à l'URL suivante https://pandas.pydata.org/pandas-docs/stable/getting_started/10min.html
import numpy as np
import pandas as pd
np
pd
OK si chaque module est affiché comme ci-dessous
** ModuleNotFoundError: Aucun module nommé "pandas" ** Si vous vous mettez en colère, mettez les pandas en premier.
---------------------------------------------------------------------------
ModuleNotFoundError Traceback (most recent call last)
<ipython-input-1-59ab05e21164> in <module>
1 import numpy as np
----> 2 import pandas as pd
ModuleNotFoundError: No module named 'pandas'
commander
python -m pip install pandas
Vous pouvez facilement créer des données en mettant une liste dans la classe Series. ..
#Facile à aligner
s = pd.Series(data=[1, 3, 5, np.nan, 6, 8])
s
Vous pouvez utiliser date_range () pour créer une ligne avec une date pour une période de temps spécifique.
#Données pour 6 jours à compter du 1er janvier 2020
dates = pd.date_range("20200101", periods=6)
dates
[DataFrame] des pandas (https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.html#pandas-dataframe) En spécifiant la classe ** argument index **, la ligne Vous pouvez spécifier l'index.
#Spécifiez les données du 1er janvier 2020 pour l'index des lignes
#Entrez un nombre aléatoire pour chaque valeur
df = pd.DataFrame(np.random.randn(6, 4), index=dates)
df
Aussi, de la classe DataFrame Vous pouvez définir les noms de colonne en spécifiant les ** colonnes d'argument **.
#Définir le nom de la colonne ABCD
df = pd.DataFrame(np.random.randn(6, 4), index=dates, columns=list("ABCD"))
df
En passant des données de type dictionnaire à la classe DataFrame, la partie clé du type dictionnaire devient le nom de la colonne.
df2 = pd.DataFrame(
{
"A": 1.,
"B": pd.Timestamp("20200101"),
"C": pd.Series(1, index=list(range(4)), dtype="float32"),
"D": np.array([3] * 4, dtype="int32"),
"E": pd.Categorical(["test", "train", "test", "train"]),
"F": "foo",
}
)
df2
Vous pouvez voir les attributs de données de chaque colonne en vous référant à ** l'attribut dtypes **.
df2.dtypes
Si vous utilisez Jupyter nootbook ou Jupyter Lab, les noms des colonnes seront affichés dans la complétion de l'onglet.
db2.<TAB>
Données à l'aide de la [méthode head ()] de la classe DataFrame (https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.head.html#pandas.DataFrame.head) Vous pouvez afficher le début.
df.head(2)
De même, en utilisant tail () de la classe DataFrame, Vous pouvez afficher la queue.
df.tail(2)
En faisant référence à ** index ** de la classe DataFrame Vous pouvez afficher l'index de ligne de ces données.
df.index
df2.index
Données à l'aide de la classe DataFrame to_numpy () Peut être converti en données faciles à utiliser avec numpy.
df.to_numpy()
df2.to_numpy()
Utilisez la classe DataFrame Référence: DataFrame.describe () Vous pouvez obtenir une statistique rapide pour chaque colonne de données.
df2.describe()
Si vous faites référence à l '[attribut T] de la classe DataFrame (https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.T.html#pandas-dataframe-t), les données échangées par matrice Vous pouvez y accéder.
df.T
De plus, dans la classe DataFrame transpose (), la même matrice est remplacée. Peut être obtenu.
df.transpose()
En utilisant la classe DataFrame sort_index () , Vous pouvez trier la ligne ou la colonne entière.
df.sort_index()
** Définissez l'argument axis ** sur 0 ou "index" pour trier par ligne, définissez 1 ou "colonnes" pour trier par axe (valeur par défaut 0). De plus, si False est spécifié dans ** l'argument croissant **, l'ordre sera dans l'ordre décroissant (valeur par défaut True).
df.sort_index(axis=0, ascending=False)
df.sort_index(axis=1, ascending=False)
En utilisant la classe DataFrame sort_values () Vous pouvez trier par ligne ou colonne.
df.sort_values(by="B")
df.sort_values(by="2020-01-01", axis=1)
(Ajouté le 07/03/2020)
Vous pouvez obtenir la ligne spécifiée en définissant ** df ["A"] ** ou ** df.A **.
df["A"]
df.A
Si spécifié dans la liste ** [] **, vous pouvez sélectionner des colonnes et des lignes avec des opérations de tranche Python.
#Affichage des 4 premières colonnes
df[0:3]
Vous pouvez également obtenir la plage de réindexation.
#Affichage du 2 janvier 2020 au 4 janvier 2020
df['20200102':'20200104']
Index (dates dans ce cas) à loc () de la classe DataFrame Vous pouvez sélectionner une ligne comme colonne en spécifiant).
df.loc[dates]
df.loc[dates[0]]
Sélectionnez plusieurs colonnes à l'aide de loc () peut faire.
df.loc[:, ["A", "B"]]
Il semble qu'une erreur se produira s'il n'y a pas de deux points de début.
loc () Plusieurs lignes et multiples en combinant des opérations de tranche Vous pouvez sélectionner des colonnes.
df.loc['20200102':'20200104', ['A', 'B']]
Données uniques en spécifiant un index dans loc () Peut obtenir
df.loc[dates[0], 'A']
Vous pouvez obtenir des données uniques plus rapidement en utilisant at ().
df.at[dates[0], 'A']
Sélectionnez les données en spécifiant une valeur numérique à l'aide de iloc () de la classe DataFrame. Vous pouvez.
df.iloc[3]
df.iloc[3:5, 0:2]
df.iloc[[1, 2, 4], [0, 2]]
Slice (:) avec la position de début et la position de fin omises dans l'argument de iloc () de la classe DataFrame. Vous pouvez obtenir toutes les lignes ou colonnes spécifiques en spécifiant (uniquement)
df.iloc[1:3, :]
df.iloc[:, 1:3]
Données uniques en spécifiant uniquement une valeur numérique comme argument dans iloc () de la classe DataFrame Tu peux choisir
df.iloc[1, 1]
Comme at (), [iat ()](https: //pandas.pydata) .org / pandas-docs / stable / reference / api / pandas.DataFrame.iat.html) Vous pouvez obtenir des données uniques plus rapidement en utilisant
df.at[dates[0], 'A']
(Je suis épuisé ici. Le reste ... n'est-ce pas? 10 minutes c'est: réfléchir :)
4. Données manquantes 5. Opérations 6. Merge 7. Regroupement 8. Reconstruire 9. Série chronologique 10. Catégoriser 11. Plot 12. Données d'entrée et de sortie 13. Pièges
Recommended Posts