1. ホーム
  2. python

[解決済み] Scikit-learnのデータセットをPandasのデータセットに変換する方法

2022-05-11 08:24:27

質問

Scikit-learnのBunchオブジェクトからPandasのDataFrameにデータを変換するにはどうしたらいいですか?

from sklearn.datasets import load_iris
import pandas as pd
data = load_iris()
print(type(data))
data1 = pd. # Is there a Pandas method to accomplish this?

どのように解決するのですか?

手動で pd.DataFrame のコンストラクタで、numpy配列( data ) とカラムの名前のリスト ( columns ). すべてを1つのDataFrameに収めるには、機能と対象を1つのnumpy配列に連結して、次のようにします。 np.c_[...] (で一つのnumpy配列にまとめることができます(ただし [] ):

import numpy as np
import pandas as pd
from sklearn.datasets import load_iris

# save load_iris() sklearn dataset to iris
# if you'd like to check dataset type use: type(load_iris())
# if you'd like to view list of attributes use: dir(load_iris())
iris = load_iris()

# np.c_ is the numpy concatenate function
# which is used to concat iris['data'] and iris['target'] arrays 
# for pandas column argument: concat iris['feature_names'] list
# and string list (in this case one string); you can make this anything you'd like..  
# the original dataset would probably call this ['Species']
data1 = pd.DataFrame(data= np.c_[iris['data'], iris['target']],
                     columns= iris['feature_names'] + ['target'])