分享

numpy的维度和pandas维度的定义是完全不同的

 脑系科数据科学 2022-04-26

前言

关于数组维度和矩阵形状的一点思考。

1. 代码案例

代码块1:

import numpy as np

a = np.array([1,2,3,3])

print('a的shape是:')

print(a.shape)

b = np.array([[1,1],[1,1],[1,1]])

print('b的shape是:')

print(b.shape)

1

2

3

4

5

6

7

输出为:

代码块2:

a的shape是:

(4,)

b的shape是:

(3, 2)

1

2

3

4

代码块3:

import numpy as np

a = np.array([1,2,3,3])

print('a的维度是:')

print(a.ndim)

b = np.array([[1,1],[1,1],[1,1]])

print('b的维度是:')

print(b.ndim)

1

2

3

4

5

6

7

代码块4:

a的维度是:

1

b的维度是:

2

1

2

3

4

2. 代码讲解

2.1. 维度判断方式:

根据shape中数字个数判断。如代码块1和2所示,a中的输出为(4,),有一个数字,那么a是一维;b中的输出为(3,2),有两个数字(分别为3和2),则b是二维。

根据ndim方法判断如代码块3和4所示。可以直接运用ndim进行维度的输出。

2.2 shape中数字的含义:

如代码块2

a.shape 输出 (4,),其中只有一个数字4,表示一维;数字4表示含有4个数据。

b.shape 输出 (3,2),其中含有两个数字(分别是3,2)表示二维数组。3,2的含义为:3表示其中含有3个一维数组,2表示一维数组中含有2个数组

3. 一点思考

对于一维数组可能有点难理解。如线性代数中 n = [1,2,2,4],它表示向量(1*4)而在数组中的表示为(4,)。需要注意的是,这里是向量(或者说矩阵,矩阵和数组的区别可参考文献[2])与我们所说的数组还是有不同的,注意不要混淆!

另,有关维度的详细讲解参考文献[1]

参考文献

[1] https://blog.csdn.net/Babyfatliang/article/details/87721282

[2] https://blog.csdn.net/wyl1813240346/article/details/79806207

————————————————

版权声明:本文为CSDN博主「胡侃有料」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/weixin_39190382/article/details/103743483

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多