初探numpy——切片和索引
2020-06-29 09:41
148 查看
切片
import numpy as np # 使用切片参数start:stop:step来进行切片操作 a_array=np.arange(10) print(a_array,'\n') b_array=a_array[1:10:2] print(b_array,'\n') c_array=a_array[2:] print(c_array,'\n') d_array=a_array[:5] print(d_array)
[0 1 2 3 4 5 6 7 8 9] [1 3 5 7 9] [2 3 4 5 6 7 8 9] [0 1 2 3 4]
# 多维数组切片操作 a_array=np.array([[1,2,3],[4,5,6],[7,8,9]]) print(a_array,'\n') # 从a_array[n:]开始切割 print(a_array[1:],'\n') # 第n列元素 print(a_array[...,0],'\n') # 第n行元素 print(a_array[1,...],'\n') # 第n列及剩下的所有元素 print(a_array[...,1:],'\n') # 第n行及剩下的所有元素 print(a_array[1:,...])
[[1 2 3] [4 5 6] [7 8 9]] [[4 5 6] [7 8 9]] [1 4 7] [4 5 6] [[2 3] [5 6] [8 9]] [[4 5 6] [7 8 9]]
numpy高级索引
# 整数数组索引 array=np.array([[1,2,3],[4,5,6],[7,8,9]]) print(array,'\n') #获取(0,0),(1,1),(2,2)处的元素 print(array[[0,1,2],[0,1,2]],'\n') #获取(0,0),(0,2),(2,0),(2,2)处的元素 print(array[np.array([[0,0],[2,2]]),np.array([[0,2],[0,2]])])
[[1 2 3] [4 5 6] [7 8 9]] [1 5 9] [[1 3] [7 9]]
# 切片 array=np.array([[1,2,3],[4,5,6],[7,8,9]]) print(array,'\ e88 n') print(array[0:2,0:2],'\n') print(array[...,0:2])
[[1 2 3] [4 5 6] [7 8 9]] [[1 2] [4 5]] [[1 2] [4 5] [7 8]]
# 布尔索引 array=np.array([[1,2,3],[4,5,6],[7,8,9]]) print(array,'\n') #获取大于3的元素 print(array[array>3])
[[1 2 3] [4 5 6] [7 8 9]] [4 5 6 7 8 9]
# 花式索引 array=np.arange(25).reshape(5,5) print(array,'\n') #获取第1,2,3行元素 print(array[[1,2,3]],'\n') #获取后三行元素 print(array[[-1,-2,-3]])
[[ 0 1 2 3 4] [ 5 6 7 8 9] [10 11 12 13 14] [15 16 17 18 19] [20 21 22 23 24]] [[ 5 6 7 8 9] [10 11 12 13 14] [15 16 17 18 19]] [[20 21 22 23 24] [15 16 17 18 19] [10 11 12 13 14]]
# 还是花式索引 array=np.arange(25).reshape(5,5) print(array,'\n') # 先选取行,再将列排序 print(array[[2,1,3]][:,[2,3,1,4,0]],'\n') # 用numpy.ix_()函数,输入两个数组,产生笛卡尔积的映射关系 print(array[np.ix_([2,1,3],[2,3,1,4,0])])
[[ 0 1 2 3 4] [ 5 6 7 8 9] [10 11 12 13 14] [15 16 17 18 19] [20 21 22 23 24]] [[12 13 11 14 10] [ 7 8 6 9 5] [17 18 16 19 15]] [[12 13 11 14 10] [ 7 8 6 9 5] [17 18 16 19 15]]
相关文章推荐
- python numpy数值基础 切片和索引
- numpy的索引与切片
- numpy之索引和切片
- Golang 如何在切片尾部追加元素,又如何删除切片指定索引的元素,以及如何在切片中间插入元素,还有切片之间的复制
- Python-Numpy学习之二:加减乘除,索引和切片
- 学习笔记(01):零基础搞定Python数据分析与挖掘-字符串构造与索引、切片的使用(二)...
- NumPy学习(索引和切片,合并,分割,copy与deep copy)
- 简明python教程学习笔记之九-序列的通用操作(索引和切片)
- 对ndarray的操作:索引、切片、转置
- 序列类型函数2—切片索引的扩展
- 1.1.4 Python索引切片,一些基本操作
- 学习笔记(51):零基础搞定Python数据分析与挖掘-字符串构造与索引、切片的使用(二)...
- python学习笔记(1):numpy库索引切片 形状变化
- 学习笔记(01):零基础搞定Python数据分析与挖掘-字符串构造与索引、切片的使用(三)...
- Python中字符串的索引和切片
- 对Python中list的倒序索引和切片实例讲解
- NumPy数组基本的索引和切片
- NumPy 基本切片和索引的具体使用方法
- TensorFlow索引与切片的实现方法
- Numpy 笔记(二): 多维数组的切片(slicing)和索引(indexing)