当前位置: 首页 > news >正文

np.array_fancy_indexing花式索引

在Python中,使用NumPy库进行花式索引(fancy indexing)是一种非常强大的功能,它允许你通过使用数组索引数组。这意味着你可以使用另一个数组来指定你想要索引的主数组中的元素。

以下是一些使用花式索引的基本例子:
步骤 1: 导入NumPy库
首先,你需要导入NumPy库:
import numpy as np

步骤 2: 创建一个数组
创建一个NumPy数组:

arr = np.array([1, 2, 3, 4, 5])

步骤 3: 使用花式索引
单个索引数组
你可以使用一个包含索引位置的数组来索引:

index_array = np.array([0, 2, 4])
fancy_indexed = arr[index_array]
print(fancy_indexed)  # 输出: [1 3 5]

条件索引
你也可以使用条件语句来创建一个索引数组:

index_array = np.where(arr % 2 == 0)[0]
fancy_indexed = arr[index_array]
print(fancy_indexed)  # 输出: [2 4]

多维数组索引
对于多维数组,你可以使用多个索引数组进行索引:

arr_2d = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
row_indices = np.array([0, 2])
col_indices = np.array([1, 2])fancy_indexed_2d = arr_2d[row_indices, col_indices]
print(fancy_indexed_2d)
# 输出:
# [[2 3]
#  [8 9]]

注意事项

  1. 花式索引返回的是被索引元素的拷贝,而不是视图。
  2. 花式索引的索引数组必须是一维的。
  3. 如果索引数组中包含的索引超出了原数组的维度,将会抛出错误。
    花式索引是NumPy中非常灵活的一种索引方式,可以用于各种复杂的数据操作和分析任务。
arr[[-1, -5, -2]]
# 返回最后一行、倒数第五行、倒数第二行
arr[[7, 2, 4, 1, 4]]
# 返回从零数第七、二、四、一、四行

相关文章:

  • Vue.js入门
  • 如何使用ssm实现基于BS的库存管理软件设计与实现+vue
  • AI中医香方仪丨OPENAIGC开发者大赛企业组AI创作力奖
  • 大数据新视界 --大数据大厂之数据清洗工具 OpenRefine 实战:清理与转换数据
  • tcp、udp通信调试工具Socket Tool
  • Android Perfetto 学习
  • 行情叠加量化,占据市场先机!
  • 嵌入式C语言自我修养:GNU C编译器扩展语法精讲
  • 那年我双手插兜,使用IPv6+DDNS动态域名解析访问NAS
  • MySQL数据库(基础)
  • 数据库 - MySQL的事务
  • STL之vector篇(下)(手撕底层代码,从零实现vector的常用指令,深度剖析并优化其核心代码)
  • 目标检测——VOC2007数据集
  • redis哨兵启动出现 +sdown master mymaster 192.168.x.x
  • 【数据结构】排序算法---桶排序
  • 230. Kth Smallest Element in a BST
  • 8年软件测试工程师感悟——写给还在迷茫中的朋友
  • JS笔记四:作用域、变量(函数)提升
  • Lucene解析 - 基本概念
  • vue-cli3搭建项目
  • 代理模式
  • 回顾2016
  • 开发基于以太坊智能合约的DApp
  • 聊聊sentinel的DegradeSlot
  • 那些年我们用过的显示性能指标
  • 前端 CSS : 5# 纯 CSS 实现24小时超市
  • 跳前端坑前,先看看这个!!
  • 携程小程序初体验
  • 要让cordova项目适配iphoneX + ios11.4,总共要几步?三步
  • 一加3T解锁OEM、刷入TWRP、第三方ROM以及ROOT
  • ​Base64转换成图片,android studio build乱码,找不到okio.ByteString接腾讯人脸识别
  • ​LeetCode解法汇总2696. 删除子串后的字符串最小长度
  • #git 撤消对文件的更改
  • (01)ORB-SLAM2源码无死角解析-(66) BA优化(g2o)→闭环线程:Optimizer::GlobalBundleAdjustemnt→全局优化
  • (八)Flask之app.route装饰器函数的参数
  • (动态规划)5. 最长回文子串 java解决
  • (计算机网络)物理层
  • (四)stm32之通信协议
  • (转)我也是一只IT小小鸟
  • (转载)Linux 多线程条件变量同步
  • ***利用Ms05002溢出找“肉鸡
  • .bat批处理(七):PC端从手机内复制文件到本地
  • .mp4格式的视频为何不能通过video标签在chrome浏览器中播放?
  • .NET Core 实现 Redis 批量查询指定格式的Key
  • .NET Micro Framework初体验(二)
  • .NET 通过系统影子账户实现权限维持
  • .Net多线程总结
  • .NET框架设计—常被忽视的C#设计技巧
  • .sys文件乱码_python vscode输出乱码
  • /usr/lib/mysql/plugin权限_给数据库增加密码策略遇到的权限问题
  • @synthesize和@dynamic分别有什么作用?
  • [20180224]expdp query 写法问题.txt
  • [2021]Zookeeper getAcl命令未授权访问漏洞概述与解决
  • [202209]mysql8.0 双主集群搭建 亲测可用
  • [ACP云计算]组件介绍