python3-numpy数组切片和索引

1、切片

a = np.arange(10)
s = slice(2,7,2)   # 从索引 2 开始到索引 7 停止,间隔为2
print (a[s])  # [2 4 6]# 也可以通过冒号分隔切片参数 start:stop:step 来进行切片操作
a = np.arange(10)
b = a[2:7:2]   # 从索引 2 开始到索引 7 停止,间隔为 2
print(b) # [2 4 6]a = np.arange(10)  # [0 1 2 3 4 5 6 7 8 9]
b = a[5]
print(b)  # 5a = np.arange(10)
print(a[2:])  # [2 3 4 5 6 7 8 9]a = np.arange(10)
print(a[2:5])  # [2 3 4]a = np.array([[1,2,3],[3,4,5],[4,5,6]])
print(a[1:])  # [[3 4 5] [4 5 6]]a = np.array([[1,2,3],[3,4,5],[4,5,6]])
print (a[...,1])   # 第2列元素  [2 4 5]
print (a[1,...])   # 第2行元素  [3 4 5]
print (a[1])   # 第2行元素  [3 4 5]
print (a[...,1:])  # 第2列及剩下的所有元素  [[2 3] [4 5] [5 6]]

2、索引

x = np.array([[1,  2],  [3,  4],  [5,  6]])
y = x[[0,1,2],  [0,1,0]]
print (y)  # [1 4 5]# 获取了 4X3 数组中的四个角的元素
x = np.array([[  0,  1,  2],[  3,  4,  5],[  6,  7,  8],[  9,  10,  11]])
print ('我们的数组是:' )
print (x)
print ('\n')
y = x[[[0,0],[3,3]],[[0,2],[0,2]]]  # 0,0  0,2     3,3  3,2
print  ('这个数组的四个角元素是:')
print (y)  # [[ 0  2] [ 9 11]]a = np.array([[1,2,3], [4,5,6],[7,8,9]])
b = a[1:3, 1:3]  # 行1:3  列1:3
c = a[1:3,[1,2]]  # 行1:3  列[1,2]
d = a[...,1:]   # 行所有...  列1:
print(b)  # [[5 6] [8 9]]
print(c)  # [[5 6] [8 9]]
print(d)  # [[2 3] [5 6] [8 9]]"""布尔索引
布尔索引通过布尔运算(如:比较运算符)来获取符合指定条件的元素的数组。
"""
x = np.array([[  0,  1,  2],[  3,  4,  5],[  6,  7,  8],[  9,  10,  11]])
print ('我们的数组是:')
print (x)
print ('\n')
print  ('大于 5 的元素是:')
print (x[x >  5])  # [ 6  7  8  9 10 11]# 使用了 ~(取补运算符)来过滤 NaN。
a = np.array([np.nan,  1,2,np.nan,3,4,5])
print (a[~np.isnan(a)])  # [1. 2. 3. 4. 5.]
print (a[np.isnan(a)])  # [nan nan]# 过滤掉非复数元素
a = np.array([1,  2+6j,  5,  3.5+5j])
print (a[np.iscomplex(a)])  # [2.+6.j 3.5+5.j]"""花式索引
花式索引根据索引数组的值作为目标数组的某个轴的下标来取值。对于使用一维整型数组作为索引,如果目标是一维数组,那么索引的结果就是对应下标的行,如果目标是二维数组,那么就是对应位置的元素。
"""x=np.arange(32).reshape((8,4))
print(x)
print (x[[4,2,1,7]])  # 取第4、2、1、7行的数据 [[16 17 18 19] [ 8  9 10 11] [ 4  5  6  7] [28 29 30 31]]
x=np.arange(32).reshape((8,4))
print (x[[-4,-2,-1,-7]]) # [[16 17 18 19] [24 25 26 27] [28 29 30 31] [ 4  5  6  7]]# 传入多个索引数组
x=np.arange(32).reshape((8,4))
print (x[np.ix_([1,5,7,2],[0,3,1,2])])  # [[ 4  7  5  6] [20 23 21 22] [28 31 29 30] [ 8 11  9 10]]
"""
[1,5,7,2],[0,3,1,2]
1,0  1,3  1,1  1,2
5,0  5,3  5,1  5,2
7,0  7,3  7,1  7,2
2,0  2,3  2,1  2,2
"""

https://www.runoob.com/numpy/numpy-indexing-and-slicing.html
https://www.runoob.com/numpy/numpy-advanced-indexing.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/518172.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

天天用Redis,持久化方案你又知道哪些?

来源 |码猿技术专栏责编 | Carol头图 | CSDN 下载自视觉中国Redis目前已经成为主流的内存数据库了,但是大部分人仅仅是停留在会用的阶段,你真的了解Redis内部的工作原理吗?今天这篇文章将为大家介绍Redis持久化的两种方案,文章将会…

万万没想到,JVM内存结构的面试题可以问的这么难?

在我的博客中,之前有很多文章介绍过JVM内存结构,相信很多看多我文章的朋友对这部分知识都有一定的了解了。 那么,请大家尝试着回答一下以下问题: 1、JVM管理的内存结构是怎样的? 2、不同的虚拟机在实现运行时内存的…

Serverless 落地挑战与蚂蚁金服实践

目前 Serverless 已成为云原生社区关注的重点之一,有人说它是微服务的继承者,将会彻底改变软件研发的现状,那么真实情况如何呢?本文将介绍 Serverless 市场观察、落地挑战,以及蚂蚁金服对 Serverless 的实践。 Server…

python3-numpy数组广播 和 np.tile 扩展数组

1、数组广播 import numpy as np""" 广播(Broadcast)是 numpy 对不同形状(shape)的数组进行数值计算的方式, 对数组的算术运算通常在相应的元素上进行。 如果两个数组 a 和 b 形状相同,即满足 a.shape b.shape,那么 a*b 的结…

程序员感叹一年只能存下15万太少了……网友:潸然泪下

最近有程序员网友晒出自己的年终奖,税后高达15.7万!看到这个情形,很多网友表示自己“被打鸡血了”。他强调学习的重要性,学习仍然是在这个时代下,普通人能够逆袭,给家人更好生活的一把利器!今天…

linux 添加sftp用户

-- 创建fxq用户,指定用户家目录为/app/fis/data/fxq 指定Uid为503 useradd fxq -d /app/fis/data/fxq -g sftp -u 503-- 给指定fxq用户设置密码 passwd fxq 略cd /app/fis/data/fxq--级联创建fxq相关目录 mkdir /app/fis/data/fxq/send /app/fis/data/fxq/send/gwl …

机器学习工程师第一年的12点体会

机器学习和数据科学都是广义上的术语,它们涉及超级多的领域以及知识,一位数据科学家所做的事情可能与另一位有很大的不同,机器学习工程师也是如此。通常使用过去(数据)来理解或预测(构建模型)未…

python3-numpy np.nditer 迭代数组、np.nditer修改数组、np.nditer广播迭代

1、基本使用 import numpy as np""" NumPy 迭代器对象 numpy.nditer 提供了一种灵活访问一个或者多个数组元素的方式。 迭代器最基本的任务的可以完成对数组元素的访问。 """ a np.arange(6).reshape(2,3) print (原始数组是:) pri…

AI和机器学习如何改善用户体验?

人工智能(AI)和机器学习(ML)可以做些什么来改善客户体验?自从网上购物开始以来,AI和ML已经密切参与整个网上购物流程。如果没有获得购物建议,你可能无法享受到淘宝或任何其他购物网站的优质服务…

今天下午三点,2020深圳开放数据应用创新大赛将举行第二场线上推介会

4月27日15:00 - 16:30,网易客户端、ZAKER、华为云、南方 plus、虎牙在线直播每场线上推介会设两轮抽奖,欢迎互动。继4月20日首场线上推介会顺利举行后,4月27日下午,以"数聚粤港澳,智汇大湾区"为主题的"…

解决Another app is currently holding the yum lock; waiting for it to exit...问题

在下载安装lrzsz时出现Another app is currently holding the yum lock; waiting for it to exit...问题yum被锁定了可以使用 rm -rf /var/run/yum.pid 强制杀死进程来解决

优化 Tengine HTTPS 握手时间

背景 网络延迟是网络上的主要性能瓶颈之一。在最坏的情况下,客户端打开一个链接需要DNS查询(1个 RTT),TCP握手(1个 RTT),TLS 握手(2个RTT),以及最后的 HTTP …

python3-numpy 数组操作--修改数组形状、翻转数组、修改数组维度、连接数组、分割数组、数组元素的添加与删除

1、修改数组形状 函数描述reshape不改变数据的条件下修改形状flat数组元素迭代器flatten返回一份数组拷贝,对拷贝所做的修改不会影响原始数组ravel返回展开数组 1.1 numpy.reshape numpy.reshape 函数可以在不改变数据的条件下修改形状,格式如下&#…

十周年再发重磅新品,小米发布50倍潜望式变焦小米10青春版、MIUI 12

2020年4月27日,小米集团旗下小米品牌举办新品发布会,小米10青春版、MIUI12两款重磅新品正式发布,一同亮相的还有小米手表Color X Keith Haring联名版和小米蓝牙耳机Line Free。小米10青春版是一款从「做好年轻人最在乎的基本性能」&#xff0…

揭秘!如何用Flutter设计一个100%准确的埋点框架?

阿里妹导读:用户行为埋点是用来记录用户在操作时的一系列行为,也是业务做判断的核心数据依据,如果缺失或者不准确将会给业务带来不可恢复的损失。闲鱼将业务代码从Native迁移到Flutter上过程中,发现原先Native体系上的埋点方案无法…

安装rzsz

yum install -y lrzsz

编码规范 | Java函数优雅之道(下)

上文背景 本文总结了一套与Java函数相关的编码规则,旨在给广大Java程序员一些编码建议,有助于大家编写出更优雅、更高质、更高效的代码。 内部函数参数尽量使用基础类型 案例一:内部函数参数尽量使用基础类型 现象描述: // 调…

python3-numpy IO load()、save()、savez()、loadtxt()、savetxt()、tofile()、fromfile()

Numpy 可以读写磁盘上的文本数据或二进制数据。 NumPy 为 ndarray 对象引入了一个简单的文件格式:npy。 npy 文件用于存储重建 ndarray 所需的数据、图形、dtype 和其他信息。 常用的 IO 函数有: load() 和 save() 函数是读写文件数组数据的两个主要函数…

抽象思想解读Linux进程描述符

来源 | 嵌入式客栈责编 | Carol头图 | CSDN 下载自视觉中国内核是怎么工作的?首先要理解进程管理,进程调度,本文开始阅读进程管理部分,首先从进程的抽象描述开始。抽象是软件工程的灵魂,而对于Linux操作系统而言&#…

CentOS Linux 7.7 安装kafka zookeeper

文章目录一、软件下载1. zookeeper2. kafka二、安装与启动2.1. jdk2.2. zookeeper2.3. kafka三、 kafka 基本演示一、软件下载 1. zookeeper http://archive.apache.org/dist/zookeeper/zookeeper-3.5.7/apache-zookeeper-3.5.7-bin.tar.gz 2. kafka https://archive.apach…