Numpy中array数组对象的储存方式(n,1)和(n,)的区别
之前一直傻傻分不清(n,1)和(n,)之间的区别,这里做一下总结,希望度过此文章的小伙伴都能明白。
例如如果我们创建一个包含10个整型数的数组 a :
import numpy as np a=np.arange(10) a
结果为:
array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
则 a 包含了一个数据缓冲区,储存成如下的样子:
a.shape
数据的维度为:(10,)
在这里,shape=(10,)意味着这个数组仅仅被一个索引支配:从0到9。从概念上讲,假如我们使用这个单独的索引给 a 打上标签,那么 a 将看起来像这样:
reshape一个数组的操作不会改变数据缓冲区,而是创建一个新的解释数据的视窗。
b=a.reshape((2,5)) b
结果为:
array([[0, 1, 2, 3, 4],
[5, 6, 7, 8, 9]])
这样我们的数据就会有两个维度来控制,其中一个的范围是从0到4,另一个的范围是从5到9。
我们举个例子,我们想要取出里面的1值,如何切片操作?
b[0,1]
总结:
第一个形状为(10,)的数组是一维数组。它的结构应该与此类似:a=[1,2,3,4,5]
第二个形状为(10,1)。 类似于b=[[1],[2],[3],[4],[5]]
到此这篇关于Numpy中array数组对象的储存方式(n,1)和(n,)的区别的文章就介绍到这了,更多相关Numpy array数组对象(n,1)和(n,)内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
在Python中使用MySQL--PyMySQL的基本使用方法
PyMySQL 是在 Python3.x 版本中用于连接 MySQL 服务器的一个库,Python2中则使用mysqldb。这篇文章主要介绍了在Python中使用MySQL--PyMySQL的基本使用,需要的朋友可以参考下2019-11-11PyTorch的张量tensor和自动求导autograd详解
这篇文章主要介绍了PyTorch的张量tensor和自动求导autograd,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教2024-02-02用Python中的__slots__缓存资源以节省内存开销的方法
这篇文章主要介绍了用Python中的__slots__通过缓存资源的方式以节省内存开销的方法,且示例代码非常简单,需要的朋友可以参考下2015-04-04
最新评论