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字典简介以及用法详解
Nov 15 Python
python使用os.listdir和os.walk获得文件的路径的方法
Dec 16 Python
Python3 replace()函数使用方法
Mar 19 Python
jupyter notebook引用from pyecharts.charts import Bar运行报错
Apr 23 Python
python库lxml在linux和WIN系统下的安装
Jun 24 Python
Django之Mode的外键自关联和引用未定义的Model方法
Dec 15 Python
对python中大文件的导入与导出方法详解
Dec 28 Python
多版本python的pip 升级后, pip2 pip3 与python版本失配解决方法
Sep 11 Python
python框架flask表单实现详解
Nov 04 Python
NumPy排序的实现
Jan 21 Python
Python OrderedDict字典排序方法详解
May 21 Python
几款Python编译器比较与推荐(小结)
Oct 15 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
关于mysql 字段的那个点为是定界符
2007/01/15 PHP
php上传文件并存储到mysql数据库的方法
2015/03/16 PHP
php操作memcache缓存方法分享
2015/06/03 PHP
Laravel5.7 数据库操作迁移的实现方法
2019/04/12 PHP
PHP下载大文件失败并限制下载速度的实例代码
2019/05/10 PHP
PHP数组Key强制类型转换实现原理解析
2020/09/01 PHP
读jQuery之五(取DOM元素)
2011/06/20 Javascript
使用javascript:将其它类型值转换成布尔类型值的解决方法详解
2013/05/07 Javascript
Vuejs第十三篇之组件——杂项
2016/09/09 Javascript
javascript的几种写法总结
2016/09/30 Javascript
JQuery学习总结【二】
2016/12/01 Javascript
BootStrap Fileinput的使用教程
2016/12/30 Javascript
AngularJS使用ng-app自动加载bootstrap框架问题分析
2017/01/04 Javascript
webpack3+React 的配置全解
2017/08/21 Javascript
浅谈在fetch方法中添加header后遇到的预检请求问题
2017/08/31 Javascript
详解JavaScript中的数组合并方法和对象合并方法
2018/05/11 Javascript
Vue2.0 实现移动端图片上传功能
2018/05/30 Javascript
微信上传视频文件提示(推荐)
2018/11/22 Javascript
javascript实现放大镜功能
2020/12/09 Javascript
[02:41]DOTA2英雄基础教程 亚巴顿
2014/01/02 DOTA
[01:15]《辉夜杯》北京网鱼队巡礼
2015/10/26 DOTA
实例详解Matlab 与 Python 的区别
2019/04/26 Python
Python实现12306火车票抢票系统
2019/07/04 Python
Python 实现遥感影像波段组合的示例代码
2019/08/04 Python
python实现智能语音天气预报
2019/12/02 Python
使用pyhon绘图比较两个手机屏幕大小(实例代码)
2020/01/03 Python
python GUI库图形界面开发之PyQt5开发环境配置与基础使用
2020/02/25 Python
Jupyter加载文件的实现方法
2020/04/14 Python
Python任务调度模块APScheduler使用
2020/04/15 Python
pycharm2020.2 配置使用的方法详解
2020/09/16 Python
使用javascript和HTML5 Canvas画的四渐变色播放按钮效果
2014/04/10 HTML / CSS
Otticanet美国:最顶尖的世界名牌眼镜, 能得到打折季的价格
2019/03/10 全球购物
应届大学生求职信
2013/12/01 职场文书
生态养殖创业计划书
2014/05/06 职场文书
医院领导班子整改方案
2014/10/01 职场文书
导师对论文的学术评语
2015/01/04 职场文书