How to convert a Scikit-learn dataset to a Pandas dataset?

后端 未结 22 2177
清酒与你
清酒与你 2020-11-28 19:10

How do I convert data from a Scikit-learn Bunch object to a Pandas DataFrame?

from sklearn.datasets import load_iris
import pandas as pd
data = load_iris()
p         


        
22条回答
  •  暗喜
    暗喜 (楼主)
    2020-11-28 19:34

    TOMDLt's solution is not generic enough for all the datasets in scikit-learn. For example it does not work for the boston housing dataset. I propose a different solution which is more universal. No need to use numpy as well.

    from sklearn import datasets
    import pandas as pd
    
    boston_data = datasets.load_boston()
    df_boston = pd.DataFrame(boston_data.data,columns=boston_data.feature_names)
    df_boston['target'] = pd.Series(boston_data.target)
    df_boston.head()
    

    As a general function:

    def sklearn_to_df(sklearn_dataset):
        df = pd.DataFrame(sklearn_dataset.data, columns=sklearn_dataset.feature_names)
        df['target'] = pd.Series(sklearn_dataset.target)
        return df
    
    df_boston = sklearn_to_df(datasets.load_boston())
    

提交回复
热议问题