Erstellen Sie mit Python einen Entscheidungsbaum aus 0 und verstehen Sie ihn (3. Datenanalysebibliothek Pandas Edition)

** Erstellen und Verstehen von Entscheidungsbäumen in Python von Grund auf ** 1. Übersicht-2. Grundlagen des Python-Programms --3 Datenanalyse Bibliothek Pandas

Ich werde erklären, wie die Pandas-Bibliothek zum Erstellen eines Entscheidungsbaums verwendet wird.

3.1 Bibliotheken importieren

#Importieren Sie Pamdas und erklären Sie, dass sie im Programm unter dem Namen pd verwendet werden sollen.
import pandas as pd

3.2 DataFrame, Series Pandas verwendet Datenrahmen und Serien. Wenn Daten wie in der folgenden Abbildung dargestellt wie eine Excel-Tabelle dargestellt werden, wenn Zeilen ein Datenelement und Spalten Datenattribute sind, repräsentiert DataFrame die gesamte Tabelle und Series eine Zeile. Ich werde.

3.3 DataFrame-Generierung

Lesen Sie eine Excel-Datei. read_excel [ExcelWriter](https://pandas.pydata.org/pandas-docs/stable/ Referenz / api / pandas.ExcelWriter.html)

#Laden Sie die Excel-Datei an denselben Speicherort wie diese ipynb-Datei hoch.
df0 = pd.read_excel("data_golf.xlsx")

#Zeigen Sie den DataFrame als HTML-Tabelle an.
from IPython.display import HTML
html = "<div style='font-family:\"Meilio\";'>"+df0.to_html()+"</div>"
HTML(html)


#In Excel-Datei speichern(mit ist f.Etwas, das den Abschlussprozess automatisch ausführt)
with pd.ExcelWriter("data_golf2.xlsx") as f:
    df0.to_excel(f)

So generieren Sie aus dem Wörterbuchtyp (assoziatives Array): Der Wörterbuchtyp (assoziatives Array) organisiert Daten nach Spalten. DataFrame

#Aus Wörterbuchtyp generieren: Daten nach Spalten sammeln.
d = {
    "Wetter":["Fein","Fein","Wolkig","Regen","Regen","Regen","Wolkig","Fein","Fein","Regen","Fein","Wolkig","Wolkig","Regen"],
    "Temperatur":["Heiß","Heiß","Heiß","Warm","Ryo","Ryo","Ryo","Warm","Ryo","Warm","Warm","Warm","Heiß","Warm"],
    "Feuchtigkeit":["Hoch","Hoch","Hoch","Hoch","gewöhnlich","gewöhnlich","gewöhnlich","Hoch","gewöhnlich","gewöhnlich","gewöhnlich","Hoch","gewöhnlich","Hoch"],
    "Wind":["Nichts","Ja","Nichts","Nichts","Nichts","Ja","Ja","Nichts","Nichts","Nichts","Ja","Ja","Nichts","Ja"],
    "Golf":["×","×","○","○","○","×","○","×","○","○","○","○","○","×"],
}
df0 = pd.DataFrame(d)

So generieren Sie aus einem Array: Organisieren Sie die Daten in Zeilen. DataFrame

#Aus Array generieren: Daten in Zeilen organisieren.

d = [["Fein","Heiß","Hoch","Nichts","×"],
     ["Fein","Heiß","Hoch","Ja","×"],
     ["Wolkig","Heiß","Hoch","Nichts","○"],
     ["Regen","Warm","Hoch","Nichts","○"],
     ["Regen","Ryo","gewöhnlich","Nichts","○"],
     ["Regen","Ryo","gewöhnlich","Ja","×"],
     ["Wolkig","Ryo","gewöhnlich","Ja","○"],
     ["Fein","Warm","Hoch","Nichts","×"],
     ["Fein","Ryo","gewöhnlich","Nichts","○"],
     ["Regen","Warm","gewöhnlich","Nichts","○"],
     ["Fein","Warm","gewöhnlich","Ja","○"],
     ["Wolkig","Warm","Hoch","Ja","○"],
     ["Wolkig","Heiß","gewöhnlich","Nichts","○"],
     ["Regen","Warm","Hoch","Ja","×"],
    ]
df0 = pd.DataFrame(d,columns=["Wetter","Temperatur","Feuchtigkeit","Wind","Golf"])

3.4 Tabelleninformationen usw. abrufen

#Holen Sie sich Tabelleninformationen usw.

#Anzahl der Zeilen und Spalten
print(df0.shape) #Ausgabe(14, 5)

#Holen Sie sich die Anzahl der Zeilen
print(df0.shape[0]) #Ausgabe 14

#Spaltennamen abrufen
print(df0.columns) #Ausgabeindex(['Wetter', 'Temperatur', 'Feuchtigkeit', 'Wind', 'Golf'], dtype='object')

#Zeilennamen abrufen (Der Zeilenname von df0 ist ein automatisch zugewiesener Index)
print(df0.index) #Ausgabe RangeIndex(start=0, stop=14, step=1)

3.5 Wert abrufen loc [iloc](https: // pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.iloc.html#pandas.DataFrame.iloc) [Werte](https://pandas.pydata.org/pandas-docs/stable/ Referenz / api / pandas.DataFrame.values.html # pandas.DataFrame.values)

#Wert erhalten

#Ermitteln Sie den Wert, indem Sie die Zeile und Spalte angeben.
#Zeilennummer 1(Zweite Daten),Holen Sie sich die Luftfeuchtigkeit von.
print(df0.loc[1,"Feuchtigkeit"]) #Ausgang hoch

#Geben Sie mehrere Zeilen und Spalten in einem Array an, um den Wert abzurufen.
#Zeilennummer 1,2,Die Wetter- und Golfwerte von 4 werden zusammen erfasst, und die erfassten Daten sind ebenfalls vom Typ DataFrame.
df = df0.loc[[1,2,4],["Wetter","Golf"]]
print(df)
#Ausgabe
#Wettergolf
#1 fein ×
#2 Bewölkt ○
#4 Regen ○
print(type(df)) #Ausgabe<class 'pandas.core.frame.DataFrame'>

#Slices (Prozess zum Extrahieren eines Arrays) können auch zum Angeben eines Zeilen- und Spaltenarrays verwendet werden.
#Daten für alle Spalten in den Zeilen 1 bis 4 abrufen. loc gibt einen Namen an, also 1:Wenn es 4 ist, enthält es 4.
df = df0.loc[1:4,:]
print(df)
#Ausgabe
#Wetter Temperatur Luftfeuchtigkeit Wind Golf
#1 Feine Hitze Ja ×
#2 Bewölkte Hitze Kein Hoch ○
#3 Regen, Wärme, keine Höhe ○
#4 Regen Ryo Normal Keine ○

#Mit iloc können Sie Zeilen und Spalten indizieren. Indizes werden ab 0 gezählt.
#Holen Sie sich andere Daten als die letzte Spalte (Golf) in den Zeilen 1-3. iloc gibt einen Index an, also 1:Wenn es 4 ist, enthält es nicht 4.
df = df0.iloc[1:4,:-1]
print(df)
#Ausgabe
#Wetter Temperatur Luftfeuchtigkeit Wind
#1 Sonnig, heiß und heiß
#2 Bewölkte Hitze
#3 Regen, Wärme, keine Höhe

#1 Zeile(Series)Holen Sie sich Wert von
#Holen Sie sich die Daten für die erste Zeile. s ist vom Serientyp
s = df0.iloc[0,:]
#Wie der Wörterbuchtyp, s["Spaltenname"]Sie können den Wert mit erhalten.
print(s["Wetter"]) #Ausgabe gut

#Ordnen Sie alle Werte an(numpy.ndarray)Holen Sie sich im Format von.
print(df0.values)

3.6 Datenschleife mit Blick auf sequentielle Daten iterrows [iteritems](https: / /pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.iteritems.html)

#Schauen wir uns die Datenschleife und die sequentiellen Daten an.

#Schleife auf der Linie. Schauen Sie sich die Daten Zeile für Zeile an.
for i,row in df0.iterrows():
    #i ist der Zeilenname (Zeilenindex), Zeile ist Serie
    print(i,row)
    pass
    
#Schleife auf einer Säule. Betrachten Sie die Daten vertikal, Spalte für Spalte.
for i,col in df0.iteritems():
    #i ist der Spaltenname, col ist Series
    print(i,col)
    pass

3.7 Häufigkeit value_counts

#Frequenz(Anzahl der Datenerscheinungen)

#Holen Sie sich alle Daten für die Wetterspalte. s ist Serie
s = df0.loc[:,"Wetter"]

#Holen Sie sich welche Daten und wie viele.
print(s.value_counts())
#Ausgabe
#Gut 5
#Regen 5
#Bewölkt 4
# Name:Wetter, dtype: int64

#Ermitteln Sie beispielsweise die Anzahl der Schönwetter.
print(s.value_counts()["Fein"]) #Ausgabe 5

3.8 Extrahieren spezifischer Daten Abfrage

#Extraktion spezifischer Daten

#Datenerfassung bei schönem Wetter
print(df0.query("Wetter=='Fein'"))
#Ausgabe
#Wetter Temperatur Luftfeuchtigkeit Wind Golf
#0 Feine Hitze Kein Hoch ×
#1 Feine Hitze Ja ×
#7 Fein, warm, hoch, nein ×
#8 Sunny Ryo Normal Keine ○
#10 Sunny Warm Normal Ja ○

#Holen Sie sich Daten, um bei schönem Wetter Golf zu spielen
print(df0.query("Wetter=='Fein'und Golf=='○'"))
#Ausgabe
#Wetter Temperatur Luftfeuchtigkeit Wind Golf
#8 Sunny Ryo Normal Keine ○
#10 Sunny Warm Normal Ja ○

#Holen Sie sich Daten bei schönem Wetter oder gehen Sie Golf spielen
print(df0.query("Wetter=='Fein'oder Golf=='○'"))
#Ausgabe
#Wetter Temperatur Luftfeuchtigkeit Wind Golf
#0 Feine Hitze Kein Hoch ×
#1 Feine Hitze Ja ×
#2 Bewölkte Hitze Kein Hoch ○
#3 Regen, Wärme, keine Höhe ○
#4 Regen Ryo Normal Keine ○
#6 Bewölkter Ryo Normal Ja ○
#7 Fein, warm, hoch, nein ×
#8 Sunny Ryo Normal Keine ○
#9 Regen warm Normal Keine ○
#10 Sunny Warm Normal Ja ○
#11 Bewölkt Warm Hoch Ja ○
#12 Bewölkte Hitze Normal Keine ○

Recommended Posts

Erstellen Sie mit Python einen Entscheidungsbaum aus 0 und verstehen Sie ihn (3. Datenanalysebibliothek Pandas Edition)
Machen Sie mit Python einen Entscheidungsbaum von 0 und verstehen Sie ihn (4. Datenstruktur)
Erstellen Sie mit Python einen Entscheidungsbaum von 0 und verstehen Sie ihn (5. Information Entropy)
2. Erstellen Sie mit Python einen Entscheidungsbaum von 0 und verstehen Sie ihn (2. Grundlagen des Python-Programms)
Erstellen Sie mit Python einen Entscheidungsbaum von 0 (1. Übersicht)
Erstellen Sie mit Streamlit schnell ein Python-Datenanalyse-Dashboard und stellen Sie es in AWS bereit
Holen Sie sich Daten von VPS MySQL mit Python 3 und SQL Alchemy
Praxis der Datenanalyse durch Python und Pandas (Tokyo COVID-19 Data Edition)
Erstellen Sie ein USB-Boot-Ubuntu mit einer Python-Umgebung für die Datenanalyse
Extrahieren Sie mit Python Daten von einer Webseite
Datenanalyse mit Python 2
Datenanalyse mit Python
Aufbau einer Datenanalyseumgebung mit Python (IPython Notebook + Pandas)
Erhalten Sie E-Mails von Google Mail und beschriften Sie sie mit Python3
Holen Sie sich mit Python eine große Menge von Starbas Twitter-Daten und probieren Sie die Datenanalyse Teil 1 aus
Bis Sie mit Python unter Windows 7 eine maschinelle Lernumgebung erstellen und ausführen
Ich habe versucht, einen Pandas-Datenrahmen zu erstellen, indem ich mit Python Informationen zum Lebensmittelrückruf abgekratzt habe
Ein Memo, das mit Python & Spark Daten aus dashDB liest
Verknüpfen Sie Python Enum mit einer Funktion, um es aufrufbar zu machen
Erstellen Sie Anwendungen, registrieren Sie Daten und teilen Sie sie mit einer einzigen E-Mail
Lassen Sie uns ein PRML-Diagramm mit Python, Numpy und matplotlib erstellen.
20200329_Einführung in die Datenanalyse mit Python 2nd Edition Personal Summary
Ich habe einen Server mit Python-Socket und SSL erstellt und versucht, über den Browser darauf zuzugreifen
Erstellen Sie mit python wxpython + openCV ein einfaches Videoanalysetool
[Python / Ruby] Mit Code verstehen Wie man Daten aus dem Internet abruft und in CSV schreibt
Hasch mit Python und entkomme dem Ego eines bestimmten Ministers
Python: Erstellen Sie ein Wörterbuch aus einer Liste von Schlüsseln und Werten
Erstellen Sie ein Bereitstellungsskript mit Stoff und Küche und verwenden Sie es erneut
Bibliothek zur Angabe eines Nameservers in Python und Dig
Erstellen Sie ein Verzeichnis mit Python
[Python] Zufällige Datenextraktion / -kombination aus DataFrame mit Random und Pandas
Datenanalyse mit Python-Pandas
Erstellen Sie eine temporäre Datei mit Django als Zip und geben Sie sie zurück
Praktische Übung zur Datenanalyse mit Python ~ 2016 New Coder Survey Edition ~
Erstellen Sie eine gestreifte Illusion mit Gammakorrektur für Python3 und openCV3
Einführung in die Datenanalyse mit Python P17-P26 [ch02 1.usa.gov Daten von bit.ly]
Holen Sie sich OCTA-Simulationsbedingungen aus einer Datei und speichern Sie sie mit Pandas
Hit Schatzdaten von Python Pandas
Erstellen eines bestimmten Baums mit Scikit-Learn
Erstellen Sie einen Pandas-Datenrahmen aus einer Zeichenfolge.
Erstellen Sie eine virtuelle Umgebung mit Python!
Datenanalyse beginnend mit Python (Datenvisualisierung 1)
Datenanalyse beginnend mit Python (Datenvisualisierung 2)
Lesen und formatieren Sie CSV-Dateien gemischt mit Komma-Registerkarten mit Python-Pandas
[AWS] Erstellen Sie mit CodeStar eine Python Lambda-Umgebung und führen Sie Hello World aus
Als ich Phantomjs aus Pythons Selenbibliothek verwendete, wurde es zum Zombie
Erstellen Sie mit Mecab aus Python3 ein Tool, das Furigana automatisch mit HTML schüttelt
[In-Database Python Analysis-Lernprogramm mit SQL Server 2017] Schritt 3: Erkunden und Visualisieren von Daten
[DSU] Lesen der AtCoder-Bibliothek mit Green Coder ~ Implementierung in Python ~
Erstellen Sie einen Stapel mit einer Warteschlange und eine Warteschlange mit einem Stapel (von LetCode / Implement Stack using Queues, Implement Queue using Stacks)
Verbinden Sie Daten mit dem Hauptschlüssel (erforderlich) und dem Unterschlüssel (optional) in Python-Pandas
Erstellen Sie eine Python3-Umgebung mit pyenv auf einem Mac und zeigen Sie NetworkX-Diagramme an
Datenpipeline-Aufbau mit Python und Luigi
Empfangen Sie Textdaten von MySQL mit Python
Erstellen Sie mit Class einen Python-Funktionsdekorator