Lassen Sie uns den Entscheidungsbaum in Python von Grund auf neu schreiben und verstehen! Teil 3. Pandas Data Analysis Library

Hallo Habr! Ich präsentiere Ihnen die Übersetzung des Artikels " Python リ 0 か ら デ ィ シ ジ ョ ン ツ リ ー を.



Dies ist der dritte Artikel in einer Reihe. Links zu früheren Artikeln: erstens , zweitens



In diesem Artikel werde ich erklären, wie Sie mit der Pandas-Bibliothek arbeiten, um einen Entscheidungsbaum zu erstellen.



3.1 Bibliothek importieren



#  pandas  ,        pd
import pandas as pd


3.2 Datenrahmen und Serie



Pandas verwendet Strukturen wie Datenrahmen und Serien.

Schauen wir uns die folgende Excel-ähnliche Tabelle an.



Eine Datenzeile heißt Serie, die Spalten heißen Attribute dieser Daten und die gesamte Tabelle heißt Datenrahmen.





3.3 Datenrahmen erstellen



Wir verbinden eine Excel-Tabelle mit read_excel oder ExcelWriter

#  Excel   ,     ipynb
df0 = pd.read_excel("data_golf.xlsx")
 
#  DataFrame  HTML  
from IPython.display import HTML
html = "<div style='font-family:\"メイリオ\";'>"+df0.to_html()+"</div>"
HTML(html)
 
#   Excel  (with   f.close)
with pd.ExcelWriter("data_golf2.xlsx") as f: 
       df0.to_excel(f)


Erstellen eines Datenrahmens aus einem Wörterbuch ( assoziatives Array): Das Wörterbuch fasst die Daten der DataFrame- Spalten zusammen



#   :    
 
d = {
    "":["","","","","","","","","","","","","",""],
    "":["","","","","","","","","","","","","",""], 
    "":["","","","","","","","","","","","","",""],
    "":["","","","","","","","","","","","","",""],
 
"":["×","×","○","○","○","×","○","×","○","○","○","○","○","×"],
}
df0 = pd.DataFrame(d)


Erstellen von Datenrahmen aus Arrays: Sammeln von Daten aus DataFrame-Zeilen



#   :     
d = [["","","","","×"],
     ["","","","","×"],
     ["","","","","○"],
     ["","","","","○"],
     ["","","","","○"],
     ["","","","","×"],
     ["","","","","○"],
     ["","","","","×"],
     ["","","","","○"],
     ["","","","","○"],
     ["","","","","○"],
     ["","","","","○"],
     ["","","","","○"],
     ["","","","","×"],
    ]
#        columns  index .  ,   ,    .

df0 = pd.DataFrame(d,columns=["","","","",""],index=range(len(d)))


3.4 Informationen aus der Tabelle abrufen



#    
 
#    
print(df0.shape) #  (14, 5)
 
#    
print(df0.shape[0]) #  14
 
#   
print(df0.columns) #  Index(['', '', '', '', ''], dtype='object')
 
#    (  df0 -    )
print(df0.index) #  RangeIndex(start=0, stop=14, step=1)


3.5 Loc iloc- Werte abrufen



#  
 
#  ,    
#       №1 ( )
print(df0.loc[1,""]) #  

#  ,       
#        1,2,4,      Data Frame-  
df = df0.loc[[1,2,4],["",""]]
print(df)
# 
#                    
# 1                               ×
# 2                        ○
# 3                            ○
# 4                            ○

# iloc     .    0.
#      1  3,    .   iloc  ,   1:4,  4-   . 
df = df0.iloc[1:4,:-1]
print(df)
# 
#                
# 1                              
# 2                    
# 3                        


#      (Series)
#      . s  Series
s = df0.iloc[0,:]
#  ,    ,      s[" "]
print(s[""]) #  

#       (numpy.ndarray).
print(df0.values)


3.6 Durchlaufen Sie die Daten mit iterrows iteritems



#  ,  
#     .     .
for i,row in df0.iterrows():
    # i    ( ), row  Series
    print(i,row)
    pass

#     .    .
for i,col in df0.iteritems():
    # i   , col  Series
    print(i,col)
    pass


3.7 Häufigkeit von value_counts



#   
#      . s  Series
s = df0.loc[:,""]

#     
print(s.value_counts())
# 
#     5
#     5
#     4
# Name: , dtype: int64

# ,   ,   “”
print(s.value_counts()[""]) #  5


3.8 Abrufen bestimmter Abfragedaten



#   
#  ,   - .
print(df0.query("==''"))
# 
#                    
# 0                            ×
# 1                            ×
# 7                            ×
# 8                            ○
# 10                                ○

#  ,   - ,     
print(df0.query("=='' and =='○'"))
# 
#                    
# 8                            ○
# 10                                ○

#  ,   - ,     
print(df0.query("=='' or =='○'"))
# 
#                    
# 0                            ×
# 1                            ×
# 2                        ○
# 3                            ○
# 4                            ○
# 6                        ○
# 7                            ×
# 8                            ○
# 9                                ○
# 10                                ○
# 11                            ○
# 12                                ○


Danke fürs Lesen!



Wir würden uns sehr freuen, wenn Sie uns mitteilen, ob Ihnen dieser Artikel gefallen hat. War die Übersetzung klar, war sie für Sie nützlich?



All Articles