** 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.
#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.
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"])
#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)
#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)
#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
#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
#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