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牛刀小试密码爆破
Feb 03 Python
python文件操作之目录遍历实例分析
May 20 Python
Python 网络爬虫--关于简单的模拟登录实例讲解
Jun 01 Python
Python决策树之基于信息增益的特征选择示例
Jun 25 Python
python 对txt中每行内容进行批量替换的方法
Jul 11 Python
Django 多环境配置详解
May 14 Python
Django 配置多站点多域名的实现步骤
May 17 Python
pycharm 安装JPype的教程
Aug 08 Python
python线程中的同步问题及解决方法
Aug 29 Python
Python3的unicode编码转换成中文的问题及解决方案
Dec 10 Python
python能开发游戏吗
Jun 11 Python
Python+Matplotlib图像上指定坐标的位置添加文本标签与注释
Apr 11 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 url地址栏传中文乱码解决方法集合
2010/06/25 PHP
比较strtr, str_replace和preg_replace三个函数的效率
2013/06/26 PHP
php过滤html中的其他网站链接的方法(域名白名单功能)
2014/04/24 PHP
PHP把数字转成人民币大写的函数分享
2014/06/30 PHP
JavaScript获取GridView中用户点击控件的行号,列号
2009/04/14 Javascript
JavaScript简单实现网页回到顶部功能
2013/11/12 Javascript
Javascript获取CSS伪元素属性的实现代码
2014/09/28 Javascript
Javascript核心读书有感之词法结构
2015/02/01 Javascript
jquery实现上下左右滑动的方法
2015/02/09 Javascript
Sublime Text 3常用插件及安装方法
2015/12/16 Javascript
jQuery如何跳转到另一个网页 就这么简单
2016/12/28 Javascript
详解vue.js的事件处理器v-on:click
2017/06/27 Javascript
JavaScript代码调试方法实例小结
2019/01/05 Javascript
使用JavaScript计算前一天和后一天的思路详解
2019/12/20 Javascript
javascript 使用sleep函数的常见方法详解
2020/04/26 Javascript
[03:43]TI9战队采访——PSG.LGD
2019/08/22 DOTA
利用Python和OpenCV库将URL转换为OpenCV格式的方法
2015/03/27 Python
基于Python Shell获取hostname和fqdn释疑
2016/01/25 Python
python将ansible配置转为json格式实例代码
2017/05/15 Python
Python回文字符串及回文数字判定功能示例
2018/03/20 Python
python学习基础之循环import及import过程
2018/04/22 Python
python程序封装为win32服务的方法
2021/03/07 Python
Laravel+Dingo/Api 自定义响应的实现
2019/02/17 Python
利用Pandas和Numpy按时间戳将数据以Groupby方式分组
2019/07/22 Python
python 3.74 运行import numpy as np 报错lib\site-packages\numpy\__init__.py
2019/10/06 Python
tensorflow 初始化未初始化的变量实例
2020/02/06 Python
python3 中时间戳、时间、日期的转换和加减操作
2020/07/14 Python
Python爬虫获取豆瓣电影并写入excel
2020/07/31 Python
python 通过exifread读取照片信息
2020/12/24 Python
Java中的基本数据类型所占存储空间大小固定的吗
2012/02/15 面试题
门诊挂号室室长岗位职责
2013/11/27 职场文书
机械设计职业生涯规划书
2013/12/27 职场文书
个人作风剖析材料
2014/02/02 职场文书
环卫工人先进事迹材料
2014/06/02 职场文书
就业推荐表自我评价范文
2015/03/02 职场文书
MySQL常用慢查询分析工具详解
2022/08/14 MySQL