前言 关于数组维度和矩阵形状的一点思考。 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 |
|
来自: 脑系科数据科学 > 《2022python》