对numpy中数组元素的统一赋值实例

yipeiwu_com6年前Python基础

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中数组元素的统一赋值实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python Threading 线程/互斥锁/死锁/GIL锁

导入线程包 import threading 准备函数线程,传参数 t1 = threading.Thread(target=func,args=(args,)) 类继承线程,创建线程对...

Python的迭代器和生成器

先说迭代器,对于string、list、dict、tuple等这类容器对象,使用for循环遍历是很方便的。在后台for语句对容器对象调用iter()函数,iter()是python的内置...

python装饰器练习题及答案

这篇文章主要介绍了python装饰器练习题及答案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 一:编写装饰器,为多个函数加上认证的功...

python制作图片缩略图

python制作图片缩略图

缩略图 在很多时候我们都需要将图片按照同比例缩小有利于存储 但是一张张手动去改的话太麻烦了 今天我们就用python实现一个简单的将一个文件夹中的所有图片进行指定大小的调整 缩略前:...

Python中使用支持向量机(SVM)算法

Python中使用支持向量机(SVM)算法

在机器学习领域,支持向量机SVM(Support Vector Machine)是一个有监督的学习模型,通常用来进行模式识别、分类(异常值检测)以及回归分析。 其具有以下特征: &n...