一、取行

1、单行

数组[index, :]
# 取第index+1行

例子

import numpy as np

arr1 = np.arange(0, 24).reshape(4, 6)
# 取第2行数据
row1 = arr1[1, :]
print(row1)

2、连续的多行

数组[start:end , :]
# 顾头不顾尾,也可以使用步长,不过一般不用

例子

import numpy as np

arr1 = np.arange(0, 24).reshape(6, 4)
# 取第2、3、4行数据
row1 = arr1[1:4, :]
print(row1)

3、不连续的多行

数组[[index1, index2] , :]
# 取index1+1 和index2+1 行

例子

import numpy as np

arr1 = np.arange(0, 24).reshape(6, 4)
# 取第1、4、2行
row1 = arr1[[0, 3, 1], :]
print(row1)

二、取列

1、单列

数组[:, index]
# 取第index+1列

例子

import numpy as np

arr1 = np.arange(0, 24).reshape(4, 6)
# 取第3列
cols = arr1[:, 2]
print(cols)

2、连续的多列

数组[:, start:end]
# 顾头不顾尾,索引从0开始

例子

import numpy as np

arr1 = np.arange(0, 24).reshape(4, 6)
# 取列数大于等于3的所有列
cols = arr1[:, 2:]
print(cols)

3、不连续的多列

数组[:, [index1, index2]]
# 取第index1+1和index2+1列

例子

import numpy as np

arr1 = np.arange(0, 24).reshape(4, 6)
# 取列数大于等于3的所有列
cols = arr1[:, 2:]
print(cols)

三、取行和列

1、单个数据

数组[row,col]
# 取第row+1行和第col+1列,对应的数据

例子

import numpy as np

arr1 = np.arange(0, 24).reshape(4, 6)
# 取第3行第4列的值
data = arr1[2, 3]
print(data)

2、连续的行和列

数组[start:end, start:end]
# 行start+1到end,列start+1到end

例子

import numpy as np

arr1 = np.arange(0, 24).reshape(4, 6)
# 取第2到3行和第3列之后的数据
data = arr1[1:3, 2:]
print(data)

3、不连续的多个数据

数组[[a, b] ,[c, d]]
# 取第a+1行和第c+1列相交的数据
# 取第b+1行和第d+1列相交的数据

例子

import numpy as np

arr1 = np.arange(0, 24).reshape(4, 6)
#
data = arr1[[0, 3], [3, 5]]
print(data)

numpy 索引和切片的更多相关文章

  1. Numpy 索引及切片

    1.一维数组的索引及切片 ar = np.arange(20) print(ar) print(ar[4]) print(ar[3:6]) print(ar[:4:2]) #索引到4 按2的步长 pr ...

  2. numpy之索引和切片

    索引和切片 一维数组 一维数组很简单,基本和列表一致. 它们的区别在于数组切片是原始数组视图(这就意味着,如果做任何修改,原始都会跟着更改). 这也意味着,如果不想更改原始数组,我们需要进行显式的复制 ...

  3. Numpy系列(四)- 索引和切片

    Python 中原生的数组就支持使用方括号([])进行索引和切片操作,Numpy 自然不会放过这个强大的特性.  单个元素索引 1-D数组的单元素索引是人们期望的.它的工作原理与其他标准Python序 ...

  4. NumPy学习(索引和切片,合并,分割,copy与deep copy)

    NumPy学习(索引和切片,合并,分割,copy与deep copy) 目录 索引和切片 合并 分割 copy与deep copy 索引和切片 通过索引和切片可以访问以及修改数组元素的值 一维数组 程 ...

  5. Numpy:索引与切片

    numpy基本的索引和切片 import numpy as np arr = np.array([1,2,3,555,666,888,10]) arr array([ 1, 2, 3, 555, 66 ...

  6. NumPy 学习 第二篇:索引和切片

    数组索引是指使用中括号 [] 来定位数据元素,不仅可以定位到单个元素,也可以定位到多个元素.索引基于0,并接受从数组末尾开始索引的负索引. 举个例子,正向索引从0开始,从数组开始向末尾依次加1递增:负 ...

  7. numpy数组的索引和切片

    numpy数组的索引和切片 基本切片操作 >>> import numpy as np >>> arr=np.arange(10) >>> arr ...

  8. Numpy数组基本操作(数组索引,数组切片以及数组的形状,数组的拼接与分裂)

    一:数组的属性 每个数组都有它的属性,可分为:ndim(数组的维度),shape(数组每个维度的大小),size(数组的总大小),dtype(数组数据的类型) 二:数组索引 和python列表一样,N ...

  9. Numpy学习二:数组的索引与切片

    1.一维数组索引与切片#创建一维数组arr1d = np.arange(10)print(arr1d) 结果:[0 1 2 3 4 5 6 7 8 9] #数组的索引从0开始,通过索引获取第三个元素a ...

随机推荐

  1. 【js】vue 2.5.1 源码学习 (十一) 模板编译compileToFunctions渲染函数

    大体思路(九) 本节内容: 1. compileToFunctions定位 1. compileToFunctions定位 ==> createCompiler = createCompiler ...

  2. vue通信、传值的方式

    原文博主地址:https://blog.csdn.net/qq_35430000/article/details/79291287 看完还是受益匪浅,讲得很详细..感谢!

  3. There is no PasswordEncoder mapped for the id "null"的解决办法

    今日在SpringBoot项目中使用 Spring Security ,登录时发现报500错,报错信息如下: There is no PasswordEncoder mapped for the id ...

  4. linux 位操作

    atomic_t 类型在进行整数算术时是不错的. 但是, 它无法工作的好, 当你需要以原子方 式操作单个位时. 为此, 内核提供了一套函数来原子地修改或测试单个位. 因为整个操作 在单步内发生, 没有 ...

  5. 列表内容自动向上滚动(原生JS)

    效果展示 (鼠标移入,滚动停止:鼠标移出,滚动继续) 实现原理 1. html结构:核心是ul > li,ul外层包裹着div.因为想要内容循环滚动无缝衔接,所以在原有ul后面还要有一个一样内容 ...

  6. maven仓库总结,maven私服搭建,批量mvn eclipse:eclipse

    配置pom.xml依赖包时在这里找包的描述: http://search.maven.org/#browse 以java为根目录. mvn archtype:generate -DgroupId=zt ...

  7. Linux 内核kobject 缺省属性

    当被创建时, 每个 kobject 被给定一套缺省属性. 这些属性通过 kobj_type 结构来指定. 这个结构, 记住, 看来如此: struct kobj_type { void (*relea ...

  8. SPOJ - REPEATS Repeats (后缀数组)

    A string s is called an (k,l)-repeat if s is obtained by concatenating k>=1 times some seed strin ...

  9. k8s的持久化存储

    本例使用nfs 创建pv [root@k8s-master data]# vi pv.yaml apiVersion: v1kind: PersistentVolumemetadata: name: ...

  10. JavaScript模块化演变 CommonJs,AMD, CMD, UMD(一)

    原文链接:https://www.jianshu.com/p/33d53cce8237 原文系列2链接:https://www.jianshu.com/p/ad427d8879cb 前端完全手册: h ...