对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.])
看起来似乎蛮简单,但是不做一下稍微深入一点的分析,理解起来确实是还有一点点难度。
以上这篇对numpy中数组元素的统一赋值实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。