如何在 Python 中将 Sklearn 数据集转换为 Pandas DataFrame?
Scikit−learn (sklearn) 是 Python 中最流行的机器学习库之一。它提供了一系列用于机器学习和统计建模的有效工具,包括各种数据集。这些数据集以 NumPy 数组的形式提供,对于某些任务(例如探索性数据分析)来说,使用起来可能比较困难。
Pandas 是一个流行的数据处理库,它提供了强大的数据分析和处理工具。它提供数据结构以有效地存储和处理大型数据集,并提供各种数据清洗、转换和分析工具。
以下是两种可以将 sklearn 数据集转换为 pandas DataFrame 的方法。
将 sklearn Bunch 对象转换为 pandas DataFrame:在这种方法中,我们将使用 pd.DataFrame() 方法将 sklearn Bunch 对象直接转换为 pandas DataFrame。
使用 load_iris() 方法将 iris 数据集加载到 pandas DataFrame 中:在这种方法中,我们将使用 sklearn 提供的 load_iris() 方法加载 iris 数据集,然后将其数据转换为 pandas DataFrame。
现在我们已经了解了这两种方法,让我们通过示例来使用它们。
使用 sklearn Bunch 对象
请考虑以下代码。
示例
from sklearn.datasets import load_iris import pandas as pd # Load the iris dataset from sklearn iris = load_iris() # Convert the iris dataset to a pandas dataframe df = pd.DataFrame(iris.data, columns=iris.feature_names) # Add the target variable to the dataframe df['target'] = iris.target # Print the first 5 rows of the dataframe print(df.head())
解释
首先,我们从 sklearn.datasets 模块导入 load_iris 函数,以及 pandas 库。
然后,我们使用 load_iris() 函数将 iris 数据集加载到 iris 变量中。
我们使用 iris 数据和特征名称创建一个 pandas DataFrame df。在这里,我们将 iris.data 作为数据传递,并将 iris.feature_names 作为 pd.DataFrame() 方法中的 columns 参数。
接下来,我们使用 iris.target 将目标变量添加到 pandas DataFrame 中,并将其分配给 DataFrame df 中的新列 target。
最后,我们使用 head() 方法打印 pandas DataFrame df 的前 5 行。
输出
sepal length (cm) sepal width (cm) petal length (cm) petal width (cm) target 0 5.1 3.5 1.4 0.2 0 1 4.9 3.0 1.4 0.2 0 2 4.7 3.2 1.3 0.2 0 3 4.6 3.1 1.5 0.2 0 4 5.0 3.6 1.4 0.2 0
使用 load_iris() 方法
请考虑以下代码。
示例
from sklearn.datasets import load_iris import pandas as pd # Load the iris dataset from sklearn iris = load_iris() # Convert the dataset to a list of tuples data = [tuple(row) for row in iris.data] # Create a Pandas DataFrame from the list of tuples df = pd.DataFrame.from_records(data, columns=iris.feature_names) # Add the target variable to the DataFrame df['target'] = iris.target # Show the first five rows of the DataFrame print(df.head())
解释
导入所需的库: 对于此方法,我们首先导入必要的库,包括 pandas、numpy 和 sklearn。
使用 sklearn.datasets 模块中的 load_boston 函数加载数据集: 我们使用 load_boston 函数将波士顿房价数据集加载到名为 boston 的变量中。
将数据转换为 Pandas DataFrame: 我们使用 pd.DataFrame() 函数将数据转换为 Pandas DataFrame。
将特征名称作为列名添加: 我们使用 boston 数据集的 feature_names 属性设置 DataFrame 的列名。
将目标变量添加到 DataFrame 中: 我们通过创建一个名为“PRICE”的新列并将它的值设置为 boston 数据集中的目标变量,从而将目标变量添加到 DataFrame 中。
显示 DataFrame 的前几行: 我们使用 head() 函数显示新创建的 Pandas DataFrame 的前几行。
输出
sepal length (cm) sepal width (cm) petal length (cm) petal width (cm) target 0 5.1 3.5 1.4 0.2 0 1 4.9 3.0 1.4 0.2 0 2 4.7 3.2 1.3 0.2 0 3 4.6 3.1 1.5 0.2 0 4 5.0 3.6 1.4 0.2 0
结论
总之,将 Sklearn 数据集转换为 Pandas DataFrame 是一个简单的过程,可以通过多种方式完成。无论您选择使用 Sklearn 内置方法还是 Pandas 方法,生成的 Pandas DataFrame 都可以轻松地使用 Python 中的各种数据科学库进行处理和分析。
数据结构
网络
关系数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP