Numpy中的索引方式

每次看到numpy数组和PyTorch Tensor的复杂的索引操作时就很懵,在这里整理一下numpy中的常用的索引方式(numpy中的索引方式和pytorch很相似),以例子为主

整数索引

import numpy as np


a = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
b = a[1:3, 1:3]
c = a[1:3, [1, 2]]
d = a[[1, 2], [1, 2]]
e = a[[1, 2]]
f = a[1:3]

print('='*20, 'a', '='*20)
print(a)
print('='*20, 'b', '='*20)
print(b)
print('='*20, 'c', '='*20)
print(c)
print('='*20, 'd', '='*20)
print(d)
print('='*20, 'e', '='*20)
print(e)
print('='*20, 'f', '='*20)
print(f)

输出结果

==================== a ====================
[[1 2 3]
 [4 5 6]
 [7 8 9]]
==================== b ====================
[[5 6]
 [8 9]]
==================== c ====================
[[5 6]
 [8 9]]
==================== d ====================
[5 9]
==================== e ====================
[[4 5 6]
 [7 8 9]]
==================== f ====================
[[4 5 6]
 [7 8 9]]

bool 索引

a = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
b = a[a > 5]

print('='*20, 'a', '='*20)
print(a)
print('='*20, 'b', '='*20)
print(b)

输出结果

==================== a ====================
[[1 2 3]
 [4 5 6]
 [7 8 9]]
==================== b ====================
[6 7 8 9]

参考资料

本资源为截至2022年甘肃省内的34座水库和617座大坝的分布数据,包含甘肃省水库分布数据和甘肃省大坝分布数据两部分内容。其中水库分布数据(shp格式),主要字段包含shape、ID、name、province、prefecture、country、area、stor、dis_av_cms、riv_ord、res_T、shape_leng、shape_area;大坝分布数据(shp格式),主要字段包含shape、reser_id、dam_class、dam_id、latitude、longitude。资源中包括可编辑的 ArcGIS MXD 工程文件、符合 ESRI 标准的 Shapefile 矢量要素,以及适用于报告和展示的高分辨率 GeoTIFF 成图。数据基于权威水利工程档案、卫星影像解译与地方水利主管部门资料,经人工核查与空间校正后构建,所有要素采用统一坐标系(默认 WGS84)并通过拓扑检查,确保点位位置、行政归属与属性一致性,便于科研分析与工程应用。数据生产流程包括多源数据采集、要素抽取、空间配准与属性核查:首先基于水利年鉴、地方政府发布的工程名录和公开档案提取工程清单;其次通过高分/遥感影像与 DEM 叠加核对库岸线及库容边界;再次进行行政区划匹配并填充属性;最后实施拓扑检查(去重、连通性校验)、坐标校正和数据质量分级。为保证可重复性,数据包随附字段字典、数据来源清单和简要处理日志,标注了存在位置偏差或属性不确定的记录供用户注意。该数据集适用于多类科研与工程场景:一是水资源与调度分析;二是防洪安全与风险评估;三是生态环境与河湖连通性研究;四是管理与规划支持。此外也便于进行空间可视化展示、历史演变分析与公众科普。同时可将 Shapefile 与 SRTM/DEM、土地利用、人口/建筑物栅格或行政统计数据叠加,以开展更精细的空间分析与决策支持。
根据文件信息,这里将详细介绍有关“驾驶员异常行为数据集”的知识点,该数据集包含9种不同类别的异常行为,每种类别大约有2500张图片。我们首先从数据集的定义、用途及重要性谈起,然后讨论数据集的构成以及如何应用于机器学习和深度学习模型中。### 数据集的定义与重要性在人工智能领域,数据集是机器学习和深度学习模型训练的基础。对于特定领域,比如驾驶员异常行为识别,一个专门针对该任务的数据集是至关重要的。它为研究人员和开发者提供了大量经过标注的原始数据,这些数据是训练和验证算法性能的基础。具体到这个“驾驶员异常行为数据集”,它对于提高交通安全有直接的意义。### 数据集构成根据提供的信息,该数据集被明确分为9个类别,每个类别有大约2500张图片。虽然未列具体的9类异常行为,但通常这些类别可能包括:打手机、吸烟、疲劳驾驶、未系安全带、危险驾驶动作、分心驾驶、错误的驾驶姿势、超速行驶、以及违反交通信号等行为。### 数据集的应用这类数据集主要应用于计算机视觉领域,特别是在驾驶员状态监控和行为分析领域。其应用可以分为几个方面:1. **驾驶员状态识别**:通过监测驾驶员的行为模式,系统可以实时识别其是否存在疲劳、分心等不安全状态。识别这些状态可以帮助及时警告驾驶员,甚至采取措施干预。2. **交通监控**:在车辆行驶过程中,对驾驶员行为进行监控能够确保他们遵守交通规则,及时发现并报告异常行为,防止交通事故。3. **自动报警系统**:利用这类数据集训练的模型可以集成到车载监控系统中,当检测到驾驶员的异常行为时,系统能够自动发报警。4. **保险与责任评估**:在发生交通事故时,相关数据可以用于分析责任归属,为保险理赔提供依据。### 数据集在机器学习与深度学习中的应用要在机器学习和深度学习模型中使用该数据集,需要经过以下步骤:1.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值