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