NumPy对数组按索引查询实战方法总结

目录
  • 前期准备及前情回顾
  • 基础索引
    • 一维数组
    • 二维数组
  • 神奇索引
    • 一维数组
    • 二维数组0
  • 布尔索引(常用)
    • 一维数据
    • 二维数组
  • 布尔索引条件的组合
  • 总结

前期准备及前情回顾

#对于一维向量用np.arange生成以元组形式输出从0开始的数组([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])

#对于二维向量(及多维向量),用np.arange生成以元组形式输出从0开始到20结束的数组,用np.reshape(4, 5)函数把一维向量转换为4行5列的二维向量

理解:numpy的二维向量对应着Python的嵌套, 只是numpy支持更高维度的列表, 这也是numpy比Python的优势之处

基础索引

一维数组

和Python的list一样

#1.因为Python语言中有第0位,因此实际中的第一位对应着Python语言中的第0位,numpy是Python中的一个科学计算库,因此也遵从此法则

#2.x[2 : 4]是左闭右开形式,因此实际应在4 - 1也就是第3位结束

#3.可以冒号前后省略,省略最后面就是到最后截止,此时包含最后一位, 不用 -1

我的理解:带冒号左右都有数字的左闭右开[a, b],结束在b-1的位置,带冒号左右数字省略的不用-1,不带冒号的该在第几位结束就在第几位结束

二维数组

注意: 切片的修改会修改原来的数组

原因:NumPy经常要处理大数据, 避免每次都复制

神奇索引

其实就是:用整数数组进行的索引, 叫神奇索引

Eg.

神奇索引的用处

-实例举例:获取数组中最大的前N个数字

一维数组

二维数组0                                                                                                                               

                                         

我的理解:

列可以省略, 行不可以省略,如若不改变行,  用:代替,列也可以用:代替,也可以省略如若想改变行和列,用[[行a, 行b, 行c, ...], [列a,列b  ,列c]]

布尔索引(常用)

一维数据

二维数组

我的理解:

用变量直接与数字判断输出布尔类型True 或 FalseX[]里判断, 输出满足条件的数组

布尔索引条件的组合

总结

到此这篇关于NumPy对数组按索引的文章就介绍到这了,更多相关NumPy数组按索引查询内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • 浅谈numpy数组的几种排序方式

    简单介绍 NumPy系统是Python的一种开源的数组计算扩展.这种工具可用来存储和处理大型矩阵,比Python自身的嵌套列表(nested list structure)结构要高效的多(该结构也可以用来表示矩阵(matrix)). 创建数组 创建1维数组: data = np.array([1,3,4,8]) 查看数组维度 data.shape 查看数组类型 data.dtype 通过索引获取或修改数组元素 data[1] 获取元素 data[1] = 'a' 修改元素 创建二维数组 data

  • Python Numpy 数组的初始化和基本操作

    Python 是一种高级的,动态的,多泛型的编程语言.Python代码很多时候看起来就像是伪代码一样,因此你可以使用很少的几行可读性很高的代码来实现一个非常强大的想法. 一.基础: Numpy的主要数据类型是ndarray,即多维数组.它有以下几个属性: ndarray.ndim:数组的维数 ndarray.shape:数组每一维的大小 ndarray.size:数组中全部元素的数量 ndarray.dtype:数组中元素的类型(numpy.int32, numpy.int16, and num

  • NumPy对数组按索引查询实战方法总结

    目录 前期准备及前情回顾 基础索引 一维数组 二维数组 神奇索引 一维数组 二维数组0 布尔索引(常用) 一维数据 二维数组 布尔索引条件的组合 总结 前期准备及前情回顾 #对于一维向量用np.arange生成以元组形式输出从0开始的数组([0, 1, 2, 3, 4, 5, 6, 7, 8, 9]) #对于二维向量(及多维向量),用np.arange生成以元组形式输出从0开始到20结束的数组,用np.reshape(4, 5)函数把一维向量转换为4行5列的二维向量 理解:numpy的二维向量对

  • python获取元素在数组中索引号的方法

    本文实例讲述了python获取元素在数组中索引号的方法.分享给大家供大家参考.具体如下: 这里python是通过index方法获取索引号的 li = ['a', 'b', 'new', 'D', 'z', 'example', 'new', 'two', 'elements'] print li.index("example") print li.index("new") print li.index("z") print "c&quo

  • Numpy 改变数组维度的几种方法小结

    来自 <Python数据分析基础教程:Numpy 学习指南(第2版)> Numpy改变数组维度的方法有: reshape() ravel() flatten() 用元组设置维度 transpose() resize() 下面将依次进行说明 0. 首先,创建一个多维数组 from numpy import * a = arange(24) 得到: [ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23] 1.reshape

  • MongoDB下根据数组大小进行查询的方法

    注意:作者使用的mongodb版本为2.4.7. 首先插入测试数据 复制代码 代码如下: db.data.insert({name:'a', num:[12,123,22,34,1]});db.data.insert({name:'b', num:[42,22]});db.data.insert({name:'c', num:[49]}); 键num对应的值是数组. 查询num的数组值具有指定大小的document 最好的方法是使用$size,例如指定大小为2,可以: 复制代码 代码如下: db

  • python中找出numpy array数组的最值及其索引方法

    在list列表中,max(list)可以得到list的最大值,list.index(max(list))可以得到最大值对应的索引 但在numpy中的array没有index方法,取而代之的是where,其又是list没有的 首先我们可以得到array在全局和每行每列的最大值(最小值同理) >>> a = np.arange(9).reshape((3,3)) >>> a array([[0, 1, 2], [9, 4, 5], [6, 7, 8]]) >>&

  • Numpy中的数组搜索中np.where方法详细介绍

    numpy.where (condition[, x, y]) numpy.where() 有两种用法: 1. np.where(condition, x, y) 满足条件(condition),输出x,不满足输出y. 如果是一维数组,相当于[xv if c else yv for (c,xv,yv) in zip(condition,x,y)] >>> aa = np.arange(10) >>> np.where(aa,1,-1) array([-1, 1, 1,

  • python中sqllite插入numpy数组到数据库的实现方法

    sqllite里面并没有与numpy的array类型对应的数据类型,通常我们都需要将数组转换为text之后再插入到数据库中,或者以blob类型来存储数组数据,除此之外我们还有另一种方法,能够让我们直接以array来插入和查询数据,实现代码如下 import sqlite3 import numpy as np import io def adapt_array(arr): out = io.BytesIO() np.save(out, arr) out.seek(0) return sqlite

  • PHP实现查询两个数组中不同元素的方法

    本文实例讲述了PHP实现查询两个数组中不同元素的方法.分享给大家供大家参考,具体如下: <?php $a = array( "max_allow_dialogs", "livechat_server_ip", "livechat_service_time", "abort_zh_cn", "abort_zh_tw", "abort_en_usa", "welcome_zh

  • php实现数组中索引关联数据转换成json对象的方法

    本文实例讲述了php实现数组中索引关联数据转换成json对象的方法.分享给大家供大家参考.具体实现方法如下: public static function encode(&$var) { return '{'.implode(',',self::encodeExcute($var)).'}'; } private static function encodeExcute(&$var) { $json = array(); switch (gettype($var)) { case 'arr

  • JavaScript通过元素索引号删除数组中对应元素的方法

    本文实例讲述了JavaScript通过元素索引号删除数组中对应元素的方法.分享给大家供大家参考.具体分析如下: JavaScript通过元素的索引号删除数组中的元素,如果要删除第3个元素,则使用RemoveValByIndex(2)即可,JS数组从0开始 function RemoveValByIndex(arr, index) { arr.splice(index, 1); } test = new Array(); test[0] = 'Apple'; test[1] = 'Ball'; t

随机推荐