ndarray中,当我们想获取其指定行列的子矩形局域时,该如何获取?一般的,我们容易误认为通过传入相应索引的数组来直接获取,但是结果出乎我们预期,这时我们得到的却是相应数组构成的坐标对应于ndarray中的元素构成的一维数组。如下所示。

上面例子中,我们想获取arr对象中的右下角四个元素构成的矩形子区域,所以我们尝试通过arr[[1,2],[1,2]]的方式获取,结果返回的是(1,1),(2,2)坐标对应的元素,并不是我们想要的矩形区域。实际上,对于numpy的ndarray,当我们对行和列都用数组索引时(这种方式成为fancy索引),其返回的并不是相应的行列构成的子区域,而是传入数组构成的坐标对应的元素。如果我们想要获取相应的矩形区域,则可以通过下列方式。即先获取相应的行,再通过切片索引和数组索引获取。

实际上,在ndarray中,只要行和列其中有一方不是数组索引,或者说只要有一方是切片索引,那么获取到的就是相应的子矩形区域,如下所示。

最后要说明一下的是,虽然pandas是基于Numpy的,但是对于DataFrame的索引,即使行列都是数组索引,返回的是相应矩形区域的DataFrame,这点和ndarray并不一样。

numpy多维数组获取指定矩形区域相关推荐

  1. python numpy常用操作、Numpy 多维数组、矩阵相乘、矩阵乘以向量

    python numpy常用操作 Numpy基本操作 # 导入numpy import numpy as np # 生成numpy数组 x = np.array([1.0, 2.0, 3.0]) pr ...

  2. PHP 读取数据库内容并以二维数组按指定列输出实例

    最新PHP 读取数据库内容并以二维数组按指定列输出实例 以下是三零网为大家整理的最新PHP 读取数据库内容并以二维数组按指定列输出实例的文章,希望大家能够喜欢! <?php $host = &q ...

  3. Python Numpy多维数组.sum(axis=0/1/2...) 详解

    Python Numpy多维数组.sum(axis=0/1/2-) 详解 numpy中axis取值的说明 首先对numpy中axis取值进行说明:一维数组时axis=0,二维数组时axis=0,1,维 ...

  4. php二维数组按照自定义方式对键值排序,PHP 对一个给定的二维数组按照指定的键值进行排序...

    $v){ $keysvalue[$k] = $v[$keys]; } if($type == 'asc'){ asort($keysvalue); }else{ arsort($keysvalue); ...

  5. python中numpy的用法_Python中numpy多维数组的用法

    继上篇讲过numpy如何构建多维数组之后,今天我们来学习numpy多维数组的用法. 加法和减法操作要求操作双方的维数信息一致,均为M*N为数组方可正确执行操作. a = np.arange(4) 输出 ...

  6. 二维数组按指定的键值排序

    /** * 二维数组按指定的键值排序 * @param $array 需要排序的二维数组 * @param $keys 需要排序根据的索引 * @param string $type 正序/倒叙(默认 ...

  7. numpy二维数组改变某些数_【每天15分钟,5天学会NumPy】第1天:基本概念

    1.NumPy 的家族 NumPy 是 SciPy 家族的一员,而且是最重要的成员.SciPy 家族(见下图)是一个专门应用于数学.科学和工程领域的开源的Python生态圈.NumPy 最初是 Sci ...

  8. python多维数据分析_Python 数据分析:numpy 多维数组 ndarray

    下面的文章中,将使用约定俗成的模块名 np 来表示 NumPy 库. 1. 多维数组的创建 NumPy 提供了许多常用的函数来创建多维数组,先概览这些函数的名称及功能. 函数 说明 array 将输入 ...

  9. numpy二维数组改变某些数_机器学习:Python常用库——Numpy库

    从前面的学习中我们知道,机器学习是以大量数据为基础的. 由此就引出一个问题:那么多的数据我们要如何处理呢? 别担心,嘻嘻,Python开发人员早有准备. 为了拓宽数据科学方面的应用,Numpy库应运而 ...

最新文章

  1. java 中普通类继承,抽象类继承,接口类继承,子类一定要重写父类中的方法吗
  2. ReactNative ES6简介 及基本语法第一篇
  3. GoldenGate学习笔记(11)_常用参数
  4. asp.net中session的原理及应用
  5. Mysql之drop、delete、truncate的区别
  6. threallocal详解
  7. 一张图学会python3语法-一张图片在Python操作下的4种玩法(附源码)
  8. 静态,类,实例方法,字典
  9. TLPI UNIX linux系统编程手册源代码运行
  10. 国内浏览器双核模式 默认切换chrome内核
  11. 这些曾盛极一时的经典软件,现在再看,还是记忆犹新
  12. LAB、HSB、RGB和CMYK色彩模式简介
  13. “新基建”投资背景下 安防企业如何把握发展机遇?
  14. 未明学院:保姆级四大par面面经和准备方法
  15. 把VBA转换成JAVA_请教,我用Excel中生成了Java代码,用VBA生成Jav
  16. 谷粒商城 高级篇 (十四) ---------- 商品详情
  17. iOS开发篇(二)自定义评分星级条RatingBar
  18. 红米AX6S路由器刷OpenWrt固件,实现软路由功能,科学-上网-网速度起飞
  19. 高德地图去掉logo和版权
  20. Java实现简单二维码制作

热门文章

  1. Activiz学习点滴(一)——常用类
  2. 【Unity3D】学习笔记(第2记) 2D游戏开发基本技巧之背景制作
  3. 转一篇经典音响文章《“摩机”宝典之如何“摩功放”》
  4. 招行数据岗笔试题- 信用卡推荐客户列表
  5. matlab不支持复数输入,高版本MATLAB中medfilt1函数不支持复数问题
  6. CSDN文章如何迁移至微信公众号
  7. 抖音测试图文内容一级流量入口
  8. 表格布局管理器TableLayout
  9. 任务描述本关任务:利用所学知识,按要求自行绘制一个 K 线图。
  10. 微信小程序自定义showModel为转发按钮