栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Numpy数组索引与切片

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Numpy数组索引与切片

Numpy数组索引与切片
1. `ndarray`对象的内容可以通过`索引`或`切片`来获取和修改,就像 Python 的内置容器对象一样。
2. `一维数组`:一维数组比较简单,看起来和python列表很类似。
3. `二维数组`:每个索引值对应的元素不在是一个值,而是一个一维数组
4. `多维数组
import numpy as np
a = np.arange(0,9)
print('一维数组操作')
print(a)
print('索引:',a[2])
print('切片:',a[2:5])
a[2:5]=88
print('赋值:',a)
print('*'*30)

print('二维数组操作')
b = a.reshape(3,3)
print(b)
print('索引:获取的一维数组',b[2]) #获取的一个一维数组
print('分割列表去获取的某一个值',b[2,2]) #获取的某一个值
print('通过递归的方式获取的某一个值',b[2][2]) #获取的某一个值
print('按列获取切片:',b[:,2])
print('按行获取切片:',b[2,:])
print('*'*30)

print('多维数组操作')
c = np.arange(1,19).reshape(3,3,2)
print(c)
print('索引:获得一个二维数组 获取第1层',c[2])
print('索引:获得一个一维数组 获取第1层的第1行',c[2,2])
print('索引:获得一个值',c[2,2,1])
一维数组操作
[0 1 2 3 4 5 6 7 8]
索引: 2
切片: [2 3 4]
赋值: [ 0  1 88 88 88  5  6  7  8]
******************************
二维数组操作
[[ 0  1 88]
 [88 88  5]
 [ 6  7  8]]
索引:获取的一维数组 [6 7 8]
分割列表去获取的某一个值 8
通过递归的方式获取的某一个值 8
按列获取切片: [88  5  8]
按行获取切片: [6 7 8]
******************************
多维数组操作
[[[ 1  2]
  [ 3  4]
  [ 5  6]]

 [[ 7  8]
  [ 9 10]
  [11 12]]

 [[13 14]
  [15 16]
  [17 18]]]
索引:获得一个二维数组 获取第1层 [[13 14]
 [15 16]
 [17 18]]
索引:获得一个一维数组 获取第1层的第1行 [17 18]
索引:获得一个值 18
******************************

Numpy布尔索引和花式索引
1. **布尔索引**:指的是一个由布尔值组成的数组可以作为一个数组的索引,返回的数据为`True`值对应位置的值。**布尔值数组长度必须和数组轴索引长度一致**。
2. **花式索引**:指的是用`整数数组`进行数据索引。根据索引数组的值作为目标数组的某个轴的下标来取值。对于使用一维整型数组作为索引,如果目标是一维数组,那么索引的结果就是对应位置的元素;如果目标是二维数组,那么就是对应下标的行
`花式索引和切片不一样,它总是将数据复制到一个新的数组中。!!!`
import numpy as np
a = np.arange(1,10).reshape(3,3)
np.random.shuffle(a)
print(a)
print('布尔索引先返回一个true、false类型数据',a>5)
print('在根据结果返回元素值为True的元素',a[a>5],end='n**************n')

print('花式索引',end='n**************n')
print('花式索引',a[[0,2]])
print('花式索引',a[[-1,-2]])
print('花式索引:取出(0,2),(2,1),(1,2)----',a[[0,2,1],[2,1,2]])
[[4 5 6]
 [7 8 9]
 [1 2 3]]
布尔索引先返回一个true、false类型数据 [[False False  True]
 [ True  True  True]
 [False False False]]
在根据结果返回元素值为True的元素 [6 7 8 9]
**************
花式索引
**************
花式索引 [[4 5 6]
 [1 2 3]]
花式索引 [[1 2 3]
 [7 8 9]]
花式索引:取出(0,2),(2,1),(1,2)---- [6 2 9]

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/309004.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号