Pandas du débutant, par le débutant, pour le débutant [Python]

Avant de lire cet article

Ceci est un résumé de ce que j'ai écrit pour ne pas l'oublier, avec un peu d'informations ajoutées. S'il est difficile à lire ou à comprendre, veuillez le commenter car nous le corrigerons.

finallpandas.png Référence: https://www.geeksforgeeks.org/python-pandas-dataframe/

Environnement de développement à utiliser

  1. anaconda
  2. Pycharm
  3. Python3.7.7

Modifier l'historique -2020/04/05 -2020/04/05 --Ajout: supprimer les données

Avant de commencer Pandas

#Installer, importer
pip install pandas
import pandas as pd

Jouons réellement avec les pandas.

Obtenez des données

Si vous voulez faire quelque chose avec les pandas, vous devez l'obtenir. Préparez-le au format csv. Cette fois, j'utiliserai une personne infectée par le virus corona (préfecture de Hyogo).

url = "https://web.pref.hyogo.lg.jp/kk03/corona_hasseijyokyo.html"
dfs = pd.read_html(url)
print(dfs[0].head())
#Afficher le tableau HTML à l'invite

>>>
     0   1   2            3    4     5    6
0 Nombre Âge Sexe Résidence Occupation Date de l'annonce Remarques
1162 40 Homme Médecin de la ville de Kobe 1er avril NaN
2161 20 Homme Itami Health and Welfare Office Juridiction Company Employee 1 avril NaN
3160 50 femmes au chômage de la ville de Takarazuka au 1er avril NaN
4159 60 Homme Médecin de la ville de Takarazuka 1er avril NaN
#Créez le tableau sur HTML csv.
#Éditeur de texte

import csv

tables = pd.read_html("https://web.pref.hyogo.lg.jp/kk03/corona_hasseijyokyo.html", header=0)
data = tables[0]
data.to_csv("coronaHyogo.csv", index=False)  #production

Lire CSV

dfs = pd.read_csv('C:/Users/Desktop/coronaHyogo.csv')
print (dfs)
#Ouvrez CSV avec des pandas

>>>
Nombre Âge Sexe Résidence Profession Date de l'annonce Remarques
0169 40 Homme Employé de bureau de la ville d'Amagasaki 2 avril NaN
1168 60 Homme employé du bureau de la ville d'Ashiya 2 avril NaN
2167 50 Homme Itami Health and Welfare Office Juridiction Company Employee 2 avril NaN
3166 20 Femme Itami City NaN 2 avril NaN
4165 20 Malé Akashi City NaN 2 avril NaN
..  ...  ..  ..             ...  ...    ...  ...
64105 70 Homme Itami City Chômeurs 21 mars NaN
65104 80 Femme au chômage de la ville de Takarazuka 21 mars Décès
66103 60 Homme employé du bureau de la ville d'Amagasaki 21 mars NaN
67102 40 Femme rapatriée (annoncée par le centre de santé de la ville de Himeji) Chômage 21 mars NaN
68101 20 Homme étudiant de la ville d'Amagasaki 20 mars NaN

Confirmation des données

dfs.shape #Vérifiez le nombre de lignes et de colonnes dans le dataframe
>>> (69, 7)

dfs.index #Vérifier l'index
>>> RangeIndex(start=0, stop=69, step=1)

dfs.columns #Vérifier la colonne
>>> Index(['nombre', 'Âge', 'sexe', 'résidence', 'Métier', 'Date de l'annonce', 'Remarques'], dtype='object')

dfs.dtypes #Vérifiez le type de données de chaque colonne de dataframe
>>>
Numéro int64
Âge int64
Objet de genre
Lieu de résidence objet
Objet d'occupation
Objet de date d'annonce
Objet Remarques
dtype: object

Extraction d'informations

df.head(3)
#Extrait de la tête à la troisième ligne.

>>>
Nombre Âge Sexe Résidence Profession Date de l'annonce Remarques
0169 40 Homme Employé de bureau de la ville d'Amagasaki 2 avril NaN
1168 60 Homme employé du bureau de la ville d'Ashiya 2 avril NaN
2167 50 Homme Itami Health and Welfare Office Juridiction Company Employee 2 avril NaN
dfs.tail()
#Tirez par derrière.

>>>
Nombre Âge Sexe Résidence Profession Date de l'annonce Remarques
64105 70 Homme Itami City Chômeurs 21 mars NaN
65104 80 Femme au chômage de la ville de Takarazuka 21 mars Décès
66103 60 Homme employé du bureau de la ville d'Amagasaki 21 mars NaN
67102 40 Femme rapatriée (annoncée par le centre de santé de la ville de Himeji) Chômage 21 mars NaN
68101 20 Homme étudiant de la ville d'Amagasaki 20 mars NaN
dfs[["Âge","sexe","Date de l'annonce"]].head()
#Spécifiez une colonne et extrayez.

>>>
Âge Sexe Date de l'annonce
0 40 Homme 2 avril
1 60 Homme 2 avril
2 50 Homme 2 avril
3 20 femmes 2 avril
4 20 Homme 2 avril
row2 = dfs.iloc[3]
print(row2)
#Seules les troisièmes données du haut sont affichées.

>>>
Numéro 166
20 ans
sexe féminin
Lieu de résidence Itami City
Profession NaN
Date de l'annonce 2 avril
Remarques NaN

Mise en forme des données

dfs.rename(columns={'sexe': 'sex'}, inplace=True)
dfs.head()
#Changement de nom (du sexe au sexe)

>>>
Nombre Âge sexe Lieu de résidence Profession Date de l'annonce Remarques
0169 40 Homme Employé de bureau de la ville d'Amagasaki 2 avril NaN
1168 60 Homme employé du bureau de la ville d'Ashiya 2 avril NaN
2167 50 Homme Itami Health and Welfare Office Juridiction Company Employee 2 avril NaN
dfs.set_index('Âge', inplace=True)
dfs.head()
#

>>>
Numéro Sexe Lieu de résidence Profession Date de l'annonce Remarques
Âge
40169 Homme employé du bureau de la ville d'Amagasaki 2 avril NaN
60168 Homme employé du bureau de la ville d'Ashiya 2 avril NaN
50167 Homme Itami Health and Welfare Office Juridiction Company Employee 2 avril NaN

dfs.index
>>>
Int64Index([40, 60, 50, 20, 20, 70, 50, 40, 20, 50, 60, 60, 60, 10, 30, 60, 10,
            30, 20, 60, 60, 30, 60, 60, 20, 70, 60, 20, 20, 30, 40, 40, 30, 20,
            20, 50, 30, 70, 60, 60, 70, 20, 60, 30, 50, 40, 30, 10, 50, 70, 20,
            80, 20, 80, 40, 70, 30, 80, 60, 70, 40, 70, 90, 80, 70, 80, 60, 40,
            20],
df.sort_values(by="Âge", ascending=True).head() # ascending=Vrai par ordre croissant
# 'Âge'Colonnes décroissantes
# df.sort_values(['Âge', 'Date de l'annonce'], ascending=False).head() #Le multiple est possible

>>>
Nombre sexe Lieu de résidence Occupation Date de l'annonce Remarques
Âge
10122 étudiante de la ville de Kobe 27 mars NaN
10153 Étudiante de la ville d'Amagasaki, 1er avril NaN
10156 Étudiante de l'école professionnelle de Kawanishi City 1er avril NaN
20 135 Femme Itami Health and Welfare Office Jurisdiction Company Employé 30 mars NaN
20117 Homme Médecin de la ville de Nishinomiya 24 mars NaN
#Suprimmer les données
print(df.drop(columns=['nombre','résidence']))

Comptez le nombre de données

dfs['Âge'].value_counts()
60    15
20    13
70     9
30     9
40     8
50     6
80     5
10     3
90     1
Name:Âge, dtype: int64

Trouver des indicateurs statistiques

#moyenne
mean = dfs['Âge'].mean()
print(mean) #46.3768115942029

#total
sum = dfs['Âge'].sum()
print(sum) #3200

#Médian
median = dfs['Âge'].median()
print(median) #50.0

#Valeur maximum
dfsmax = dfs['Âge'].max()
print(dfsmax) #90

#valeur minimum
dfsmin = dfs['Âge'].min()
print(dfsmin) #10


#écart-type
std = dfs['Âge'].std()
print(std) #21.418176344401118

#Distribué
var = dfs['Âge'].var()
print(var) #458.73827791986366

Recommended Posts

Pandas du débutant, par le débutant, pour le débutant [Python]
Le pouvoir des pandas: Python
le zen de Python
L'histoire selon laquelle le coût d'apprentissage de Python est faible
[Python] Trier la table par sort_values (pandas DataFrame)
Traitement d'image? L'histoire du démarrage de Python pour
Code pour vérifier le fonctionnement de Python Matplot lib
Notes sur la création d'un environnement python par les débutants
Mémo d'apprentissage Python pour l'apprentissage automatique par Chainer jusqu'à la fin du chapitre 2
Vers la retraite de Python2
Résumé des méthodes de prétraitement pour les débutants en Python (trame de données Pandas)
Pandas 100 coups pour les débutants en Python
À propos des fonctionnalités de Python
[Pour les débutants] Les bases de Python expliquées par Java Gold Part 2
[Python] Ouvrez le fichier csv dans le dossier spécifié par pandas
Vérifiez le fonctionnement de Python pour .NET dans chaque environnement
■ Kaggle Practice pour les débutants - Introduction de Python - par Google Colaboratory
Prise en compte des décorateurs Python du type qui passe des variables
Attacher au processus Python de la destination SSH et déboguer
Trouver le diamètre du graphique par recherche de priorité de largeur (mémoire Python)
[Python] Les principales faiblesses et inconvénients de Google Colaboratory [Pour les débutants]
Google recherche la chaîne sur la dernière ligne du fichier en Python
[Pour les débutants] Les bases de Python expliquées par Java Gold Part 1
L'histoire de Python et l'histoire de NaN
[Python] Mémo d'opération de pandas DataFrame
[Python] La pierre d'achoppement de l'importation
Extension du dictionnaire python par argument
First Python 3 ~ Le début de la répétition ~
Existence du point de vue de Python
pyenv-changer la version python de virtualenv
[Python] Comprendre le potentiel_field_planning de Python Robotics
Revue des bases de Python (FizzBuzz)
Voir python pour la première fois
À quoi sert le trait de soulignement Python (_)?
Comportement de python3 par le serveur de Sakura
Premiers pas avec python3
Enregistrement de l'introduction de Python pour les nouveaux arrivants
À propos de la liste de base des bases de Python
Histoire d'approximation de puissance par Python
Commande pour le répertoire courant Python
Apprenez les bases de Python ① Débutants élémentaires
Mémorandum de l'outil de gestion de paquets Python ez_setup
Comment modifier le niveau de journalisation d'Azure SDK pour Python
Envelopper (partie de) la bibliothèque AtCoder en Cython pour une utilisation en Python
[Python] Afficher uniquement les éléments de la liste côte à côte [Vertical, horizontal]
[Compris dans la figure] Gestion de l'environnement virtuel Python par Pipenv
Lire la sortie standard d'un sous-processus ligne par ligne en Python
[Hikari-Python] Chapitre 07-02 Gestion des exceptions (exécution continue du programme par gestion des exceptions)
L'histoire de la création d'un pilote standard pour db avec python.
Enregistrement du code des études cliniques rejeté par le comité d'éthique
Pratique de l'analyse de données par Python et pandas (Tokyo COVID-19 data edition)
python Remarque: map -faire la même chose pour chaque élément de la liste
Création automatique du calendrier mensuel 2021 (recharge pour notebook système) par Python
Python: Trouvez l'épaisseur de plaque requise pour la pression limite de flambage du tube exposé par la méthode Brent
[Python] Comment utiliser l'instruction for. Une méthode d'extraction en spécifiant une plage ou des conditions.
Un débutant en Python a d'abord essayé une analyse rapide et facile des données météorologiques des 10 dernières années.
Explication du modèle d'optimisation de la production par Python
Présentation du framework BOT Minette pour Python
[Python] Résumé de l'utilisation des pandas