[PYTHON] Premiers pas avec les pandas: connaissances de base à retenir en premier

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.

Série / DataFrame / Panel

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».

Fonctionnement de base de la génération

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.

Opération d'extraction de base

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

Différence entre loc, iloc et ix

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.

Autres processus susceptibles d'être utilisés

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

À la fin

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

Premiers pas avec les pandas: connaissances de base à retenir en premier
Premiers pas avec python3 # 1 Apprenez les connaissances de base
Matériel à lire lors de la mise en route de Python
Premiers pas avec Android!
Convertir 202003 en 2020-03 avec les pandas
Premiers pas avec apache2
Premiers pas avec Python
Premiers pas avec Django 1
Introduction à l'optimisation
Premiers pas avec Numpy
Premiers pas avec Spark
Premiers pas avec Python
Premiers pas avec Pydantic
Premiers pas avec Jython
Premiers pas avec Django 2
Matériel à lire lors de la mise en route d'Apache Beam
Introduction aux fonctions Python
Introduction à Tkinter 2: Button
Premiers pas avec Go Assembly
Premiers pas avec PKI avec Golang ―― 4
Premiers pas avec Python Django (1)
Premiers pas avec Python Django (4)
Premiers pas avec Python Django (3)
Introduction à Python Django (6)
Premiers pas avec Django avec PyCharm
Premiers pas avec Python Django (5)
Connaissances minimales pour démarrer avec le module de journalisation Python
Premiers pas avec Poetry De l'installation à l'exécution et à la gestion des versions
Premiers pas avec Python responder v2
Lien pour commencer avec python
Introduction à Git (1) Stockage d'historique
Premiers pas avec Sphinx. Générer docstring avec Sphinx
Premiers pas avec les applications Web Python
Premiers pas avec Python pour les classes PHPer
Premiers pas avec Sparse Matrix avec scipy.sparse
Premiers pas avec Julia pour Pythonista
Les ingénieurs de données apprennent DevOps en vue de MLOps. ① Prise en main
Premiers pas avec Python Bases de Python
Comment démarrer avec Scrapy
Comment démarrer avec Python
Comment résoudre les problèmes de planification linéaire avec PuLP
Comment démarrer avec Django
1. Statistiques apprises avec Python 1-1. Statistiques de base (Pandas)
Premiers pas avec Cisco Spark REST-API
Commençant par USD sur Windows
Je veux faire ○○ avec les Pandas
Premiers pas avec les algorithmes génétiques Python
Premiers pas avec Python 3.8 sous Windows
Premiers pas avec Python pour les fonctions PHPer
Premiers pas avec CPU Steal Time
[Python] Pour démarrer avec Python, vous devez d'abord vous assurer que vous pouvez utiliser Python correctement.
Notes d'étape pour démarrer avec django
python à retenir uniquement avec bonjour, mondes
Premiers pas avec Python Web Scraping Practice
J'ai essayé de commencer avec Hy