一维数组的shape[1],或者axis=1,为啥报错?
原因:
1、一维数组压根就没有行列的概念,行列的概念在二维数组以上才有
2、在一维数组中,axis=0表示唯一的轴,在二维或者二维数组以上axis=0表示垂直向下的方向
3、一维数组其实可以看作一个包含了几个元素的list,所以在一维数组中,shape[0]表示这个list中含有几个元素,但是在二维或者二维数组以上,shape[0]表示行的个数。
4、在表示数学中的向量时,需要将一维数组使用reshape进行处理之后,才是向量,(向量是矩阵的特殊类型也就是只有一行或者一列的矩阵分别称为行矩阵(行向量)和列矩阵(列向量))如果不处理就只是一个存有若干个元素的list,啥也不是,numpy中的二维数组和矩阵稍微有点不同,两个都可以表示数学里的矩阵的概念,这里不做过多说明
5、一维数组中的shape概念,比如一维数组 a = [1,2,3,4],a.shape的返回值是(4,)的解释是这个list中有4个元素而已,没有行列这一说。
a = np.array([1,2,3,4])
print(a.shape)
output:(4,)
6、len(a.shape)=1,表示a为一维数组,原因:a.shape的返回值是 (4,)的一个元组,这个元组中只有一个元素,因此len((4,))的返回值为:1,如果a是二维数组,那么就有了行列概念a.shape的返回值肯定是一个包含两个值的元组,那么这个元组的长度就是:2,所以此时 len(a.shape)就表示a是一个二维数组。
7、对于axis(轴)的图解,图片来源于其他博客:
最后,感谢你的阅读,如果对你有帮助,点个赞再走~~
版权声明:本文为@pang庞 原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。