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

后端 未结 22 2068
清酒与你
清酒与你 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:35

    Update: 2020

    You can use the parameter as_frame=True to get pandas dataframes.

    If as_frame parameter available (eg. load_iris)

    from sklearn import datasets
    X,y = datasets.load_iris(return_X_y=True) # numpy arrays
    
    dic_data = datasets.load_iris(as_frame=True)
    print(dic_data.keys())
    
    df = dic_data['frame'] # pandas dataframe data + target
    df_X = dic_data['data'] # pandas dataframe data only
    ser_y = dic_data['target'] # pandas series target only
    dic_data['target_names'] # numpy array
    
    

    If as_frame parameter NOT available (eg. load_boston)

    from sklearn import datasets
    
    fnames = [ i for i in dir(datasets) if 'load_' in i]
    print(fnames)
    
    fname = 'load_boston'
    loader = getattr(datasets,fname)()
    df = pd.DataFrame(loader['data'],columns= loader['feature_names'])
    df['target'] = loader['target']
    df.head(2)
    

提交回复
热议问题