首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Numpy 修炼之道 (5)—— 索引和切片

推荐阅读时间:7min~10min 文章内容:Numpy 索引和切片 上一篇:Numpy 修炼之道 (4)—— 基本运算操作 Python 中原生数组就支持使用方括号([])进行索引和切片操作,Numpy...单个元素索引 1-D数组单元素索引是人们期望。它工作原理与其他标准Python序列一样。它是从0开始,并且接受负索引来从数组结尾进行索引。...>>> x = np.arange(10) >>> x[2] 2 >>> x[-2] 8 Python原生列表、元组不同是,Numpy数组支持多维数组多维索引。...切片支持 可以使用切片和步长来截取不同长度数组,使用方式Python原生列表和元组方式相同。...x[np.array([3, 3, 1, 8])] 布尔索引数组 使用(整数)索引列表时,需要提供要选择索引列表,最后生成结果形状索引数组形状相同;但是在使用布尔索引时,布尔数组必须要编制索引数组初始维度具有相同形状

1K60

Numpy 简介

NumPy数组标准Python Array(数组) 之间有几个重要区别: NumPy数组在创建时具有固定大小,Python原生数组对象(可以动态增长)不同。...NumPy数组类被称为ndarray。别名为 array。 请注意,numpy.array 标准Python库类 array.array 不同,后者仅处理一维数组并提供较少功能。...ndarray.size:数组元素总数。这等于shape元素乘积。 ndarray.dtype:一个描述数组中元素类型对象。可以使用标准Python类型创建指定dtype。...一般有6个机制创建数组: 从其他Python结构(例如,列表,元组)转换 numpy原生数组创建(例如,arange、ones、zeros等) 从磁盘读取数组,无论是标准格式还是自定义格式 通过使用字符串缓冲区从原始字节创建数组...asarray_chkfinite(a[, dtype, order]) 将输入转换为数组,检查NaNInfs。 asscalar(a) 将大小为1数组转换为标量等效数组

4.7K20
您找到你想要的搜索结果了吗?
是的
没有找到

Python学习笔记之NumPy模块——超详细(安装、数组创建、正态分布、索引和切片、数组复制、维度修改、拼接、分割...)

例如,如果要生成一个二维数组,需要向array函数传递一个列表类型参数。每一个列表元素是一堆ndarray类型数组,作为二维数组行。...正态分布应用 生活、生产科学实验中很多随机变量概率分布都可以近似地用正态分布来描述。 正态分布特点 μ决定位置,标准差σ决定分布幅度。当μ=0,σ=1时正态分布是标准正态分布。...标准由来 是在概率论和统计方差衡量一组数据时离散程度度量 其中M为平均值,n为数据总个数,σ为标准差,σ^2可以理解一个整体为方差 意义: 衡量数据集中离散程度统计量 评估数据稳定性可靠性...…,dn) 功能:返回一个一组样本,具有标准正态分布(期望为0,方差为1)。 其中dn表示维度,返回值为指定维度array。...ndarray对象内容可以通过索引切片来访问和修改,Python中list切片操作一样。

1.4K10

6-比较掩码布尔

我们在NumPy数组计算中看到:通用函数,可以使用NumPyufuncs代替循环来对数组进行快速逐元素算术运算。...NumPy还实现了比较运算符,例如(大于)作为元素方式ufunc。这些比较运算符结果始终是具有布尔数据类型数组。所有六个标准比较操作均可用: # 数组每个比较,也可以使用!...它们语法NumPy版本语法不同,特别是在多维数组上使用时,将失败产生意外结果。对于这些示例,请确保使用np.sum(),np.any()和np.all()!...这是通过Python按位逻辑运算符&,|,^和〜完成标准算术运算符一样,NumPy将这些重载为ufunc,它们在(通常为Boolean)数组中逐个元素地工作。...易混淆 当使用&和|在整数上,表达式对元素位进行运算。当使用andor时,等效于要求Python将对象视为单个布尔实体。在Python中,所有非零整数都将评估为True。

1.4K00

Python 数据分析(PYDA)第三版(二)

NumPy,即 Numerical Python,是 Python 中最重要数值计算基础包之一。许多提供科学功能计算包使用 NumPy 数组对象作为数据交换标准接口之一。...为了让您了解性能差异,考虑一个包含一百万个整数 NumPy 数组,以及等效 Python 列表: In [7]: import numpy as np In [8]: my_arr = np.arange...f 标准单精度浮点数; C 浮点兼容 float64 f8 d 标准双精度浮点数; C 双精度和 Python float对象兼容 float128 f16 g 扩展精度浮点数 complex64...注意 这种用于 NumPy 数组多维索引语法不适用于常规 Python 对象,例如列表列表。...两个二维数组适当大小一维数组之间矩阵乘积会得到一个一维数组: In [247]: x @ np.ones(3) Out[247]: array([ 6., 15.]) numpy.linalg具有一套标准矩阵分解和逆矩阵

20100

NumPy 初学者指南中文第三版:1~5

for循环 Python 具有for语句,其目的 C++ ,Pascal,Java 和其他语言中等效构造相同。 但是,循环机制有些不同。...等效 Python 代码相比,NumPy 代码需要更少显式循环。 实战时间 – 相加向量 假设我们要添加两个分别称为a和b向量。向量在数学上是指一维数组。...一维切片和索引 一维 NumPy 数组切片就像 Python 列表切片一样工作。...就像 Python 列表一样,可以以高效方式对 NumPy 数组进行切片和索引NumPy 数组具有处理多个维度附加功能。 数组形状可以通过多种方式进行操作-堆叠,调整大小,调整形状和拆分。...=True) vectorize()函数 Python map()函数 NumPy 等效

1.4K10

NumPy 基础知识 :1~5

这是大多数 Python 程序员都不习惯。 尽管列表字典理解是相对于数组,有时数组用法类似,但是在性能和​​操作上,列表/字典和数组之间还是存在巨大差异。...在许多方面,为 NumPy 数组建立索引列表元组建立索引非常相似。 存在一些差异,随着我们进行,这些差异将变得显而易见。...反转数组也类似于反转列表,例如x[::-1]。 数组索引部分也称为数组切片,它创建端口整个数组副本(我们将在后面的部分中介绍副本和视图) 。...例如,您可能具有datetime对象列表,并且可能希望将其转换为用于算术其他 NumPy 函数numpy.datetime64。...,并且两个向量ab叉积由a x b表示: NumPy标准向量例程提供了前面的功能。

5.5K10

NumPy 1.26 中文官方指南(三)

参见说明 索引 NumPy Python 一样,数字从 0 开始索引;a[0] 是第一个元素。 MATLAB 脚本语言是为了线性代数而创建,因此一些数组操作语法比 NumPy 更紧凑。...切片操作复制数组部分。 NumPy 数组切片使用按引用传递方式,不复制参数。切片操作是对数组视图。 大致等效项 下表提供了一些常见 MATLAB 表达式大致等效项。...注意,MATLAB 始终返回 2D 更高维度数组,而 NumPy 返回 0D 更高维度数组 注意事项 子矩阵:可以使用索引列表和 ix_ 命令对子矩阵进行赋值。...因此,为了使 NumPy 具有类似简洁区间构造机制,创建了有点古怪 r_ 对象。注意,r_ 不像函数构造函数一样调用,而是使用方括号进行索引,这允许在参数中使用 Python 切片语法。...请注意,MATLAB 始终返回 2D 更高阶数组,而 NumPy 将返回 0D 更高阶数组 注释 子矩阵: 可以使用ix_命令和索引列表对子矩阵进行赋值。

22810

数据科学 IPython 笔记本 9.3 理解 Python数据类型

Python 列表不仅仅是列表 现在让我们考虑,当我们使用包含许多 Python 对象 Python 数据结构时会发生什么。 Python标准可变多元素容器就是列表。...我们将从别名为np标准 NumPy 导入开始: import numpy as np 从 Python 列表创建数组 首先,我们可以使用np.array从 Python 列表创建数组: # 整数数组...np.array([1, 4, 2, 5, 3]) # array([1, 4, 2, 5, 3]) 请记住, Python 列表不同,NumPy 仅限于类型相同数组。...2., 3., 4.], dtype=float32) 最后, Python 列表不同,NumPy 数组可以是显式多维; 这是一种方法,使用列表列表初始化多维数组: # 嵌套列表产生多维数组...or int64) intp 用于索引整数( C ssize_t相同;通常是int32int64) int8 字节(-128 到 127) int16 整数(-32768 到 32767) int32

75310

NumPy快速入门--基础知识

等于shape元素乘积。 ndarray.dtype:数组中元素类型对象。可以使用标准Python类型创建指定dtype。另外NumPy提供它自己类型。...数组创建 直接python列表 [ ] 创建 >>> a = np.array([2,3,4]) >>> a array([2, 3, 4]) >>> a.dtype dtype('int32')...打印数组 NumPy嵌套列表类似的方式,具有以下布局: 最后一个轴从左到右打印, 倒数第二个从上到下打印, 其余也从上到下打印,每个切片下一个用空行分开。...索引、切片、迭代 一维数组可以被索引,切片和迭代,就像列出和其他Python序列一样。...NumPy也允许你使用三个点写为 b[i,...]。 三个点( ... )表示产生完整索引元组所需冒号。例如,如果 x 是rank为5数组(即,它具有5个轴),则 x[1,2,...]

73530

看图学NumPy:掌握n维数组基础知识点,看这一篇就够了

教程内容分为向量 (一维数组)、矩阵 (二维数组)、三维更高维数组3个部分。 Numpy数组Python列表 在介绍正式内容之前,先让我们先来了解一下Numpy数组Python列表区别。...乍一看,NumPy数组类似于Python列表。它们都可以用作容器,具有获取(getting)和设置(setting)元素以及插入和移除元素功能。...和Python列表相比,Numpy数组具有以下特点: 更紧凑,尤其是在一维以上维度;向量化操作时比Python列表快,但在末尾添加元素比Python列表慢。 ?...△在末尾添加元素时,Python列表复杂度为O(1),NumPy复杂度为O(N) 向量运算 向量初始化 创建NumPy数组一种方法是从Python列表直接转换,数组元素类型列表元素类型相同。...不过排序函数功能比Python列表对应函数更少: ? 搜索向量中元素 Python列表相反,NumPy数组没有index方法。 ?

6K20

NumPy 1.26 中文官方指南(一)

NumPy 数组标准 Python 序列之间有几个重要区别: NumPy 数组在创建时具有固定大小,不像 Python 列表(可以动态增长)。...ndarray.dtype 描述数组中元素类型对象。可以使用标准 Python 类型创建指定 dtype。另外,NumPy 提供了自己类型。...例如,您可以使用array函数从常规 Python 列表元组创建数组。结果数组类型是从序列中元素类型推断出来。...ndarray.dtype 描述数组中元素类型对象。可以使用标准 Python 类型创建指定 dtype。此外,NumPy 还提供了自己类型。...例如,您可以使用array函数从常规 Python 列表元组创建数组。结果数组类型是从序列中元素类型推断出来

77910

数据科学 IPython 笔记本 8.11 多个子图

有时,并排比较不同数据视图会很有帮助。为此,Matplotlib 具有子图概念:可以在单个图形中一起存在较小轴域分组。这些子图可能是插图,绘图网格其他更复杂布局。...正如我们之前看到,默认情况下,这会创建一个填充整个图形标准轴域对象。plt.axes也有一个可选参数,它是图坐标系中四个数字列表。...为此,plt.subplots()是更容易使用工具(注意subplots末尾s)。 该函数不创建单个子图,而是在一行中创建完整子图网格,并在 NumPy 数组中返回它们。...生成轴域网格实例在 NumPy 数组中返回,允许使用标准数组索引表示法,方便地指定所需轴域: # ax 是二维数组,由 [row, col] 索引 for i in range(2): for...()相比,plt.subplots() Python 传统基于 0 索引更加一致。

1K30

Python数据分析 | Numpy1维数组操作

本系列内容覆盖到1维数组操作、2维数组操作、3维数组操作方法,本篇讲解Numpy1维数组操作。 一、向量初始化 可以通过Python列表创建NumPy数组。...因此,通常处理方式包括: 在变长Python列表中准备好数据,然后将其转换为NumPy数组 使用 np.zeros np.empty 预先分配必要空间(图中b) 通过图中(c)方法,可以创建一个某一变量形状一致数组...如下是python列表NumPy数组对比: [67935bd86f8c8f90454d11e735e27e63.png] NumPy数组支持通过布尔索引获取数据,结合各种逻辑运算符可以有很高级数据选择方式...是等效,这样做只是为了避免 from numpy import * 时Python around冲突(但一般使用方式是import numpy as np)。...四、查找向量中元素 NumPy数组并没有Python列表索引方法,索引数据对比如下: [1000f4644dcfd88382087f97b6425923.png] index()中方括号表示

87951

数据科学 IPython 笔记本 7.4 Pandas 对象介绍

data.index # RangeIndex(start=0, stop=4, step=1) NumPy 数组一样,可以通过熟悉 Python 方括号表示法,按照相关索引访问数据: data...这种类型很重要:正如 NumPy 数组后面的特定于类型编译代码,使其在某些操作方面,比 Python 列表更有效,PandasSeries``类型信息使其比 Python 字典更有效。...前一节中讨论Series对象一样,DataFrame可以被认为是 NumPy 数组扩展,也可以被认为是 Python 字典特化。我们现在来看看这些观点。...作为扩展 NumPy 数组DataFrame 如果Series是具有灵活索引一维数组模拟,则DataFrame是具有灵活行索引和灵活列名二维数组模拟。...例如,我们可以使用标准 Python 索引表示法来检索值切片: ind[1] # 3 ind[::2] # Int64Index([2, 5, 11], dtype='int64') `Index

2.3K10

NumPy 笔记(超级全!收藏√)

NumPy 副本和视图无复制视图浅拷贝副本深拷贝    Python append() 深拷贝、浅拷贝深浅拷贝   NumPy 矩阵库(Matrix)matlib.empty()numpy.matlib.zeros...dtypendarray 数据类型 NumPy 切片和索引  ndarray对象内容可以通过索引切片来访问和修改, Python 中 list 切片操作一样。 ...4x3 二维数组长为 3 一维数组相加,等效于把数组 b 在二维上重复 4 次再运算  广播规则:  让所有输入数组都向其中形状最长数组看齐,形状中不足部分都通过在前面加 1 补齐。...它们基于 Python 内置库中标准字符串函数。  这些函数在字符数组类(numpy.char)中定义。 ...需要注意数组必须具有相同形状符合数组广播规则。  此外 Numpy 也包含了其他重要算术函数。

4.6K30

Python数据分析常用模块介绍使用

Numpy在导入时候可以重命名 一般都是重命名成np Numpy使用 Numpy生成数组 ndarray 一个ndarray是PythonNumPy库中一个数据结构,用于存储和操作具有相同数据类型多维数组...array生成数组 Numpy最重要一个特点是其N维数组对象ndarray。 ndarray列表形式上相似,但是ndarray要求数组内部元素必须是相同类型。...Series Series是Pandas中一种数据结构,类似于一维数组列表。它由两个部分组成:索引和数据值。索引是Series中数据标签,它可以是整数、字符串其他数据类型。...DataFrame由多个Series组成,DataFrame可以类比为二维数组或者矩阵,但之不同是,DataFrame必须同时具有索引和列索引,每列可以是不同数据类型(整数、浮点数、字符串等)。...它具有各种分类,回归和聚类算法,包括支持向量机,随机森林,梯度提升,k均值和DBSCAN,并且旨在Python数值科学库NumPy和SciPy联合使用。

14610
领券