Il y a beaucoup d'opérations à retenir chez les pandas, donc je veux juste m'en souvenir pour le moment! J'ai personnellement résumé le contenu.
Si vous allez toucher des pandas à partir de maintenant, veuillez vous y référer.
En mathématiques, le vecteur est Series et la matrice est DataFrame.
Si le programme a pd.DataFrame (), il peut être interprété comme «Je crée des données bidimensionnelles».
L'importation se fait comme suit.
test.py
import pandas as pd
Tout le code ci-dessous omet l'importation des pandas en tant que pd, mais considère-le comme importé.
Créons d'abord une série.
test.py
cp = [100,200,300,400]
print(pd.Series(cp))
# 0 100
# 1 200
# 2 300
# 3 400
# dtype: int64
Contrairement à la liste, l'index est automatiquement ajouté lorsque vous le sortez. Vous pouvez également définir vous-même cet index.
test.py
cp = [100,200,300,400]
cp_index = ["Jan","Feb","Mar","Apr"]
print(pd.Series(cp, index=cp_index))
# Jan 100
# Feb 200
# Mar 300
# Apr 400
# dtype: int64
Ensuite, créez un DataFrame.
test.py
cp = {
"a": [400,300,200,100],
"b": [100,200,300,400]
}
cp_index = ["Jan","Feb","Mar","Apr"]
print(pd.DataFrame(cp, index=cp_index))
# a b
# Jan 400 100
# Feb 300 200
# Mar 200 300
# Apr 100 400
DataFrame est devenu un tableau que vous voyez souvent dans Excel.
Dans DataFrame, non seulement l'index mais également les colonnes (a et b) sont spécifiés. Par conséquent, la variable cp est définie par le dictionnaire.
Vous pouvez également effectuer les opérations suivantes:
test.py
df=pd.DataFrame([[400,100],
[300,200],
[200,300],
[100,400]],
index=['Jan', 'Feb','Mar','Apr'],
columns=["a","b"])
print(df)
# a b
# Jan 400 100
# Feb 300 200
# Mar 200 300
# Apr 100 400
Cependant, en réalité, vous lirez souvent le fichier csv au lieu d'écrire les données vous-même.
Donc, je vais vous montrer comment lire les données d'un fichier csv.
sample.csv
,a,b
Jan,400,100
Feb,300,200
Mar,200,300
Apr,100,400
Utilisez read_csv () pour lire le fichier csv.
test.py
df=pd.read_csv("sample.csv",index_col=[0])
print(df)
# a b
# Jan 400 100
# Feb 300 200
# Mar 200 300
# Apr 100 400
Dans index_col, spécifiez le nombre de colonnes à indexer en tant que type de liste.
Dans le code source ci-dessous, df utilise le même que ci-dessus.
↓ Si vous souhaitez extraire 3 lignes du haut
test.py
print(df.head(3))
# a b
# Jan 400 100
# Feb 300 200
# Mar 200 300
↓ Extraire en spécifiant une colonne
test.py
print(df["a"])
# Jan 400
# Feb 300
# Mar 200
# Apr 100
# Name: a, dtype: int64
↓ Spécifiez l'index sous forme de tranche et extrayez
test.py
print(df[1:3])
# a b
# Feb 300 200
# Mar 200 300
Lors de l'extraction d'un DataFrame, loc, iloc, ix sont souvent utilisés. Tous ont la même fonction «extraire en spécifiant des lignes et des colonnes».
Alors, quelle est la différence?
loc
loc spécifie des lignes et des colonnes avec ** nom d'étiquette **.
test.py
print(df.loc[["Feb","Mar"]])
# a b
# Feb 300 200
# Mar 200 300
print(df.loc[:,["a"]])
# a
# Jan 400
# Feb 300
# Mar 200
# Apr 100
Au fait, les deux points dans df.loc [:, ["a"]] signifie "extraire toutes les lignes".
iloc
iloc spécifie les lignes et les colonnes par ** nombre **.
test.py
print(df.iloc[[1,3]])
# a b
# Feb 300 200
# Apr 100 400
print(df.iloc[:,[0]])
# a
# Jan 400
# Feb 300
# Mar 200
# Apr 100
print(df.iloc[[1,3],[0]])
# a
# Feb 300
# Apr 100
print(df.iloc[1:3])
# a b
# Feb 300 200
# Mar 200 300
Est-ce que je suis dans iloc i en entier?
ix
Pour ix, vous pouvez spécifier la ligne et la colonne par nom d'étiquette, ou vous pouvez spécifier par numéro.
Cependant, si l'index ou la colonne est de type entier, une confusion se produira et ce sera déroutant, il semble donc préférable d'utiliser correctement loc et iloc sans utiliser ix.
Voici quelques-uns des processus susceptibles d'être utilisés personnellement.
test.py
#Spécifiez les conditions pour définir le contenu de DataFrame sur True et False
print(df >= 300)
# a b
# Jan True False
# Feb True False
# Mar False True
# Apr False True
#Rendre un nombre inférieur à 300 NaN
print(df[df >= 300])
# a b
# Jan 400 NaN
# Feb 300 NaN
# Mar NaN 300
# Apr NaN 400
#Remplissez la valeur manquante NaN avec 0
print(df[df >= 300].fillna(0))
# a b
# Jan 400 0
# Feb 300 0
# Mar 0 300
# Apr 0 400
#Stocker la valeur manquante NaN comme valeur moyenne pour chaque colonne
print(df[df >= 300].fillna(df.mean()))
# a b
# Jan 400 250
# Feb 300 250
# Mar 250 300
# Apr 250 400
Avant d'étudier sérieusement, c'est tout! J'ai résumé cela.
Je pense que je m'en suis souvenu et que je l'ai finalement mis en place au point de départ.
Je suis aussi un débutant en pandas, donc je ferai de mon mieux pour étudier ...
Recommended Posts