如何在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