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 运算符 供重载参考
Jun 11 Python
详解Python的迭代器、生成器以及相关的itertools包
Apr 02 Python
对于Python装饰器使用的一些建议
Jun 03 Python
Python3如何解决字符编码问题详解
Apr 23 Python
Django验证码的生成与使用示例
May 20 Python
Python读取sqlite数据库文件的方法分析
Aug 07 Python
python logging日志模块以及多进程日志详解
Apr 18 Python
Python实现针对json中某个关键字段进行排序操作示例
Dec 25 Python
Python 利用pydub库操作音频文件的方法
Jan 09 Python
python通过robert、sobel、Laplace算子实现图像边缘提取详解
Aug 21 Python
将pytorch转成longtensor的简单方法
Feb 18 Python
python关于集合的知识案例详解
May 30 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 显示指定路径下的图片
2009/10/29 PHP
php ftp文件上传函数(基础版)
2010/06/03 PHP
php约瑟夫问题解决关于处死犯人的算法
2015/03/23 PHP
YII Framework框架教程之安全方案详解
2016/03/14 PHP
php处理复杂xml数据示例
2016/07/11 PHP
利用PHP获取网站访客的所在地位置
2017/01/18 PHP
php获取给定日期相差天数的方法分析
2017/02/20 PHP
基于jsTree的无限级树JSON数据的转换代码
2010/07/27 Javascript
document.forms[].submit()使用介绍
2014/02/19 Javascript
js模拟C#中List的简单实例
2014/03/06 Javascript
jQuery插件实现控制网页元素动态居中显示
2015/03/24 Javascript
jquery中toggle函数交替使用问题
2015/06/22 Javascript
JS表格组件神器bootstrap table详解(基础版)
2015/12/08 Javascript
JavaScript使用正则表达式获取全部分组内容的方法示例
2017/01/17 Javascript
AngularJS监听路由变化的方法
2017/03/07 Javascript
完美实现js选项卡切换效果(一)
2017/03/08 Javascript
在iframe中使bootstrap的模态框在父页面弹出问题
2017/08/07 Javascript
微信小程序 input表单与redio及下拉列表的使用实例
2017/09/20 Javascript
基于Angular中ng-controller父子级嵌套的相关属性详解
2018/10/08 Javascript
Vue+iview+webpack ie浏览器兼容简单处理
2019/09/20 Javascript
vuex管理状态 刷新页面保持不被清空的解决方案
2019/11/11 Javascript
使用python分析git log日志示例
2014/02/27 Python
在Python中操作文件之read()方法的使用教程
2015/05/24 Python
Python实现简单的多任务mysql转xml的方法
2017/02/08 Python
基于python调用psutil模块过程解析
2019/12/20 Python
python同义词替换的实现(jieba分词)
2020/01/21 Python
python GUI库图形界面开发之PyQt5窗口背景与不规则窗口实例
2020/02/25 Python
如何实现更换Jupyter Notebook内核Python版本
2020/05/18 Python
处理HTML5新标签的浏览器兼容版问题
2017/03/13 HTML / CSS
Perfume’s Club英国官网:购买香水和护肤品
2019/11/02 全球购物
大专毕业生自我评价分享
2013/11/10 职场文书
高中打架检讨书
2014/02/13 职场文书
高二学生评语大全
2014/04/25 职场文书
社区艾滋病宣传活动总结
2015/05/07 职场文书
人与自然观后感
2015/06/16 职场文书
麦田里的守望者读书笔记
2015/06/30 职场文书