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中的元组与逻辑运算符
Oct 13 Python
Python实现二维数组输出为图片
Apr 03 Python
django的ORM模型的实现原理
Mar 04 Python
python 求1-100之间的奇数或者偶数之和的实例
Jun 11 Python
python实现几种归一化方法(Normalization Method)
Jul 31 Python
python调用接口的4种方式代码实例
Nov 19 Python
新手学python应该下哪个版本
Jun 11 Python
让你相见恨晚的十个Python骚操作
Nov 18 Python
python3 googletrans超时报错问题及翻译工具优化方案 附源码
Dec 23 Python
Python3爬虫RedisDump的安装步骤
Feb 20 Python
Python机器学习之逻辑回归
May 11 Python
如何Python使用re模块实现okenizer
Apr 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中使用redis队列操作实例代码
2013/02/07 PHP
Windows7下的php环境配置教程
2015/02/28 PHP
微信接口生成带参数的二维码
2017/07/31 PHP
PHP 进度条函数的简单实例
2017/09/19 PHP
phpinfo无法显示的原因及解决办法
2019/02/15 PHP
laravel-admin 实现给grid的列添加行数序号的方法
2019/10/08 PHP
js验证表单大全
2006/11/25 Javascript
jQuery 位置插件
2008/12/25 Javascript
JQuery魔力之$(&quot;tagName&quot;)与selector
2012/03/05 Javascript
jquery实现网站超链接和图片提示效果
2013/03/21 Javascript
判断是否安装flash player及当前版本的JS代码
2013/08/08 Javascript
JS获取地址栏参数的几种方法小结
2014/02/28 Javascript
jQuery中scrollTop()方法用法实例
2015/01/16 Javascript
javascript常用正则表达式汇总
2015/07/31 Javascript
举例讲解JavaScript中关于对象操作的相关知识
2015/11/16 Javascript
浅谈jquery设置和获得checkbox选中的问题
2016/08/19 Javascript
浅谈JavaScript 函数参数传递到底是值传递还是引用传递
2016/08/23 Javascript
etmvc+jQuery EasyUI+combobox多值操作实现角色授权实例
2016/11/09 Javascript
解决vue js IOS H5focus无法自动弹出键盘的问题
2018/08/30 Javascript
javascript中导出与导入实现模块化管理教程
2020/12/03 Javascript
Vue过滤器,生命周期函数和vue-resource简单介绍
2021/01/12 Vue.js
python 合并文件的具体实例
2013/08/08 Python
详解Python的迭代器、生成器以及相关的itertools包
2015/04/02 Python
利用python程序生成word和PDF文档的方法
2017/02/14 Python
python Celery定时任务的示例
2018/03/13 Python
Django xadmin开启搜索功能的实现
2019/11/15 Python
python日期与时间戳的各种转换示例
2020/02/12 Python
Jupyter notebook如何修改平台字体
2020/05/13 Python
加拿大高尔夫超市:Golf Town
2018/01/12 全球购物
美国领先的个性化礼品商城:Personalization Mall
2019/07/27 全球购物
临床医学系毕业生推荐信
2013/11/09 职场文书
英语专业毕业生自荐信范文
2013/12/31 职场文书
普罗米修斯教学反思
2014/02/06 职场文书
村官2015年度工作总结
2015/10/14 职场文书
承诺书的内容有哪些,怎么写?
2019/06/21 职场文书
聊聊SpringBoot自动装配的魔力
2021/11/17 Java/Android