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 相关文章推荐
用yum安装MySQLdb模块的步骤方法
Dec 15 Python
python3中dict(字典)的使用方法示例
Mar 22 Python
Python数据结构与算法之列表(链表,linked list)简单实现
Oct 30 Python
Python插件virtualenv搭建虚拟环境
Nov 20 Python
python ddt实现数据驱动
Mar 14 Python
python 从csv读数据到mysql的实例
Jun 21 Python
Python中拆分字符串的操作方法
Jul 23 Python
python中类的输出或类的实例输出为这种形式的原因
Aug 12 Python
python 模拟创建seafile 目录操作示例
Sep 26 Python
python 实现将小图片放到另一个较大的白色或黑色背景图片中
Dec 12 Python
Python文件时间操作步骤代码详解
Apr 13 Python
Python实现区域填充的示例代码
Feb 03 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获取谷歌PR值算法,附上php查询PR值代码示例
2011/12/25 PHP
PHP 读取大文件的X行到Y行内容的实现代码
2013/06/24 PHP
PHP中list()函数用法实例简析
2016/01/08 PHP
PHP的Laravel框架中使用AdminLTE模板来编写网站后台界面
2016/03/21 PHP
从阿里妈妈发现的几个不错的表单验证函数
2007/09/21 Javascript
url 特殊字符 传递参数解决方法
2010/01/01 Javascript
jQuery实现鼠标滑过遮罩并高亮显示效果
2013/07/16 Javascript
详解JavaScript语法对{}处理的坑爹之处
2014/06/05 Javascript
js实现键盘操作实现div的移动或改变的原理及代码
2014/06/23 Javascript
JavaScript函数模式详解
2014/11/07 Javascript
javascript 数组操作详解
2015/01/29 Javascript
jQuery焦点控制图层展示延迟隐藏的方法
2015/03/09 Javascript
javascript中的 object 和 function小结
2016/08/14 Javascript
用v-html解决Vue.js渲染中html标签不被解析的问题
2016/12/14 Javascript
Angularjs 依赖压缩及自定义过滤器写法
2017/02/04 Javascript
vue+vuex+axios+echarts画一个动态更新的中国地图的方法
2017/12/19 Javascript
js 实现ajax发送步骤过程详解
2019/07/25 Javascript
使用flow来规范javascript的变量类型
2019/09/12 Javascript
Vue如何基于vue-i18n实现多国语言兼容
2020/07/17 Javascript
[57:09]DOTA2-DPC中国联赛 正赛 Phoenix vs Dynasty BO3 第一场 1月26日
2021/03/11 DOTA
Python 40行代码实现人脸识别功能
2017/04/02 Python
Python实现按照指定要求逆序输出一个数字的方法
2018/04/19 Python
对TensorFlow的assign赋值用法详解
2018/07/30 Python
python学习开发mock接口
2019/04/28 Python
python pytest进阶之conftest.py详解
2019/06/27 Python
Python爬虫之urllib基础用法教程
2019/10/12 Python
python利用Excel读取和存储测试数据完成接口自动化教程
2020/04/30 Python
Python如何实现FTP功能
2020/05/28 Python
tensorflow图像裁剪进行数据增强操作
2020/06/30 Python
CSS3实现酷炫的3D旋转透视效果
2019/11/21 HTML / CSS
美国隐形眼镜网:Major Lens
2018/02/09 全球购物
SkinCeuticals官网:美国药妆品牌
2018/04/19 全球购物
英国性能汽车零件和发动机配件在线:Maxpeedingrods
2019/11/05 全球购物
Harrods英国:世界领先的奢侈品百货商店
2020/09/23 全球购物
2019奶茶店创业计划书范本,值得你借鉴
2019/08/14 职场文书
8g内存用python读取10文件_面试题-python 如何读取一个大于 10G 的txt文件?
2021/05/28 Python