numpy-2 创建数组对象方法
Posted leafchen
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了numpy-2 创建数组对象方法相关的知识,希望对你有一定的参考价值。
一、一般最简单的创建用法
a = np.array( list / tuple, dtype=np.float / np.int..)
二、 使用numpy中的函数来创建新的数组对象
1. a = np.arange( n / n, m)
n: 一维数组: 参数为单独一个整数n, 表示创建一个从0开始,到 n - 1 的一维数组
n, m: 一维数组,表示值为从n开始到m-1的一维数组
2. a = np.ones(shape, dtype=np.int) 所有元素的值都为1
参数:
a. 一维: 参数为一个数字时,如10, 则表示创建一个一维的,元素数量10,且都为整数的一维数组
array([1, 1, 1, 1, 1, 1, 1, 1, 1, 1])
b. 二维: 参数为一个数组,如(3, 5), 则表示创建一个二维的, 每维3个一维数组,每个数组5个元素
array( [ [1, 1, 1, 1, 1], [1, 1, 1, 1, 1] ] )
c. 三维: 参数为一个数组,如(2, 3, 4), 则表示创建一个三维的,包含2个二维数组,每个二维中包含3个一维,每个一维有4个元素
array( [
[ [1, 1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1] ],
[ [1, 1, 1, 1], [1, 1, 1, 1],[1, 1, 1, 1] ]
] )
3. a = np.zeros(shape, dtype=np.int)
参数: ... 与ones相同,但每个元素中的值都为0
4. a = np.full(shape, val, dtype=np.int)
参数:... 与ones相同,但每个元素中的值都为val, 自定义的值
5. np.linspace(start, stop, count,dtype=np.int, endpoint=False)
参数:
start:起始值(包含)
stop:结束值(包含)
count: 元素个数
endpoint: 是否使用结束值做为最后一个元素
注意: 根据元素的个数,一般会从开始到结束值取中间的值, 每一个数与前一个数的差值都相同
>>> a = np.linspace(1, 10, 3)
>>> a
array([ 1. , 5.5, 10. ])
三、 通过已有数组 ,使用numpy中的函数来创建 相同形状 的新数组
1. np.ones_like
a = np.arange(50, dtype=np.int)
b = np.ones_like(a, dtype=np.float)
分析: 生成新的数组对象 b, 形状与a一样,但值都是1. 的小数
2. np.zeros_like
...与onse_like相同,但值都是0
3. np.full_like
...与onse_like相同,但值都是0
4. np.concatenate 合并数组对象
a = np.array([0, 1, 2, 3, 4], dtype=np.int)
b = np.arange(5,10, dtype=np.int)
c = np.concatenate((a, b))
>>> c = np.concatenate((a, b)) >>> c array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
四、 修改现有数组形状、元素类型,数据类型,得到新的形状的新数组
1. a.reshape(shape)
a = np.ones((2, 3, 4), dtype=np.int)
b = a.reshape((3, 8))
注意: 总的元素数量必须相同
2. a.astype(new_type)
a = np.ones((2, 3, 4), dtype=np.int)
b = a.astype(np.float)
3. a.tolist()
数组对象------->列表
某些需要代码使用该数据时,若需要列表类型的数据,则可以以此转为列表来使用
>>> a = np.full((2,3,4), 9, dtype=np.int) >>> a array([[[9, 9, 9, 9], [9, 9, 9, 9], [9, 9, 9, 9]], [[9, 9, 9, 9], [9, 9, 9, 9], [9, 9, 9, 9]]]) >>> b = a.tolist() >>> b [[[9, 9, 9, 9], [9, 9, 9, 9], [9, 9, 9, 9]], [[9, 9, 9, 9], [9, 9, 9, 9], [9, 9, 9, 9]]]
以上是关于numpy-2 创建数组对象方法的主要内容,如果未能解决你的问题,请参考以下文章
错误代码:错误域 = NSCocoaErrorDomain 代码 = 3840“JSON 文本没有以数组或对象和允许未设置片段的选项开头。”