Scikit-learnで機械学習する場合に、numpy.ndarray型とPandasのDataFrame型をそれぞれ変換したくなるケースがあります。
Scikit-learnが用意しているdatasetを活用するとデータ形式がnumpy.ndarray型になっています。
numpy.ndarray型は少し扱いにくく、PandasのDataFrame型にするとデータの確認も容易になります。
そのため相互の変換ができると便利に扱えるようになるわけです。
numpy.ndarray型とPandas DataFrame型との相互変換
pandasとnumpyをインポートしておきます。
import pandas as pd import numpy as np
PandasのDataFrameを作成します。
data_f1 = pd.DataFrame({'name':['Tahara','Suzuki','Yamada','Isono'], 'id':[1,2,3,4], 'age':[48,30,28,51], 'weight':[60,78,64,58], 'height':[168,173,162,172]}) data_f1
次にnumpy.ndarray型に変更します。valuesプロパティを使うと簡単にデータ部分の値をnumpy.ndarray型で取得することができます。
data = data_f1.values data
表示結果
上の方法では値しか取れていませんので、必要に応じてカラムのタイトルを取得します。
columns = data_f1.columns columns
型の確認をします。
type(data)
結果
——————————-
numpy.ndarray
——————————-
ndarray状態で特定の列のみをスライスします。
features = data[:,:2] features
表示結果
ndarrayのデータをPandasにするには次のようにします。
つまり、通常のPandasデータを作成する方法です。
df = pd.DataFrame(data=data,columns=columns) df
表示結果
コメントを投稿するにはログインしてください。