NumPy数值计算基础(数组的索引)

Numpy 笔记 numpy的初学者的内容 阅读详情

数组索引

(1)一维数组索引: 类似于列表切片

import numpy as np

arr = np.arange(10)
print(arr)
# 结果: [0 1 2 3 4 5 6 7 8 9]

print(arr[2:6])  
# 结果: [2 3 4 5]

print(arr[0::2])
# 结果: [0 2 4 6 8]

print(arr[-1::-2])
# 结果: [9 7 5 3 1]

arr[4] = 15
print(arr)
# 结果: [ 0  1  2  3 15  5  6  7  8  9]

 

(2)二维数组索引(行与列都是从索引0开始算起) 

方法一:

import numpy as np

arr = np.array([[1,2,3,4,5],[4,5,6,7,8],[7,8,9,10,11]])
print(arr)
# 结果:
# [[ 1  2  3  4  5]
#  [ 4  5  6  7  8]
#  [ 7  8  9 10 11]]

print('索引第0行,第3、4列的元素为: ',arr[0,3:5])
# 结果: [4 5] 

print('索引第1,2行,第3、4列的元素为: ',arr[1:3,3:5])
# 结果: 
# [[ 7  8] 
#  [10 11]]

print('索引中,第3列的所有元素: ',arr[0:,2])
# 结果: [3 6 9]

 

方法二:  元组中的行与列一一对应, 例如题中第0行第1列;  第1行第2列;  第2行第3列 ;

import numpy as np

arr = np.array([[1,2,3,4,5],[4,5,6,7,8],[7,8,9,10,11]])
print(arr)
# 结果:
# [[ 1  2  3  4  5]
#  [ 4  5  6  7  8]
#  [ 7  8  9 10 11]]

print(arr[(0,1,2),(1,2,3)])
# 结果: [ 2  6 10] 

print(arr[0,1],arr[1,2],arr[2,3])
# 结果: 2  6 10

print('第1,2行中的第0,2,3列元素为: ',arr[1:3,(0,2,3)])
# 结果:
# [[ 4  6  7]
#  [ 7  9 10]]

 

方法三:  通过bool值取值(1为取,0为不取) 

import numpy as np

arr = np.array([[1,2,3,4,5],[4,5,6,7,8],[7,8,9,10,11]])
print(arr)
# 结果:
# [[ 1  2  3  4  5]
#  [ 4  5  6  7  8]
#  [ 7  8  9 10 11]]

mask = np.array([1,0,1], dtype = np.bool)  # 一维列表(1为取,0为不取),类型为bool
print(arr[mask,2])  # arr[满足条件的行,第几列]
# 此例子应取第0行第2列与第2行第2列
# 结果: [3 9]

mask = np.array([1,0,1], dtype = np.bool)
mask1 = np.array([0,1,0,0,1], dtype = np.bool)
# mask为行数(1为取,0为不取); 第0,2行满足条件 [[ 1  2  3  4  5] [ 7  8  9 10 11]]
# mask1为列数(1为取,0为不取); 第2,4列满足条件
# 结果应取[(0,2),(1,4)]
# 注意: 行数和列数要一一对应
print(arr[mask,mask1])  
# 结果: [2 11]
print(arr[(0,2),(1,4)]) # 实现效果同arr[mask,mask1]
# 结果: [2 11]
import numpy as np

# 取第1、3、8行,每一行所有对应第2、4、9列的值
arr = np.arange(100).reshape((10,10))
print(arr)
# 结果:
# [[ 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 25 26 27 28 29]
#  [30 31 32 33 34 35 36 37 38 39]
#  [40 41 42 43 44 45 46 47 48 49]
#  [50 51 52 53 54 55 56 57 58 59]
#  [60 61 62 63 64 65 66 67 68 69]
#  [70 71 72 73 74 75 76 77 78 79]
#  [80 81 82 83 84 85 86 87 88 89]
#  [90 91 92 93 94 95 96 97 98 99]]

arr = np.arange(100).reshape((10,10))
mask = np.array([0,1,0,1,0,0,0,0,1,0],dtype=np.bool)
print(arr[mask][:,(2,4,9)])
# 结果:
# [[12 14 19]
#  [32 34 39]
#  [82 84 89]]

 

Numpy数值计算基础——创建数组对象、设置shape属性、生成随机数、数组索引、展平、组合、分割 Numpy提供两种基本的对象:ndarray(存储单一数据类型的多维数组)和ufunc(对数组进行处理的函数)。 import numpy as np ## 创建一维、二维数组 arr1=np.array([1,2,3,4]) #创建一维数组 (一个[]) arr2=np.array([[1,2,3,4],[5,6,7,8]]) #创建二维数组(两个[]) print... 阅读详情

相关推荐

1.Numpy数值计算基础(随机数、索引、数组形状、矩阵、去重、排序)

笔记说明:本文是我的学习笔记,大部分内容整理自 黄红梅,张良均等.Python数据分析与应用[M].北京:人民邮电出版社,2018,21-49. 还有部分片断知识来自网络百度。 一个目录1.数组对象ndarray1.1创建数组类型1.1.1数组属性1.1.2数组创建1.2生成随机数1.3索引访问数组1.3.1一维数组的索引1.3.2多维数组的索引1.4变换数组的形态1.4.1 改变数组形状1.4....

菜鸟打怪升级副本 879

numpy模块(2)

1、利用布尔值来取元素 import numpy as np mask = np.array([1,0,1],dtype=bool) # 1表示取对应的元素,0表示不取 arr = np.array([[1,2,3],[4,5,6],[7,8,9]]) print(arr[mask,2]) print(arr[:,mask]) 运行结果: [3 9] [[1 3] [4 6] [7...

珂鸣玉的博客 1016

numpy教程

目录 文章目录目录一、numpy概述1. numpy`历史`2. numpy的核心:多维数组二、numpy基础1. ndarray数组1)内存中的ndarray对象2)ndarray数组对象的特点3)ndarray数组对象的创建4)ndarray对象属性的基本操作5)ndarray对象的dtype属性的值6) ndarray数组对象的维度操作7) 数组元素索引(下标)8) ndarray数组切片操作9) ndarray数组的运算10) ndarray数组的掩码操作11) 多维数组的组合与拆分12)ndarr

weixin_40809507的博客 4429

numpy 操作矩阵与数组

numpy 操作矩阵与数组 numpy是python进行数据分析时,必不可少的一个第三方模块.它提供了大量的方法帮我们操作矩阵和数组. 矩阵的创建 import numpy as np mat = np.mat("1 2 3; 2 3 4; 1 2 3") # 注意 空格表示同一行中的另外一个元素,分号表示换行 矩阵的运算 矩阵相加 mat1 + mat2 矩阵相乘 mat1 * mat2 矩阵转置 mat.T 逆矩阵 mat.I 矩阵数乘 4*mat 对应矩阵相乘 np.multiply(am

weixin_50022322的博客 1024

python之Numpy知识点详细总结

numpy知识点总结:创建数组、索引与切片的使用、数学统计函数、常用方法、行列转置、随机函数各种创建方法等

m0_69435474的博客 2105

NumPy基础:Python中的强大数值计算库

本文详细介绍了NumPy的基础知识,包括数组的创建、数组操作、数学函数以及数组的索引和切片等内容。通过学习这些基础知识,我们可以充分利用NumPy强大的功能进行数值计算和数据处理。希望本文能够帮助读者更好地理解和应用NumPy。

ByteHackerX的博客 78

Python之Numpy基础2

import numpy as np import random # #numpy中的bool类型 # t4=np.array([0,1,1,0,1,1],dtype=bool) # print(t4) # print(t4.dtype) # # 返回: # # [False True True False True True] # # bool # # #更改数据类型,init8 # t5=t4.astype("int8") # print(t5) # print(t5.dtype) # # .

jolly10的专栏 464

Xilinx Chip2Chip IP核实战:Aurora PHY通信配置与仿真避坑指南

本文深入解析Xilinx Chip2Chip IP核与Aurora PHY的通信配置与仿真优化,提供实战避坑指南。通过AXI协议转换桥实现FPGA间高速数据传输,详细讲解Aurora PHY参数设置、仿真加速技巧及常见问题解决方案,帮助工程师快速部署稳定高效的芯片间通信系统。

g5h6i7j的博客 1006

numpy总结

日常总结 整理一些numpy初学者会有问题的细节知识点。

woaihuazelei的博客 600

Android13多路录音实战:如何用AudioRecord实现6通道音频采集(附完整代码)

本文详细解析了在Android13中使用AudioRecord API实现6通道音频采集的全流程,包括硬件兼容性检测、多通道配置、数据处理与性能优化。通过实战代码示例,帮助开发者掌握多路录音技术,适用于空间音频、环绕声录制等专业场景。

weixin_26965807的博客 478

大型我的世界RPG服务器开服全攻略:从环境配置到插件部署

搭建一个能支撑百人稳定在线的我的世界服务器,远不止选择服务端和安装插件那么简单。服务器架设涉及硬件选型、Java环境、端口放行、启动脚本与systemd守护等基础环节,而大型RPG玩法还依赖MythicMobs、Quests、LuckPerms等插件协同工作。理解这些技术组件的原理与配置逻辑,是确保长线运营的关键。对于希望打造原创剧情、职业副本和自定义Boss的团队而言,合理规划MySQL数据库、RCON批量管理及性能调优,能显著降低后期维护成本。本文围绕RPG服务器核心能力,从环境准备到插件部署,再到常见

weixin_27230891的博客 370

Numpy基础代码学习

unpack=True:一个可选的参数,如果设置为True,则将加载的数据以行为单位进行解压缩,即每一行的数据将存储在一个单独的数组中。#shape(3,3,2)可以和shape(3,2)计算,shape(3,3,2)也可以和shape(3,3)计算。# random.uniform(a, b):返回一个在指定范围[a, b]内的随机浮点数,可以包括a和b。unpack是否旋转。unpack是否旋转。#改变数据类型eg: t3=np.array([1,1,0,0,1],dtype=bool)

omit250的博客 1445

深入解析CRC16查表法:从原理到Modbus协议实践

本文深入解析了CRC16查表法的核心原理与实现,重点阐述了其“空间换时间”的优化思想。通过对比直接计算法,详细说明了查表法如何通过预计算表格将计算速度提升数十倍,并提供了完整的Modbus CRC16查表法代码生成、解析及实战避坑指南,帮助开发者在嵌入式及工业通信场景中高效实现可靠的数据校验。

weixin_29166013的博客 555

Python Numpy库教程

这里写目录标题语法基础二级目录三级目录 语法基础 代码缩进:C,C++等语言通过一些停顿符号,如分号、大括号来进行代码缩进。而通过代码缩进量来保持对应语句逻辑的一致性,不一致的缩进会导致代码运行的错误。 二级目录 三级目录 ............

weixin_53598445的博客 5697

安路TangDynasty和FD和JTAG驱动器安装

安路FPGA产品矩阵包含SALPHOENIX高性能、SALEAGLE高性价比和SALELF低功耗三大系列,广泛应用于网络通信、消费电子等领域。配套的TangDynasty(TD)集成开发环境支持标准设计输入,提供完整优化流程与调试工具。简要介绍了TD 6.2.1版本的安装步骤。

wangjie36的博客 1036

在SAP系统中创建物料 860000000000000082(物料描述为“8680月球广寒宫坦克车”)时,系统报出了一个错误

摘要:SAP系统创建物料"8680月球广寒宫坦克车"时出现"C+020"错误,提示评估区域C916未在物料分类账中设置为生产性。解决方案需进入"会计-控制-产品成本控制-实际成本核算"路径,将评估区域C916手动设置为生产性状态。该操作需由具备权限的系统管理员或FICO顾问执行,建议操作前进行数据备份或在测试环境验证。完成设置后即可重新创建物料。

金牌架构师 391

【Numpy学习】Numpy基础:数组和矢量计算

1.7 布尔型索引 来看这样一个例子,假设我们有一个用于存储数据的数组以及一个存储姓名的数组(含有重复项)。如果两个数组的维数不相同,则元素到元素的操作是不可能的。来看这样一个例子,假设我们有一个用于存储数据的数组以及一个存储姓名的数组(含有重复项)。注意:使用numpy.string_类型时,一定要小心,因为NumPy的字符串数据是大小固定的,发生截取时,不会发出警告。在多维数组中,如果省略了后面的索引,则返回对象会是一个维度低一点的ndarray(它含有高一级维度上的所有数据)。

gangyikeji的博客 1077

【WRFDA安装第一期】安装 WRFDA 以运行 3DVAR/4DVAR数据同化

【WRFDA安装第一期】安装 WRFDA 以运行 3DVAR/4DVAR数据同化

WW、forever的博客 1895

python基础库NumPy

NumPy 的全称是“ Numeric Python” ,是 Python 的第三方扩展包,主要用来计算、处理一维或多维数组,能够高速地执行数值计算。

2301_76155335的博客 1027

AUTOSAR进阶图解==>AUTOSAR_SWS_ADCDriver

本文深入解析了AUTOSAR ADC Driver的架构设计和技术实现。主要内容包括:1)ADC Driver在AUTOSAR分层架构中的定位及核心功能;2)详细的模块架构设计,涵盖初始化管理、组转换管理、优先级处理等核心子组件;3)全面的配置模型说明,包括主配置类、通用配置、通道配置等关键数据结构;4)状态机机制和操作序列分析。通过分层设计和标准化接口,ADC Driver实现了硬件抽象和软件解耦,提供了良好的可移植性和可维护性。

一名留德华的,康德的信徒的,专注于汽车电子领域的博客 786

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

python数据分析之Numpy

python数据分析之Numpy

weixin_64311421的博客 3013

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

jupyter notebook多维数组运算_NumPy基础:数组和矢量计算

NumPy(Numerial Python) 是Python数值计算最重要的基础包。NumPy提供了通用的数值数据处理的计算基础,许多科学计算包也是由NumPy构成,它可以高效处理大数组的数据。这是因为:NumPy是在一个连续的内存块中存储数据,独立于其他Python内置对象。NumPy的C语言编写的算法库可以操作内存,而不必进行类型检查或其它前期工作。比起Python的内置序列,NumPy数组使...

weixin_39713317的博客 799

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

numpy 获取特定数值的索引_NumPy初学教程,可视化指南

数据科学三分天下,Python占其一。Python数据科学 NumPy是基础,不管pandas还是tensorflow, NumPy都是基础库,学习NumPy基础类型和操作必不可少。本文我们就介绍NumPy基础,并以图形方式展现,以方便初学者理解。概述NumPy中最基本数据类型是数组,所有数据组织都是n维数组形式组织的。其中一维和二维数组是基础,其他多维数组的操作和其类似。NumPy数组...

weixin_33783283的博客 5661

1.python第三方库Numpy的使用

概念 Numpy是python的一种开源的数值计算扩展。这种工具可以用来存储和处理大型矩阵,比python自身的嵌套列表结构要高效的多。Numpy提供了许多高级的数值编程工具。Numpy的一个重要特性是他的数组计算,是我们做数据分析必不可少的一个包。 导入: import numpy import numpy as np //给该库一个简称(约定俗成) from numpy import * //使用函数时不需要加入包名 产生数组 从列表产生数组: l = [0,1,2,3] a = np.array(

weixin_43328054的博客 1636

anaconda安装与numpy基础

使用数据类型标识码字符对应类型字符对应类型字符对应类型字符对应类型b代表布尔型i带符号整型u无符号整型f浮点型c复数浮点型m时间间隔(timedelta)Mdatatime(日期时间)OPython对象S,a字节串(S)与字符串(a)UUnicodeV原始数据(void)还可以将两个字符作为参数传给数据类型的构造函数。此时,第一个字符表示数据类型,第二个字符表示该类型在内存中占用的字节数(2、4、8分别代表精度为16、32、64位的。

qq_51780315的博客 6284

从零开始的numpy世界O.o

首先,确保你已经安装了Python。1.创建只含0或1的数组。3.索引、切片与运算。

2301_80184772的博客 411
上一篇: NumPy数值计算基础(数组的创建方法,生成随机数)
下一篇: NumPy数值计算基础(数组的变化)
有点意思!
博客等级 码龄8年 20粉丝 19原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值