Créez un arbre de décision à partir de zéro avec Python et comprenez-le (3. Bibliothèque d'analyse de données édition Pandas)

** Créer et comprendre des arbres de décision à partir de zéro en Python ** 1. Présentation-2. Bases du programme Python --3 Analyse des données Pandas de la bibliothèque

Je vais vous expliquer comment utiliser la bibliothèque Pandas pour créer un arbre de décision.

3.1 Importer des bibliothèques

#Importez pamdas et déclarez-le pour être utilisé dans le programme sous le nom pd.
import pandas as pd

3.2 DataFrame, Series pandas utilise des cadres et des séries de données. Lorsque les données sont représentées comme un tableau Excel, comme illustré dans la figure suivante, lorsque les lignes sont des données et que les colonnes sont des attributs de données, DataFrame représente la table entière et Series représente une ligne. Je vais.

3.3 Génération de DataFrame

Lisez un fichier Excel. read_excel [ExcelWriter](https://pandas.pydata.org/pandas-docs/stable/ référence / api / pandas.ExcelWriter.html)

#Téléchargez le fichier Excel au même emplacement que ce fichier ipynb.
df0 = pd.read_excel("data_golf.xlsx")

#Affichez le DataFrame sous forme de tableau HTML.
from IPython.display import HTML
html = "<div style='font-family:\"Meilio\";'>"+df0.to_html()+"</div>"
HTML(html)


#Enregistrer dans un fichier Excel(avec est f.Quelque chose qui exécute automatiquement le processus de fermeture)
with pd.ExcelWriter("data_golf2.xlsx") as f:
    df0.to_excel(f)

Comment générer à partir du type de dictionnaire (tableau associatif): Le type de dictionnaire (tableau associatif) organise les données par colonnes. DataFrame

#Générer à partir du type de dictionnaire: collectez les données par colonnes.
d = {
    "Météo":["Bien","Bien","Nuageux","pluie","pluie","pluie","Nuageux","Bien","Bien","pluie","Bien","Nuageux","Nuageux","pluie"],
    "Température":["Chaud","Chaud","Chaud","Chaud","Ryo","Ryo","Ryo","Chaud","Ryo","Chaud","Chaud","Chaud","Chaud","Chaud"],
    "Humidité":["Haute","Haute","Haute","Haute","d'habitude","d'habitude","d'habitude","Haute","d'habitude","d'habitude","d'habitude","Haute","d'habitude","Haute"],
    "Vent":["Rien","Oui","Rien","Rien","Rien","Oui","Oui","Rien","Rien","Rien","Oui","Oui","Rien","Oui"],
    "le golf":["×","×","○","○","○","×","○","×","○","○","○","○","○","×"],
}
df0 = pd.DataFrame(d)

Comment générer à partir d'un tableau: organisez les données en lignes. DataFrame

#Générer à partir d'un tableau: organisez les données en lignes.

d = [["Bien","Chaud","Haute","Rien","×"],
     ["Bien","Chaud","Haute","Oui","×"],
     ["Nuageux","Chaud","Haute","Rien","○"],
     ["pluie","Chaud","Haute","Rien","○"],
     ["pluie","Ryo","d'habitude","Rien","○"],
     ["pluie","Ryo","d'habitude","Oui","×"],
     ["Nuageux","Ryo","d'habitude","Oui","○"],
     ["Bien","Chaud","Haute","Rien","×"],
     ["Bien","Ryo","d'habitude","Rien","○"],
     ["pluie","Chaud","d'habitude","Rien","○"],
     ["Bien","Chaud","d'habitude","Oui","○"],
     ["Nuageux","Chaud","Haute","Oui","○"],
     ["Nuageux","Chaud","d'habitude","Rien","○"],
     ["pluie","Chaud","Haute","Oui","×"],
    ]
df0 = pd.DataFrame(d,columns=["Météo","Température","Humidité","Vent","le golf"])

3.4 Obtenir des informations sur la table, etc.

#Obtenez des informations sur la table, etc.

#Nombre de lignes et de colonnes
print(df0.shape) #production(14, 5)

#Obtenez le nombre de lignes
print(df0.shape[0]) #Sortie 14

#Obtenir le nom de la colonne
print(df0.columns) #Index de sortie(['Météo', 'Température', 'Humidité', 'Vent', 'le golf'], dtype='object')

#Obtenir le nom de la ligne (le nom de la ligne de df0 est un index attribué automatiquement)
print(df0.index) #Gamme de sortieIndex(start=0, stop=14, step=1)

3.5 Obtenir la valeur loc [iloc](https: // pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.iloc.html#pandas.DataFrame.iloc) [valeurs](https://pandas.pydata.org/pandas-docs/stable/ référence / api / pandas.DataFrame.values.html # pandas.DataFrame.values)

#Obtenez de la valeur

#Obtenez la valeur en spécifiant la ligne et la colonne.
#Numéro de ligne 1(Seconde donnée),Obtenez l'humidité de.
print(df0.loc[1,"Humidité"]) #Sortie élevée

#Obtenez la valeur en spécifiant plusieurs lignes et colonnes dans un tableau.
#Numéro de ligne 1,2,Les valeurs météo et golf de 4 sont acquises ensemble, et les données acquises sont également de type DataFrame.
df = df0.loc[[1,2,4],["Météo","le golf"]]
print(df)
#production
#Météo golf
#1 amende ×
#2 Nuageux ○
#4 pluie ○
print(type(df)) #production<class 'pandas.core.frame.DataFrame'>

#Les tranches (processus d'extraction d'un tableau) peuvent également être utilisées pour spécifier un tableau de lignes et de colonnes.
#Obtenez des données pour toutes les colonnes des lignes 1 à 4. loc spécifie un nom, donc 1:Si c'est 4, cela inclut 4.
df = df0.loc[1:4,:]
print(df)
#production
#Météo Température Humidité Vent Golf
#1 Chaleur fine Oui ×
#2 Chaleur nuageuse Non élevé ○
#3 Pluie, chaleur, pas de hauteur ○
#4 Rain Ryo Normal Aucun ○

#iloc vous permet d'indexer des lignes et des colonnes. Les index sont comptés à partir de 0.
#Obtenez des données autres que la dernière colonne (golf) des lignes 1 à 3. iloc spécifie un index, donc 1:Si c'est 4, cela n'inclut pas 4.
df = df0.iloc[1:4,:-1]
print(df)
#production
#Météo Température Humidité Vent
#1 Ensoleillé, chaud et chaud
#2 Chaleur nuageuse
#3 Pluie, chaleur, pas de hauteur

#1 ligne(Series)Obtenez de la valeur
#Obtenez les données de la première ligne. s est le type de série
s = df0.iloc[0,:]
#Comme le type de dictionnaire, s["Nom de colonne"]Vous pouvez obtenir la valeur avec.
print(s["Météo"]) #Fin de sortie

#Organiser toutes les valeurs(numpy.ndarray)Obtenez dans le format de.
print(df0.values)

3.6 Boucle de données, regardant les données séquentielles iterrows [iteritems](https: / /pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.iteritems.html)

#Regardons la boucle de données et les données séquentielles.

#Boucle sur la ligne. Regardez les données ligne par ligne.
for i,row in df0.iterrows():
    #i est le nom de la ligne (index de la ligne), la ligne est la série
    print(i,row)
    pass
    
#Boucle sur une colonne. Regardez les données verticalement, colonne par colonne.
for i,col in df0.iteritems():
    #i est le nom de la colonne, col est la série
    print(i,col)
    pass

3.7 Fréquence value_counts

#la fréquence(Nombre d'apparitions de données)

#Obtenez toutes les données de la colonne météo. s est la série
s = df0.loc[:,"Météo"]

#Obtenez quelles données et combien.
print(s.value_counts())
#production
#Amende 5
#Pluie 5
#Nuageux 4
# Name:Météo, dtype: int64

#Par exemple, obtenez le nombre de beau temps.
print(s.value_counts()["Bien"]) #Sortie 5

3.8 Extraction de données spécifiques query

#Extraction de données spécifiques

#Acquisition de données sur les beaux jours
print(df0.query("Météo=='Bien'"))
#production
#Météo Température Humidité Vent Golf
#0 Chaleur fine Pas élevée ×
#1 Chaleur fine Oui ×
#7 Fin, chaud, haut, non ×
#8 Sunny Ryo Normal Aucun ○
#10 Sunny Warm Normal Oui ○

#Obtenez des données pour aller au golf par beau temps
print(df0.query("Météo=='Bien'et golf=='○'"))
#production
#Météo Température Humidité Vent Golf
#8 Sunny Ryo Normal Aucun ○
#10 Sunny Warm Normal Oui ○

#Obtenez des données par beau temps ou allez au golf
print(df0.query("Météo=='Bien'ou golf=='○'"))
#production
#Météo Température Humidité Vent Golf
#0 Chaleur fine Pas élevée ×
#1 Chaleur fine Oui ×
#2 Chaleur nuageuse Non élevé ○
#3 Pluie, chaleur, pas de hauteur ○
#4 Rain Ryo Normal Aucun ○
#6 Nuageux Ryo Normal Oui ○
#7 Fin, chaud, haut, non ×
#8 Sunny Ryo Normal Aucun ○
#9 Pluie Chaud Normal Aucun ○
#10 Sunny Warm Normal Oui ○
#11 Nuageux Chaud Élevé Oui ○
#12 Chaleur nuageuse Normal Aucun ○

Recommended Posts

Créez un arbre de décision à partir de zéro avec Python et comprenez-le (3. Bibliothèque d'analyse de données édition Pandas)
Créez un arbre de décision à partir de 0 avec Python et comprenez-le (4. Structure des données)
Créez un arbre de décision à partir de 0 avec Python et comprenez-le (5. Entropie des informations)
2.Faites un arbre de décision à partir de 0 avec Python et comprenez-le (2. Bases du programme Python)
Créer un arbre de décision à partir de 0 avec Python (1. Présentation)
Créez rapidement un tableau de bord d'analyse de données Python avec Streamlit et déployez-le sur AWS
Obtenez des données de VPS MySQL avec Python 3 et SQL Alchemy
Pratique de l'analyse de données par Python et pandas (Tokyo COVID-19 data edition)
Créer un Ubuntu de démarrage USB avec un environnement Python pour l'analyse des données
Extraire des données d'une page Web avec Python
Analyse de données avec python 2
Analyse de données avec Python
Construction d'un environnement d'analyse de données avec Python (notebook IPython + Pandas)
Recevoir des e-mails de Gmail et étiqueter avec Python3
Obtenez une grande quantité de données Twitter de Starba avec python et essayez l'analyse de données Partie 1
Jusqu'à ce que vous créiez un environnement d'apprentissage automatique avec Python sur Windows 7 et que vous l'exécutiez
J'ai essayé de créer un cadre de données pandas en grattant les informations de rappel d'aliments avec Python
Un mémo qui lit les données de dashDB avec Python et Spark
Associez Python Enum à une fonction pour la rendre appelable
Créez des applications, enregistrez des données et partagez-les avec un seul e-mail
Créons un diagramme PRML avec Python, Numpy et matplotlib.
20200329_Introduction à l'analyse de données avec Python 2nd Edition Personal Summary
J'ai créé un serveur avec socket Python et ssl et j'ai essayé d'y accéder depuis le navigateur
Créez un outil d'analyse vidéo simple avec python wxpython + openCV
[Python / Ruby] Comprendre le code Comment obtenir des données en ligne et les écrire au format CSV
Hash avec python et échapper à l'égosa d'un certain ministre
Python: créer un dictionnaire à partir d'une liste de clés et de valeurs
Créez un script de déploiement avec fabric et cuisine et réutilisez-le
Bibliothèque pour spécifier un serveur de noms en python et dig
Créer un répertoire avec python
[Python] Extraction / combinaison de données aléatoires à partir de DataFrame en utilisant random et pandas
Analyse de données à l'aide de pandas python
Créez un fichier temporaire avec django sous forme de zip et renvoyez-le
Exercice pratique d'analyse de données avec Python ~ 2016 New Coder Survey Edition ~
Créez une illusion rayée avec correction gamma pour Python3 et openCV3
Introduction à l'analyse de données par Python P17-P26 [ch02 1.usa.gov données de bit.ly]
Obtenez les conditions de simulation OCTA à partir d'un fichier et enregistrez avec les pandas
Frappez les données du trésor de Python Pandas
Créer un arbre déterminé avec scikit-learn
Créez un Dataframe pandas à partir d'une chaîne.
Créez un environnement virtuel avec Python!
Analyse de données à partir de python (visualisation de données 1)
Analyse de données à partir de python (visualisation de données 2)
Lire et formater des fichiers csv mélangés avec des tabulations de virgule avec des pandas Python
[AWS] Créez un environnement Python Lambda avec CodeStar et faites Hello World
Quand j'ai utilisé phantomjs de la bibliothèque de sélénium de Python, il est devenu zombie
Créez un outil qui secoue automatiquement furigana avec html en utilisant Mecab de Python3
[Didacticiel d'analyse Python dans la base de données avec SQL Server 2017] Étape 3: Exploration et visualisation des données
[Édition DSU] Lecture de la bibliothèque AtCoder avec un codeur vert ~ Implémentation en Python ~
Créer une pile avec une file d'attente et une file d'attente avec une pile (à partir de LetCode / Implémenter la pile à l'aide de files d'attente, Implémenter la file d'attente à l'aide de piles)
Joindre les données avec la clé principale (obligatoire) et la sous-clé (facultative) dans les pandas Python
Créez un environnement Python 3 avec pyenv sur Mac et affichez des graphiques Network X
Construction de pipeline de données avec Python et Luigi
Recevoir des données textuelles de mysql avec python
Créer un décorateur de fonction Python avec Class