这次给大家带来怎么对numpy里数组元素赋统一的值,对numpy里数组元素赋统一值的注意事项有哪些,下面就是实战案例,一起来看一下。
numpy中的数组整体处理赋值操作一直让我有点迷糊,很多时候理解的不深入。今天单独列写相关的知识点,进行总结一下。
先看两个代码片小例子:
例子1:
in [2]: arr =np.empty((8,4))
in [3]: arr
out[3]:
array([[ 0., 0., 0., 0.],
[ 0., 0., 0., 0.],
[ 0., 0., 0., 0.],
[ 0., 0., 0., 0.],
[ 0., 0., 0., 0.],
[ 0., 0., 0., 0.],
[ 0., 0., 0., 0.],
[ 0., 0., 0., 0.]])
in [4]: arr[1] = 1
in [5]: arr
out[5]:
array([[ 0., 0., 0., 0.],
[ 1., 1., 1., 1.],
[ 0., 0., 0., 0.],
[ 0., 0., 0., 0.],
[ 0., 0., 0., 0.],
[ 0., 0., 0., 0.],
[ 0., 0., 0., 0.],
[ 0., 0., 0., 0.]])
例子2:
in [6]: arr1 =np.empty(2)
in [8]: arr1
out[8]:array([ 7.74860419e-304, 7.74860419e-304])
in [9]: arr1 = 0
in [10]: arr1
out[10]: 0
这两段看上去似乎出现了行为不一致,其实利用一般面向对象的标签理解模型还是能够理解的。
例子1中,加上了索引之后的标签其实指代的就是具体的存储区,而例子2中,直接使用了一个标签而已。那么这样如何实现对一个一维数组的全体赋值呢?其实只需要进行全部元素的索引即可,
具体方法实现如下:
in [11]: arr1 =np.empty(2)
in [12]: arr1
out[12]: array([0., 0.])
in [13]: arr1[:]
out[13]: array([0., 0.])
in [14]: arr1[:] =0
in [15]: arr1
out[15]: array([0., 0.])
看起来似乎蛮简单,但是不做一下稍微深入一点的分析,理解起来确实是还有一点点难度。
相信看了本文案例你已经掌握了方法,更多精彩请关注其它相关文章!
推荐阅读:
python numpy如何操作数组和矩阵
python的numpy数组怎么合并
以上就是怎么对numpy里数组元素赋统一的值的详细内容。