对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中的FTP通信模块ftplib的用法整理

Python中默认安装的ftplib模块定义了FTP类,其中函数有限,可用来实现简单的ftp客户端,用于上传或下载文件. FTP的工作流程及基本操作可参考协议RFC959. ftp登陆连...

编写Python CGI脚本的教程

编写Python CGI脚本的教程

你是否想使用Python语言创建一个网页,或者处理用户从web表单输入的数据?这些任务可以通过Python CGI(公用网关接口)脚本以及一个Apache web服务器实现。当用户请求一...

python3+PyQt5实现支持多线程的页面索引器应用程序

python3+PyQt5实现支持多线程的页面索引器应用程序

本文通过Python3+pyqt5实现了python Qt GUI 快速编程的19章的页面索引器应用程序例子。 /home/yrd/eric_workspace/chap19/walke...

对Xpath 获取子标签下所有文本的方法详解

对Xpath 获取子标签下所有文本的方法详解

在爬虫中遇见这种怎么办 想提取名称, 但是 名称不在一个标签里 使用xpath string()方法 例如 data.xpath("string(path)") path --...

python配置文件写入过程详解

python配置文件有.conf,.ini,.txt等多种 python集成的 标准库的 ConfigParser 模块提供一套 API 来读取和操作配置文件 我的配置文件如下 [M...