如何在Python中把Sklearn数据集转换成Pandas数据框

如何在Python中把Sklearn数据集转换成Pandas数据框

在这篇文章中,我们看看如何在Python中把Sklearn数据集转换成Pandas数据框。

Sklearn和pandas是Python库,广泛用于数据科学和机器学习操作。Pandas主要集中在数据处理、操作、清理和可视化方面,而Sklearn库则提供了大量的工具和函数来训练机器学习模型。

示例1:将Sklearn数据集(iris)转换为Pandas数据框架

这里我们从Sklearn库中导入iris数据集。然后我们通过调用 load_iris() 方法加载这些数据,并将其保存在 iris_data 命名的变量中。这个变量的类型是sklearn.utils._bunch.Bunch 。iris_data有不同的属性,即数据、目标、框架、目标名称、DESCR、特征名称、文件名、data_module。我们将利用data和feature_names属性。data属性返回iris数据集的完整数据矩阵。feature_names属性返回一个列名的列表,以考虑数据。

# IMPORT THE PANDAS LIBRARY
# TO USE THE DATAFRAME TOOL
import pandas as pd
  
# IMPORT THE IRIS DATA FROM THE 
# SKLEARN MODULE
from sklearn.datasets import load_iris
  
# LOAD THE IRIS DATASET BY CALLING
# THE FUNCTION
iris_data = load_iris()
  
# PLACE THE IRIS DATA IN A PANDAS
# DATAFRAME
df = pd.DataFrame(data=iris_data.data, 
                  columns=iris_data.feature_names)
  
# DISPLAY FIRST 5 RECORDS OF THE 
# DATAFRAME
df.head()

输出:

   sepal length (cm)  sepal width (cm)  petal length (cm)  petal width (cm)
0                5.1               3.5                1.4               0.2
1                4.9               3.0                1.4               0.2
2                4.7               3.2                1.3               0.2
3                4.6               3.1                1.5               0.2
4                5.0               3.6                1.4               0.2

示例2:将Sklearn数据集(diabetes)转换为Pandas数据框架

在这个例子中,我们将创建一个名为convert_to_dataframe的函数,它将帮助我们将Sklearn数据集转换为Pandas数据框架。这个函数将需要一个参数,即 sk_data ,这是sklearn数据集,并返回这个数据的pandas数据框架格式。我们在这个例子中使用sklearn的diabetes数据集。

# IMPORT THE PANDAS LIBRARY
# TO USE THE DATAFRAME TOOL
import pandas as pd
  
# IMPORT THE DIABETES DATA FROM THE 
# SKLEARN MODULE
from sklearn.datasets import load_diabetes
  
# CREATE THE `convert_to_dataframe()
# FUNCTION
from sklearn.utils._bunch import Bunch
  
  
def convert_to_dataframe(sk_data: Bunch):
    if not isinstance(sk_data, Bunch):
        raise Exception("Not a sklearn dataset")
    return pd.DataFrame(data=sk_data.data, 
                        columns=sk_data.feature_names)
  
  
# LOAD THE DIABETES DATA USING 
# THE `convert_to_dataframe()` FUNCTION
diabetes_data = convert_to_dataframe(sk_data=load_diabetes())
  
# DISPLAY FIRST 5 RECORDS OF THE DATAFRAME
diabetes_data.head()

输出:

        age       sex       bmi        bp        s1        s2        s3  \

0  0.038076  0.050680  0.061696  0.021872 -0.044223 -0.034821 -0.043401   

1 -0.001882 -0.044642 -0.051474 -0.026328 -0.008449 -0.019163  0.074412   

2  0.085299  0.050680  0.044451 -0.005670 -0.045599 -0.034194 -0.032356   

3 -0.089063 -0.044642 -0.011595 -0.036656  0.012191  0.024991 -0.036038   

4  0.005383 -0.044642 -0.036385  0.021872  0.003935  0.015596  0.008142   

         s4        s5        s6  

0 -0.002592  0.019907 -0.017646  

1 -0.039493 -0.068332 -0.092204  

2 -0.002592  0.002861 -0.025930  

3  0.034309  0.022688 -0.009362  

4 -0.002592 -0.031988 -0.046641 

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程