numpy的Fancy Indexing和array比较详解


Posted in Python onJune 11, 2020

一:Fancy Indexing

import numpy as np
 
#Fancy Indexing
x = np.arange(16)
np.random.shuffle(x)
print(x) #打印所有的元素
 
 
print(x[2])#获取某个元素的值
print(x[1:3])#切片
print(x[3:9:2])#指定间距切片
 
index = [2,4,7,9] #索引数组
print(x[index])#获取索引数组中的元素的值
 
ind = np.array([[0,2],[1,4]]) #索引二维数组
print(x[ind])##获取索引二维数组中的元素的值
 
print("---------------------")
 
X = x.reshape(4,-1)
print(X)
 
ind1 = np.array([1,3]) #行的索引
ind2 = np.array([2,0]) #列的索引
print(X[ind1,ind2])
 
print(X[:-2,ind2])
 
bool_index = [True,False,True,False] #True就取当前列,False就不取
print(X[:-1,bool_index])

Fancy Indexing 应用在一维数组 

x = np.arange(16) 
x[3] # 3
x[3:9] # array([3, 4, 5, 6, 7, 8])
x[3:9:2] # array([3, 5, 7])
[x[3], x[5], x[7]] # [3, 5, 7]
ind = [3, 5, 7] 
x[ind]  # array([3, 5, 7])
ind = np.array([[0, 2], [1, 3]]) 
x[ind] 
"""
array([[0, 2],
    [1, 3]])
"""

Fancy Indexing 应用在二维数组 

X = x.reshape(4, -1) 
"""
array([[ 0, 1, 2, 3],
    [ 4, 5, 6, 7],
    [ 8, 9, 10, 11],
    [12, 13, 14, 15]])
"""
row = np.array([0, 1, 2]) 
col = np.array([1, 2, 3])
# 1行2列,2行3列,3行4列
X[row, col]  # array([ 1, 6, 11])
# 前2行 2,3,4列
X[:2, col] 
"""
array([[1, 2, 3],
    [5, 6, 7]])
"""
col = [True, False, True, True] 
X[0, col]  # array([0, 2, 3])

二:array比较

import numpy as np
 
x = np.arange(16)
print(x)
 
print(x < 3) #返回的是bool数组
 
print(x == 3)
 
print(x != 3)
 
print(x * 4 == 24 - 4 * x)
 
 
 
print(x + 1)
 
print(x * 2)
 
print(x / 4)
 
print(x - 10)
 
print(np.sum(x<3))#返回小于3的元素个数
 
print(np.any(x==0)) #只要向量x中有等于0的就返回true
 
print(np.all(x==0)) #只有向量x中全部等于0才返回true
 
print(x[x<5]) #因为x<5返回的是bool数组,我们取true的元素的值
 
 
#二维的同样支持
print("----------------------")
X = x.reshape(4,-1)
 
print(X)
print(X<3)
print(x == 3)
print(np.sum(X<4))
print(np.count_nonzero(X<5)) #返回X中小于5的不等于0的个数
print(np.any(X==0)) #只要向量x中有等于0的就返回true
 
print(np.all(X==0)) #只有向量x中全部等于0才返回true
 
print(np.sum(X<4,axis=1))#沿着列的方向,计算每行小于4的个数
 
print(np.sum((X>3)&(X<10))) #计算X中大于3并且小于10的个数
 
print(np.sum(~(X==0))) #计算X中不等于0的个数
 
print(X[X[:,3]%3==0,:]) #因为X[:,3]%3==0返回的是一个向量,元素为true,false,false,true,所以最后取第一行和最后一行

到此这篇关于numpy的Fancy Indexing和array比较详解的文章就介绍到这了,更多相关numpy Fancy Indexing和array比较内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
简单介绍Python的轻便web框架Bottle
Apr 08 Python
Python UnicodeEncodeError: 'gbk' codec can't encode character 解决方法
Apr 24 Python
python中字典(Dictionary)用法实例详解
May 30 Python
Python 使用with上下文实现计时功能
Mar 09 Python
Python RabbitMQ消息队列实现rpc
May 30 Python
flask-socketio实现WebSocket的方法
Jul 31 Python
关于pytorch多GPU训练实例与性能对比分析
Aug 19 Python
python3 dict ndarray 存成json,并保留原数据精度的实例
Dec 06 Python
配置python的编程环境之Anaconda + VSCode的教程
Mar 29 Python
Python3 + Appium + 安卓模拟器实现APP自动化测试并生成测试报告
Jan 27 Python
yolov5返回坐标的方法实例
Mar 17 Python
Python集合set()使用的方法详解
Mar 18 Python
python如何更新包
Jun 11 #Python
浅谈keras中自定义二分类任务评价指标metrics的方法以及代码
Jun 11 #Python
Keras中的多分类损失函数用法categorical_crossentropy
Jun 11 #Python
Python 列表中的修改、添加和删除元素的实现
Jun 11 #Python
python中什么是面向对象
Jun 11 #Python
python实现凯撒密码、凯撒加解密算法
Jun 11 #Python
python新手学习可变和不可变对象
Jun 11 #Python
You might like
yii框架builder、update、delete使用方法
2014/04/30 PHP
PHP实现删除非站内外部链接实例代码
2014/06/17 PHP
PHP经典面试题集锦
2015/03/19 PHP
PHP微信开发之根据用户回复关键词\位置返回附近信息
2016/06/24 PHP
php项目开发中用到的快速排序算法分析
2016/06/25 PHP
验证token、回复图文\文本、推送消息的实用微信类php代码
2016/06/28 PHP
php中mkdir()函数的权限问题分析
2016/09/24 PHP
javascript 建设银行登陆键盘
2008/06/10 Javascript
Javascript之this关键字深入解析
2013/11/12 Javascript
ajaxFileUpload.js插件支持多文件上传的方法
2014/09/02 Javascript
js实现YouKu的漂亮搜索框效果
2015/08/19 Javascript
非常棒的jQuery图片轮播效果
2016/04/17 Javascript
Vue.js 2.0 和 React、Augular等其他前端框架大比拼
2016/10/08 Javascript
jQuery实现的简单拖动层示例
2017/02/22 Javascript
JavaScript设计模式之策略模式详解
2017/06/09 Javascript
详解AngularJs路由之Ui-router-resolve(预加载)
2017/06/13 Javascript
angular使用bootstrap方法手动启动的实例代码
2017/07/18 Javascript
Vue刷新修改页面中数据的方法
2018/09/16 Javascript
分享5个小技巧让你写出更好的 JavaScript 条件语句
2018/10/20 Javascript
生产制造追溯系统之在线打印功能
2019/06/03 Javascript
微信小程序实现多图上传
2020/06/19 Javascript
Python实现列表转换成字典数据结构的方法
2016/03/11 Python
实例讲解Python中SocketServer模块处理网络请求的用法
2016/06/28 Python
python 如何快速找出两个电子表中数据的差异
2017/05/26 Python
将Python字符串生成PDF的实例代码详解
2019/05/17 Python
使用python模拟命令行终端的示例
2019/08/13 Python
python3 selenium自动化测试 强大的CSS定位方法
2019/08/23 Python
python爬虫之爬取百度音乐的实现方法
2019/08/24 Python
CHARLES & KEITH加拿大官网:新加坡时尚品牌
2020/03/26 全球购物
加拿大户外探险购物网站:SAIL
2020/06/27 全球购物
餐厅考勤管理制度
2014/01/28 职场文书
会计专业毕业生求职信
2014/07/04 职场文书
十佳少先队员演讲稿
2014/09/12 职场文书
六种css3实现的边框过渡效果
2021/04/22 HTML / CSS
python ConfigParser库的使用及遇到的坑
2022/02/12 Python
win10壁纸在哪个文件夹 win10桌面背景图片文件位置分享
2022/08/05 数码科技