Je vais vous expliquer comment utiliser Pandas d'une manière facile à comprendre.

À propos de cet article

Je vais vous expliquer comment utiliser Pandas de manière simple. Si vous lisez correctement cet article, tout va bien.

Comprendre les fichiers CSV avant de commencer avec Pandas

Si vous êtes un débutant complet, écoutez simplement le fichier CSV avant de commencer à étudier les pandas.

Qu'est-ce qu'un fichier CSV?

CSV (valeur séparée par des virgules) est un fichier "séparé" qui lit littéralement "les valeurs sont séparées par des virgules (,)". Regardons un exemple concret. Supposons que vous ayez un fichier comme celui ci-dessous.

Langue utilisée,Des années d'expérience,revenu annuel
Python,10,"¥60,000,000.00"
Ruby,2,"¥3,500,000.00"
Swift,4,"¥5,000,000.00"

Si vous l'ouvrez avec une feuille de calcul Excel ou Google, elle s'affichera comme suit. スクリーンショット 2020-06-14 8.57.57.png Conclusion La seule chose que vous devez garder à l'esprit est la version délimitée "," du fichier Excel.

table des matières

・ Qu'est-ce que les pandas? · Procédure d'installation ・ Type de données de base ・ Comment récupérer des données (loc, iloc, tête, queue, etc.) ・ Lecture et sortie des données ・ Tri des données ・ Traitement des valeurs manquantes Manipuler les données ・ Edition de série · Trame de données ・ Traitement statistique

Qu'est-ce que les pandas

Pandas est une bibliothèque pour une analyse efficace des données en Python. C'est un peu abstrait et je ne sais pas ce que c'est, alors je vais en parler concrètement. Lors de l'exécution de l'apprentissage automatique ou de l'analyse de données, les données de cet apprentissage ne sont souvent pas organisées pour un apprentissage approprié. Par conséquent, en utilisant ces Pandas, vous pouvez facilement mettre en forme les données. Ce processus avant d'effectuer cet apprentissage automatique s'appelle le prétraitement des données. En parlant de prétraitement des données, utilisez Pandas! !! !! !! !! !! !! !! !! S'il vous plaît gardez en tête.

Procédure d'installation

Si vous avez installé Python à l'aide d'Anaconda, vous l'avez probablement déjà installé. Si non installé

pip install pandas

Utilisez les pandas

Pour utiliser Pandas, vous devez charger la bibliothèque Pandas.

import pandas as pd

C'est ennuyeux de l'appeler avec des pandas à chaque fois, donc j'utilise généralement pd.

Types de données (Series et DataFrame)

Series La série est un type de données avec une seule colonne. Pour le dire d'une manière difficile, il s'agit d'une structure de données unidimensionnelle.

import pandas as pd

l = [1,2,3,4,5]
series = pd.Series(l)
print(series)
==========>
0    1
1    2
2    3
3    4
4    5
dtype: int64

Le nombre à gauche est l'index (étiquette de ligne) et le nombre à droite est les données de la série.

Trame de données

Une trame de données est une structure de données étiquetée bidimensionnelle qui est la structure de données la plus utilisée dans Pandas. C'est facile à comprendre si vous imaginez les données d'Excel et de tableur.


import pandas as pd
df = pd.DataFrame({
    'Langue du programme' :['Python', 'Ruby', 'Go'],
    'Des années d'expérience' : [1, 1, 2],
    'revenu annuel' : [3000000, 2800000, 16900000]
    })
print(df)
===========>
Langue du programme Années d'expérience Années de revenu
0  Python     1   3000000
1    Ruby     1   2800000
2      Go     2  16900000

Une telle image スクリーンショット 2020-06-14 9.51.27.png

À propos, dans le type de trame de données, il est automatiquement trié par l'étiquette de ligne (index), de sorte que l'ordre peut changer.

Comment récupérer des données

séries

Pour la série, vous pouvez y accéder avec l'étiquette de ligne telle quelle.


import pandas as pd

l = [1,2,3,4,5]
series = pd.Series(l)
print(series[1])
==========>
2

Type de trame de données

Le problème est là. Il existe différentes façons de le supprimer, alors regardons-le dans l'ordre. En principe, supposons que vous disposez des données suivantes.

import pandas as pd
df = pd.DataFrame({
    'Langue du programme' :['Python', 'Python','Ruby', 'Go','C#','C#'],
    'Des années d'expérience' : [1, 1, 2, 3, 1,3],
    'revenu annuel' : [3000000, 2800000, 16900000,1230000,2000000,500000],
    'âge' : [21,22,34,55,11,8]
    })
print(df)
============>
Langue du programme Années d'expérience Années de revenu Âge
0  Python     1   3000000  21
1  Python     1   2800000  22
2    Ruby     2  16900000  34
3      Go     3   1230000  55
4      C#     1   2000000  11
5      C#     3    500000   8

スクリーンショット 2020-06-14 9.54.46.png

Obtenez une colonne spécifique

print(df['Langue du programme'])
#Ou df.'Langue du programme'Mais des résultats similaires peuvent être obtenus.
=================>
0    Python
1    Python
2      Ruby
3        Go
4        C#
5        C#
Name:Langue du programme, dtype: object

Obtenez une ligne spécifique

print(df[0:2])
===============>
Langue du programme Années d'expérience Années de revenu Âge
0  Python     1  3000000  21
1  Python     1  2800000  22

Je vais vous expliquer en détail car il semble que cela ne sera pas compris comme une colonne. Si vous entrez la clé normalement avec df [], les pandas détermineront qu'il s'agit d'un nom de colonne. Si vous tapez df [slice], les Pandas considéreront cela comme une étiquette de ligne.

Obtenir des "colonnes et lignes" spécifiques (loc et iloc)

Cette fois, spécifiez les lignes et les colonnes. loc Utilisation de base de loc loc [spécification de ligne, spécification de colonne] Dans loc, spécifiez le nom de la ligne et le nom de la colonne. iloc Utilisation de base d'iloc iloc [numéro de ligne, numéro de colonne] Dans iloc, spécifiez par numéro de ligne et numéro de colonne.

En fait bouger

import pandas as pd
df = pd.DataFrame({
    'Langue du programme' :['Python', 'Python','Ruby', 'Go','C#','C#'],
    'Des années d'expérience' : [1, 1, 2, 3, 1,3],
    'revenu annuel' : [3000000, 2800000, 16900000,1230000,2000000,500000],
    'âge' : [21,22,34,55,11,8]
    })

print(df.loc[0:2,'Langue du programme'])#Cela inclut également la dernière valeur de la tranche. C'est juste le nom de la ligne.
print(df.iloc[0:2,0])#Cela n'inclut pas la dernière valeur de la tranche!
=================>
0    Python
1    Python
2      Ruby
Name:Langue du programme, dtype: object
0    Python
1    Python
Name:Langue du programme, dtype: object

Veuillez lire les commentaires pour le moment. Il existe des différences dans les résultats de sortie. D'ailleurs, si vous accédez à une colonne qui n'existe pas, NaN sera renvoyé.

tête () et queue ()

Si vous utilisez head (), les 5 premiers cas Vous pouvez utiliser tail () pour accéder aux 5 derniers éléments.

print(df.head())
==================>
Langue du programme Années d'expérience Années de revenu Âge
0  Python     1   3000000  21
1  Python     1   2800000  22
2    Ruby     2  16900000  34
3      Go     3   1230000  55
4      C#     1   2000000  11

print(df.tail())
==================>
Langue du programme Années d'expérience Années de revenu Âge
1  Python     1   2800000  22
2    Ruby     2  16900000  34
3      Go     3   1230000  55
4      C#     1   2000000  11
5      C#     3    500000   8
#Vous pouvez spécifier le nombre d'éléments auxquels accéder avec un argument.
print(head(2))
====================>
Langue du programme Années d'expérience Années de revenu Âge
0  Python     1  3000000  21
1  Python     1  2800000  22
print(tail(2))
=====================>
Langue du programme Années d'expérience Années de revenu Âge
4      C#     1  2000000  11
5      C#     3   500000   8

Extraire des lignes en spécifiant des conditions (requête)

En utilisant query (), il est possible de spécifier la valeur du bloc de données et d'extraire la ligne qui le contient. Il est généralement spécifié à l'aide de l'opérateur de comparaison.

import pandas as pd
df = pd.DataFrame({
    'Langue du programme' :['Python', 'Python','Ruby', 'Go','C#','C#'],
    'Des années d'expérience' : [1, 1, 2, 3, 1,3],
    'revenu annuel' : [3000000, 2800000, 16900000,1230000,2000000,500000],
    'âge' : [21,22,34,55,11,8]
    })
print(df.query('Des années d'expérience<= 2'))
========================>
Langue du programme Années d'expérience Années de revenu Âge
0  Python     1   3000000  21
1  Python     1   2800000  22
2    Ruby     2  16900000  34
4      C#     1   2000000  11

Entrée / sortie de données

Pandas a la capacité d'entrer des données et de les sortir sous forme de fichier après manipulation. Ici, nous ne présenterons que les fonctions.

import pandas as pd

pd.read_CSV('nom de fichier', header, sep,...)#read_En CSV, le délimiteur par défaut est ",」
pd.read_table('nom de fichier', header, sep....)# read_Dans le tableau, le délimiteur par défaut est "\t」

#En sortie,
pd.to_csv('nom de fichier')
pd.to_excel('nom de fichier')
pd.to_html('nom de fichier')
#Etc.

Tri des données

Il existe deux méthodes principales.

  1. Comment utiliser l'index (nom de ligne / nom de colonne) et comment trier en fonction de la valeur ... sort_index ()
  2. Comment trier par valeur de colonne ... sort_values ()
import pandas as pd
df = pd.DataFrame({
    'Langue du programme' :['Python', 'Python','Ruby', 'Go','C#','C#'],
    'Des années d'expérience' : [1, 1, 2, 3, 1,3],
    'revenu annuel' : [3000000, 2800000, 16900000,1230000,2000000,500000],
    'âge' : [21,22,34,55,11,8]
    })

print(df.sort_index(ascending=False))
===============================>
Langue du programme Années d'expérience Années de revenu Âge
5      C#     3    500000   8
4      C#     1   2000000  11
3      Go     3   1230000  55
2    Ruby     2  16900000  34
1  Python     1   2800000  22
0  Python     1   3000000  21

print(df.sort_values(by="revenu annuel") )
=================================>
Langue du programme Années d'expérience Années de revenu Âge
5      C#     3    500000   8
3      Go     3   1230000  55
4      C#     1   2000000  11
1  Python     1   2800000  22
0  Python     1   3000000  21
2    Ruby     2  16900000  34

Traitement des valeurs manquantes

Vous rencontrerez de nombreuses valeurs manquantes dans l'analyse des données et l'apprentissage automatique. Les valeurs manquantes sont les parties manquantes des données. (Par exemple, la colonne sans réponse du questionnaire) coming soon....

Recommended Posts

Je vais vous expliquer comment utiliser Pandas d'une manière facile à comprendre.
J'ai essayé de résumer comment utiliser les pandas de python
J'ai essayé d'expliquer comment obtenir le contenu de l'article avec l'API MediaWiki d'une manière facile à comprendre avec des exemples (Python 3)
[Pour les débutants] Je souhaite expliquer le nombre d’apprentissage d’une manière facile à comprendre.
[Deep Learning from scratch] J'ai essayé d'expliquer la confirmation du gradient d'une manière facile à comprendre.
Comment utiliser Pandas 2
[Python] J'ai essayé de résumer le type collectif (ensemble) d'une manière facile à comprendre.
J'ai essayé de résumer Cpaw Level1 & Level2 Write Up d'une manière facile à comprendre
Comment obtenir un aperçu de vos données dans Pandas
Comment utiliser les classes dans Theano
Comment écrire sobrement avec des pandas
[Python] Comment utiliser la série Pandas
Comment utiliser SQLite en Python
Comment utiliser Mysql avec python
Comment utiliser ChemSpider en Python
[Python] Résumé de l'utilisation des pandas
[Introduction à Python] Comment utiliser la classe en Python?
[Pandas] Qu'est-ce que set_option [Comment utiliser]
J'ai essayé de comprendre l'apprentissage supervisé de l'apprentissage automatique d'une manière facile à comprendre, même pour les ingénieurs serveurs 1
Comment utiliser Google Test en langage C
Comment réattribuer un index dans pandas dataframe
Comment utiliser l'interpréteur d'Anaconda avec PyCharm
Comment utiliser les expressions régulières en Python
Comment utiliser Map dans ViewPager d'Android
J'ai essayé de comprendre l'apprentissage supervisé de l'apprentissage automatique d'une manière facile à comprendre, même pour les ingénieurs serveurs 2
Comment lire des fichiers CSV avec Pandas
Comment utiliser is et == en Python
Comment utiliser les pandas Timestamp et date_range
Comment utiliser la bibliothèque d'images Python dans la série python3
Comment obtenir de l'aide dans un shell interactif
Résumé de l'utilisation de MNIST avec Python
Comment utiliser tkinter avec python dans pyenv
Affichez les journaux d'une manière facile à comprendre avec Ansible
Introduction au Deep Learning (1) --Chainer est expliqué d'une manière facile à comprendre pour les débutants-
Comment utiliser xml.etree.ElementTree
Comment utiliser Python-shell
[Pour les débutants] Comment utiliser la commande say avec python!
Remarques sur l'utilisation de tf.data
Comment utiliser virtualenv
Comment utiliser Seaboan
Comment utiliser la correspondance d'image
Comment utiliser le shogun
J'ai essayé de résumer comment utiliser matplotlib de python
Je veux utiliser self avec Backpropagation (tf.custom_gradient) (tensorflow)
Comment utiliser Virtualenv
Expliquez en détail comment créer un son avec python
Comment utiliser numpy.vectorize
J'ai essayé de comprendre comment utiliser les pandas et la colinéarité multiple en utilisant l'ensemble de données Affaires comme thème.
Un mémorandum sur l'utilisation de keras.preprocessing.image de Keras
Comment utiliser partiel
Comment utiliser Bio.Phylo
Comment utiliser SymPy
Comment utiliser WikiExtractor.py
Comment accéder avec cache lors de la lecture_json avec pandas
Comment utiliser IPython
Comment utiliser virtualenv
Comment utiliser le moteur de modèle dans une application de fichier de Pyramid
Comment utiliser Matplotlib
Comment créer un outil CLI interactif avec Golang