PythonでDecisionTreeを最初から作成して理解しましょう!パート3。パンダデータ分析のためのライブラリ

こんにちは、Habr!記事「パイソンで0からだいしじょうんツリーーを作って喜する(3.データからライイイラリパンダ編)の翻訳をご紹介します



これはシリーズの3番目の記事です。以前の記事へのリンク:最初2番目



この記事では、Pandasライブラリを使用して意思決定ツリーを作成する方法について説明します。



3.1ライブラリのインポート



#  pandas  ,        pd
import pandas as pd


3.2データフレームとシリーズ



Pandasは、データフレームやシリーズなどの構造を使用します。

次のExcelのような表を見てみましょう。



データの1行はシリーズと呼ばれ、列はこのデータの属性と呼ばれ、テーブル全体はデータフレームと呼ばれます。





3.3データフレームの作成



read_excelまたはExcelWriter を使用してExcelスプレッドシートを接続します

#  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)


ディクショナリ(連想配列)からのデータフレームの作成:ディクショナリは、DataFrame列のデータをまとめます。



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


配列からのデータフレームの作成:DataFrame行からのデータの収集



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

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


3.4テーブルから情報を取得する



#    
 
#    
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の 値を



#  
 
#  ,    
#       №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 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.7value_countsの頻度



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

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

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


3.8特定のクエリデータの取得



#   
#  ,   - .
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                                ○


読んでくれてありがとう!



この記事が気に入ったら、翻訳は明確でしたか、役に立ちましたか?



All Articles