python numpy数组中的复制问题
vector = numpy.array([5, 10, 15, 20])
equal_to_ten_or_five = (vector == 10) | (vector == 5)
vector[equal_to_ten_or_five] = 50
print(vector)
第一次看到这个的时候一脸懵逼,后来分析了下懂了下面记录下,方便下次看看
第一行分析:
结果5, 10, 15, 20
第二行分析:
vector == 10 数组和值比对获得结果是每个元素和这个数比较生成相应的bool数组 这里的话就知道了结果是[Flase,True,Flase,Flase]
vector == 5就是[True,Flase,Flase,Flase]
然后进行或'|'运算得到了[True,True,Flase,Flase]
着两个数组进行或运算的时候是数组直接相同序号的元素或元素然后得到新的数组(遵循规则F|F =F,F|T=T,T|T=T)
此时equal_to_ten_or_five 就等于[True,True,Flase,Flase]
第三行分析:
vector[equal_to_ten_or_five]=50 会给等于True的复制为50 其他的不变也就是此时
vector等于[50,50,15,20]
python numpy数组中的复制问题的更多相关文章
- python numpy 数组中元素大于等于0的元素
>>> import numpy as np >>> a = np.random.randint(-5, 5, (5, 5)) >>> a arr ...
- numpy数组中冒号和负号的含义
numpy数组中":"和"-"的意义 觉得有用的话,欢迎一起讨论相互学习~Follow Me 在实际使用numpy时,我们常常会使用numpy数组的-1维度和& ...
- 统计numpy数组中每个值出现的个数
统计numpy数组中某一个值或某几个值出现的个数:sum(data==4) # 统计出现了几个cluster include0Cluster = sum(res == 0) include1Clust ...
- python numpy数组操作
数组的创建 import numpy as np arr1 = np.array([3,10,8,7,34,11,28,72]) arr2 = np.array(((8.5,6,4.1,2,0.7), ...
- Python Numpy 数组的初始化和基本操作
一.基础: Numpy的主要数据类型是ndarray,即多维数组.它有以下几个属性: ndarray.ndim:数组的维数 ndarray.shape:数组每一维的大小 ndarray.size:数组 ...
- python numpy 数组拼接
我就写一下我遇到的,更多具体的请看Python之Numpy数组拼接,组合,连接 >>> aarray([0, 1, 2], [3, 4, 5], [6, 7, ...
- 用Python查找数组中出现奇数次的那个数字
有一个数组,其中的数都是以偶数次的形式出现,只有一个数出现的次数为奇数次,要求找出这个出现次数为奇数次的数. 集合+统计 解题思路 最简单能想到的,效率不高.利用集合的特性,通过 Python 的 s ...
- python numpy数组操作2
数组的四则运算 在numpy模块中,实现四则运算的计算既可以使用运算符号,也可以使用函数,具体如下例所示: #加法运算 import numpy as npmath = np.array([98,83 ...
- python获取数组中最多的元素
获取数组中数量最多的元素,也就是最频繁的那个元素,方法有很多,下面是3种最简单的: 用max函数 sample = [1,2,3,3,3,4,5,5] max(set(sample), key=sam ...
随机推荐
- 团体程序设计天梯赛 L1-009. N个数求和
易错题 #include <stdio.h> #include <stdlib.h> #include <string.h> #include <stdboo ...
- 勉励自己--淡定的CrazyDog
明天就要靠六级,今天只是背了一篇作文,做了两篇阅读,收获很小啊,但是要求自己一定要写,博客,我就把自己背的作文模板写成日记好了(纯手打) Relationship Between Major and ...
- 左值与右值,左值引用与右值引用(C++11)
右值引用是解决语义支持提出的 这篇文章要介绍的内容和标题一致,关于C++ 11中的这几个特性网上介绍的文章很多,看了一些之后想把几个比较关键的点总结记录一下,文章比较长.给出了很多代码示例,都是编译运 ...
- 安装MySQL5.7由于 Redistributable导致失败
今天上午安装MySQL5.7时一直提示 1: Action 10:59:21: INSTALL. 1: 1: MySQL Server 5.7 2: {F08E9C75-A42E-4962-8760- ...
- (转) linux下vim和bash配置文件
1.注释版 ~/.vimrc "去掉讨厌的有关vi一致性模式,避免以前版本的一些bug和局限 set nocompatible set autoread " 文件修改之后自动载入 ...
- 即时通信系统Openfire分析之二:主干程序分析
引言 宇宙大爆炸,于是开始了万物生衍,从一个连人渣都还没有的时代,一步步进化到如今的花花世界. 然而沧海桑田,一百多亿年过去了…. 好复杂,但程序就简单多了,main()函数运行,敲个回车,一行Hel ...
- CentOS安装Confluence Wiki步骤
参考:http://supernetwork.blog.51cto.com/2304163/1187066 参考:http://yjiang.tk/?p=1085 需要的文件 CentOS-6.5 ...
- memcmp 和 memcpy使用
#include <iostream> #include <cstring> #include <cstdlib> #include <cstdio> ...
- ZeroMQ API(七) 安全
1.无安全性:zmq_null(7) 1.1 名称 zmq_null - 没有安全性或机密性 1.2 概要 NULL机制由ZMTP 3.0规范定义:http://rfc.zeromq.org/spec ...
- jQuery精仿手机上的翻牌效果菜单
代码简介: jQuery精仿手机上的翻牌效果菜单,很平滑的动画翻牌效果,每点击一下菜单,就会翻去一下,貌似很灵敏的动作.注意:如果预览时没看到效果,请刷新一下页面,让jquery载入就行了,在实际使用 ...