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 相关文章推荐
使用setup.py安装python包和卸载python包的方法
Nov 27 Python
简单的Python抓taobao图片爬虫
Oct 26 Python
python读写二进制文件的方法
May 09 Python
简单了解Python生成器是什么
Jul 02 Python
6行Python代码实现进度条效果(Progress、tqdm、alive-progress​​​​​​​和PySimpleGUI库)
Jan 06 Python
Python中sys模块功能与用法实例详解
Feb 26 Python
Python中SQLite如何使用
May 27 Python
python exit出错原因整理
Aug 31 Python
python3实现名片管理系统(控制台版)
Nov 29 Python
python中字符串的编码与解码详析
Dec 03 Python
python matplotlib工具栏源码探析二之添加、删除内置工具项的案例
Feb 25 Python
python 镜像环境搭建总结
Sep 23 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
深入php-fpm的两种进程管理模式详解
2013/06/03 PHP
php实现插入数组但不影响原有顺序的方法
2015/03/27 PHP
PHP-FPM和Nginx的通信机制详解
2019/02/01 PHP
一些javascript一些题目的解析
2010/12/25 Javascript
使用Mootools动态添加Css样式表代码,兼容各浏览器
2011/12/12 Javascript
js加入收藏夹代码(兼容ie/ff/op)
2014/05/16 Javascript
JavaScript中的分号插入机制详细介绍
2015/02/11 Javascript
jQuery实现的表头固定效果实例【附完整demo源码下载】
2016/08/01 Javascript
jQuery动态修改字体大小的方法【测试可用】
2016/09/09 Javascript
AngularJs 动态加载模块和依赖
2016/09/15 Javascript
vue2.0+webpack环境的构造过程
2016/11/08 Javascript
配置nodejs环境的方法
2017/05/13 NodeJs
Angular.js实现获取验证码倒计时60秒按钮的简单方法
2017/10/18 Javascript
Vue手把手教你撸一个 beforeEnter 钩子函数
2018/04/24 Javascript
React Native开发封装Toast与加载Loading组件示例
2018/09/08 Javascript
微信小程序websocket聊天室的实现示例代码
2019/02/12 Javascript
详解async/await 异步应用的常用场景
2019/05/13 Javascript
JS 遍历 json 和 JQuery 遍历json操作完整示例
2019/11/11 jQuery
[59:42]Secret vs Alliacne 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/17 DOTA
对python插入数据库和生成插入sql的示例讲解
2018/11/14 Python
python 定时任务去检测服务器端口是否通的实例
2019/01/26 Python
Keras官方中文文档:性能评估Metrices详解
2020/06/15 Python
荟萃全球保健品:维他购
2018/05/09 全球购物
澳大利亚拥有最好的家具和家居用品在线目的地:Nestz
2019/02/23 全球购物
保加利亚服装和鞋类购物网站:Bibloo.bg
2020/11/08 全球购物
灵泰克Java笔试题
2016/01/09 面试题
JSF的标签库有哪些
2012/04/27 面试题
绘画专业自荐信范文
2014/02/23 职场文书
增员口号大全
2014/06/18 职场文书
幼儿园爱国卫生月活动总结
2014/06/30 职场文书
大学生党校培训心得体会
2014/09/11 职场文书
房屋所有权证明
2015/06/19 职场文书
小学班主任教育随笔
2015/08/15 职场文书
2016党校培训心得体会
2016/01/07 职场文书
SQL SERVER中常用日期函数的具体使用
2021/04/08 SQL Server
MySQL单表千万级数据处理的思路分享
2021/06/05 MySQL