You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

新手如何结合真实数据集理解NumPy数组的结构与应用?

数据科学场景中NumPy数组的核心理解(以Iris数据集为例)

先贴出你提到的示例代码:

from sklearn.datasets import load_iris

data = load_iris()
X = data.data
y = data.target

print(X.shape)
print(X[0])

1. 如何解读shape中的行与列

在数据科学的数据集场景中,NumPy二维数组的shape参数直接对应样本-特征的业务结构:

  • 第一个数值(示例中为150):代表样本数量,对应数组的行数。这里的150就是Iris数据集中的150朵鸢尾花,每一行对应一朵花的完整数据。
  • 第二个数值(示例中为4):代表特征数量,对应数组的列数。这里的4是每朵鸢尾花的4个测量特征(花萼长度、花萼宽度、花瓣长度、花瓣宽度),每一列对应所有样本的同一个特征。
    这和你学过的基础NumPy二维数组shape=(行数, 列数)的定义完全一致,只是给行和列赋予了数据业务层面的含义。

2. 该场景下的索引机制如何运作

这里的索引逻辑和你学过的基础NumPy二维数组完全一致,只是绑定了业务语义:

  • X[i]:取第i个样本(对应数组的第i行),返回一个一维数组,包含该样本的所有特征值。比如X[0]就是第一朵鸢尾花的4个特征测量值。
  • X[:, j]:取所有样本的第j个特征(对应数组的第j列),返回一个一维数组,包含所有样本在该特征上的取值。比如X[:, 2]就是所有鸢尾花的花瓣长度数据。
  • 复杂切片(如X[10:20, 1:3]):取第11到20个样本的第2到3个特征,完全遵循基础NumPy的切片规则。

3. 与NumPy基础知识的关联

数据集中的X本质就是你已经掌握的标准二维NumPy数组,所有你学过的基础操作都可以直接复用:

  • 数组结构:它的底层逻辑和你用np.array()手动创建的二维数组完全相同,只是数据源是现成的数据集而非手动输入。
  • 索引/切片:所有你练过的二维数组索引、切片写法,都可以用来筛选样本或特征。
  • 运算操作:比如对X执行X.mean(axis=0)(按列求均值,即每个特征的平均值)、X[:,0] + X[:,1](计算花萼长度+宽度)等操作,都是你学过的数组运算规则的直接应用。
    数据科学场景只是给基础NumPy数组的行、列赋予了业务意义,核心的数组操作逻辑没有任何变化。

内容的提问来源于stack exchange,提问作者GAURANG UDGIRKAR

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.01 16:17:27