Python数据分析之NumPy(3)—— NumPy中那些困惑:打印的形状 以及 Python 数组、NumPy 数组、Pandas ndarray 的联系与区别?

1.疑问:

  1. 一直很疑惑为什么 NumPy 默认是行向量?
  2. (3,)还是(3,1)?
  3. 明明Python 有内置的数组结构,为什么还再需要创造一个NumPy 数组?NumPy array 和 Python 内置的 array之间到底有什么区别?
  4. Numpy ndarray 和 Pandas 之间又有什么区别和联系?
    今天就专门花时间来梳理一下相关的知识点。

2.概念梳理:

2.1 数学中的"向量"

数学中,向量空间中的元素被称为向量。
而我们常见的坐标系下表示的坐标向量只是向量基于坐标系的一种表达方式。(向量空间还可以用除了坐标系之外方式表示)

线性代数中,对行向量和列向量进行了一个区分,而在 NumPy 中却没有这个说法——NumPy 中只存在 ndarray(NumPy N 维的数组)。

2.2 NumPy 数组

一个 NumPy array 是一个 N 维的容器,它里面装的是具有相同数据类型相同大小的元素。

由此可见,作为一种计算机程序的数据结构,它是有一定限制的,即有一些值是不能为NumPy array 所表示的。
因此, NumPy array ≠ 数学中的向量,而只是用来作为向量的一种近似表示

3. 进一步探究

3.1 why NumPy ?

我们都知道了 NumPy 中最重要的数据结构就是 ndarray,可以说 ndarray 结构的建立就是为了满足将 N (N>2)维数组的概念都包含进来。换句话说,是将数组的概念推广至 N 维,而 NumPy 操作就是为了高维的运算而创造出来的。(记住,NumPy 的初衷是为了既能近似表示向量又能方便地进行一些列向量操作)

因此,我们不必再纠结为什么我们熟悉的向量用“列”表达——“列向量”,到了 NumPy 中却成了用“行”表达——行向量。因为,每种系统下面向量的表达都有它自己的规则和依据,也很正常。

3.2 NumPy 数组的打印规则

在这里插入图片描述可以看到,
对于一维数组(也就是最后一根轴),NumPy 的打印规则是从左到右依(横向)此打印出所有元素;
对于二维数组,最内层的轴(即最后一个轴)是从左往右横向打印,次内层的轴(即第一根轴&#

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值