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 字典(dict)遍历的四种方法性能测试报告
Jun 25 Python
使用Python下载歌词并嵌入歌曲文件中的实现代码
Nov 13 Python
Python图算法实例分析
Aug 13 Python
Python极简代码实现杨辉三角示例代码
Nov 15 Python
Django验证码的生成与使用示例
May 20 Python
Python引用计数操作示例
Aug 23 Python
解决python测试opencv时imread导致的错误问题
Jan 26 Python
详解pandas DataFrame的查询方法(loc,iloc,at,iat,ix的用法和区别)
Aug 02 Python
利用Python代码实现一键抠背景功能
Dec 29 Python
Pytorch 使用不同版本的cuda的方法步骤
Apr 02 Python
使用Python将语音转换为文本的方法
Aug 10 Python
详解python 内存优化
Aug 17 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的一个基础知识 表单提交
2011/07/04 PHP
PHP数组及条件,循环语句学习
2012/11/11 PHP
php防注入,表单提交值转义的实现详解
2013/06/10 PHP
php出现内存位置访问无效错误问题解决方法
2014/08/16 PHP
学习php设计模式 php实现原型模式(prototype)
2015/12/07 PHP
PHP实现支持加盐的图片加密解密
2016/09/09 PHP
使用jquery与图片美化checkbox和radio控件的代码(打包下载)
2010/11/11 Javascript
jQuery实现点击标题输入详细信息
2013/04/16 Javascript
Javascript弹出窗口的各种方法总结
2013/11/11 Javascript
JQuery中模拟image的ajaxPrefilter与ajaxTransport处理
2015/06/19 Javascript
js实现正则匹配中文标点符号的方法
2015/12/23 Javascript
浅谈几种常用的JS类定义方法
2016/06/08 Javascript
BootStrap Table 获取同行不同列元素的方法
2016/12/19 Javascript
bootstrap下拉菜单使用方法解析
2017/01/13 Javascript
vue.js简单配置axios的方法详解
2017/12/13 Javascript
浅谈React深度编程之受控组件与非受控组件
2017/12/26 Javascript
深入理解JS的事件绑定、事件流模型
2018/05/13 Javascript
js实现一个页面多个倒计时的3种方法
2019/02/25 Javascript
小程序登录/注册页面设计的实现代码
2019/05/24 Javascript
过滤器vue.filters的使用方法实现
2019/09/18 Javascript
python实现装饰器、描述符
2018/02/28 Python
高效使用Python字典的清单
2018/04/04 Python
python实现维吉尼亚加密法
2019/03/20 Python
Python模块、包(Package)概念与用法分析
2019/05/31 Python
Django ModelForm组件使用方法详解
2019/07/23 Python
Python xlrd/xlwt 创建excel文件及常用操作
2020/09/24 Python
HTML5的结构和语义(5):交互
2008/10/17 HTML / CSS
南威尔士家居商店:Leekes
2016/10/25 全球购物
Gap工厂店:Gap Factory
2017/11/02 全球购物
白俄罗斯大卖场:21vek.by
2019/07/25 全球购物
中医药大学毕业生自荐信
2013/11/08 职场文书
2014年小学生迎国庆65周年演讲稿
2014/09/27 职场文书
万能检讨书
2015/01/27 职场文书
2015年行政工作总结范文
2015/04/09 职场文书
六一儿童节致辞稿(3篇)
2019/07/11 职场文书
为什么MySQL分页用limit会越来越慢
2021/07/25 MySQL