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

NumPy 1.26 中文文档(四十一)

返回一个与 element 相同形状的布尔数组其中 element 的元素在 test_elements 中为 True,否则为 False。...argwhere(a) 找到非零数组元素的索引,按元素分组。 nonzero(a) 返回非零元素的索引。 flatnonzero(a) 返回扁平化版本中非零的索引。...默认情况下使用扁平化的输入。 outarray,可选 如果提供了,结果将被插入到这个数组中。它应该具有适当的形状和 dtype。 新版本 1.22.0 中新增。...返回: index_array(N, a.ndim) ndarray 非零元素的索引。索引按元素分组。该数组的形状为(N, a.ndim),其中N是非零项的数量。...返回一个数组的元组,每个维度都包含该维度中非零元素的下标。 a 中的值始终以行为主测试和返回,C 样式排序。 要按元素而不是维度对下标进行分组,请使用argwhere,其将为每个非零元素返回一行。

11810

【数据分析 | NumpyNumpy模块系列指南(一),从设计架构说起

处理结构化数据、数据库操作等 掩码数组 Masked Arrays 在数组中使用掩码标记无效或缺失的数据,进行计算时可以自动忽略掩码元素。...缺失数据处理、数据过滤等 Ndarray数组属性当谈论NumPy数组的属性时,我们通常指的是数组对象本身的一些特征和元数据。...例如,(3, 4) 表示一个二维数组,有3行和4列。dtype 数组元素的数据类型,例如int64、float32、bool等。 ndim 数组的维度数量,也称为数组的秩。...例如,二维数组的ndim为2。 size 数组元素的总数,等于各个维度大小的乘积。 itemsize数组每个元素的字节大小。...flat 返回一个迭代器,用于以扁平化方式迭代数组中的元素。 strides 表示在每个维度上需要移动多少字节来获取下一个元素

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

《利用Python进行数据分析·第2版》 附录A NumPy高级应用A.1 ndarray对象的内部机理A.2 高级数组操作A.3 广播A.4 ufunc高级应用A.5 结构化和记录式数组A.6 更多

数据类型或dtype,描述在数组中的固定大小值的格子。 一个表示数组形状(shape)的元组。 一个跨度元组(stride),其中的整数指的是为了前进到当前维度下一个元素需要“跨过”的字节数。...A.5 结构化和记录式数组 你可能已经注意到了,到目前为止我们所讨论的ndarray都是一种同质数据容器,也就是说,在它所表示的内存块中,各元素占用的字节数相同(具体根据dtype而定)。...结构化数组是一种特殊的ndarray,其中的各个元素可以被看做C语言中的结构体(struct,这就是“结构化”的由来)或SQL表中带有多个命名字段的行: In [144]: dtype = [('x',...定义结构化dtype(请参考NumPy的在线文档)的方式有很多。...由于数组中的每个元素在内存中都被表示为固定的字节数,所以结构化数组能够提供非常快速高效的磁盘数据读写(包括内存映像)、网络传输等功能。

4.8K71

【数据分析 | NumpyNumpy模块系列指南(一),从设计架构说起

处理结构化数据、数据库操作等 掩码数组 Masked Arrays 在数组中使用掩码标记无效或缺失的数据,进行计算时可以自动忽略掩码元素。...缺失数据处理、数据过滤等 Ndarray 数组属性 当谈论NumPy数组的属性时,我们通常指的是数组对象本身的一些特征和元数据。...dtype 数组元素的数据类型,例如int64、float32、bool等。 ndim 数组的维度数量,也称为数组的秩。例如,二维数组的ndim为2。...size 数组元素的总数,等于各个维度大小的乘积。 itemsize 数组每个元素的字节大小。例如,int64类型的元素占8个字节。...flat 返回一个迭代器,用于以扁平化方式迭代数组中的元素。 strides 表示在每个维度上需要移动多少字节来获取下一个元素。 data 数组的缓冲区,包含数组的实际元素

15510

NumPy学习笔记—(33)

` 2.1.1.按照行或列进行排序 2.2.部分排序:分区 2.3.例子:k 近邻 2.4.额外内容:大 O 复杂度 3.1.创建结构化数组 3.2.高级复合类型 3.3.记录数组:面向对象的结构化数组...1.高级索引 在前面的小节中,我们学习了如何获取和修改数组元素或部分元素,我们可以通过简单索引(例如arr[0]),切片(例如arr[:5])和布尔遮盖(例如arr[arr > 0])来实现。...其中一个例子是 KD-Tree[1]。 2.4.额外内容:大 O 复杂度 大 O 复杂度是一种衡量随着输入数据的增加,需要执行的操作的数量的量级情况的指标。...本小节展示了如何使用 NumPy结构化数组和记录数组,它们能够提供对于复合的,不同种类的数组的有效存储方式。本小节的内容,包括场景和操作,通常都会在 Pandas 的Dataframe中使用。...例如,你可以创建一个类型,其中的每一个元素都是一个数组或矩阵。

2.3K20

NumPy 1.26 中文文档(五)

所有 ndarrays 都是同构的:每个项目占用相同大小的内存块,并且所有块的解释方式完全相同。如何解释数组中的每个项目由一个单独的数据类型对象指定,其中每个数组都关联有一个数据类型对象。...C 顺序和 Fortran 顺序都是连续的,即单片段的内存布局,其中内存块的每个部分都可以通过一些索引的组合来访问。...ndarray.round([decimals, out]) 返回a,其中每个元素舍入到给定的小数位数。...C 和 Fortran 顺序都是连续,即单一段,内存布局,其中内存块的每个部分都可以通过某种结合的索引访问。 注意 连续数组 和 单一段数组 是同义词,文档中可以互换使用。...这也意味着即使是高维数组在同一时间也可以是 C 风格和 Fortran 风格连续的。 如果所有元素的内存偏移和基本偏移本身都是* self.itemsize的倍数,那么数组被视为对齐。

8710

Numpy 修炼之道 (10)—— 结构化数组

推荐阅读时间:10min~12min 文章内容:Numpy结构化数组 上一篇:Numpy 修炼之道 (9)—— 广播机制 简介 之前我们操作Numpy数组时,都是通过索引来操作的。...可以把二维数组想象成一个excel表格,如果表格没有列名,操作起来会非常麻烦,针对这种情况,Numpy提供了结构化数组用来操作每列数据。 之前我们操作Numpy数组时,都是通过索引来操作的。...需要注意的是,不管是row还是col,获取到的都是只是视图,所以更改结构化数组x时,对应的视图也会发生改变。...每个元组具有2或3个元素,指定:字段的名称(允许使用''),字段的类型,以及形状(可选)。...每个都必须是相应匹配的列表,其中偏移量包含每个字段的整数偏移量,标题是包含每个字段的元数据的对象(这些对象不必是字符串),其中允许值为None。

1K50

小蛇学python(16)numpy高阶用法

如果只是从事简单的数据分析,其实numpy的用处并不是很大。简单了解一下numpy,学好pandas已经够用,尤其是对于结构化或表格化数据。...image.png 同样,既然可以重塑,那也可以扁平化,即展开。...pandas的操作对象主要是结构化数据,numpy的操作对象主要是ndarray数组。这两者之间有很多功能函数是一一对应的,比如,pandas有对表格的拼接,ndarray也有对数组的拼接。...还需要注意一点的是,这些函数都是建立在ndarray数组之上的,列表,元组等并无此功能。 广播机制 所谓广播是说不同形状的数组之间的算术运算的执行方式。...image.png 如图所示,当数组和数字之间运算时,并没有报错,而是每个数组元素和该数字做了运算。这在很多科研数据处理的时候,会方便很多。

93320

NumPy之:结构化数组详解

简介 普通的数组就是数组中存放了同一类型的对象。而结构化数组是指数组中存放不同对象的格式。 今天我们来详细探讨一下NumPy中的结构化数组。...=[('name', '<U10'), ('age', '<i4'), ('weight', '<f4')]) x是一个1维数组每个元素都包含三个字段,name,age和weight。...创建结构化数据类型 结构化数据类型是从基础类型创建的,主要有下面几种方式: 从元组创建 每个元组都是(fieldname, datatype, shape)这样的格式,其中shape 是可选的。..., ('f3', 'S1')]) 结构化数组还可以赋值给非机构化数组,但是前提是结构化数组只有一个filed: >>> twofield = np.zeros(2, dtype=[('A', 'i4')...index来访问,很不方便,为此NumPy提供了一个多维数组的子类 numpy.recarray, 然后可以通过属性来访问。

71310

NumPy之:结构化数组详解

简介 普通的数组就是数组中存放了同一类型的对象。而结构化数组是指数组中存放不同对象的格式。 今天我们来详细探讨一下NumPy中的结构化数组。...=[('name', '<U10'), ('age', '<i4'), ('weight', '<f4')]) x是一个1维数组每个元素都包含三个字段,name,age和weight。...创建结构化数据类型 结构化数据类型是从基础类型创建的,主要有下面几种方式: 从元组创建 每个元组都是(fieldname, datatype, shape)这样的格式,其中shape 是可选的。..., ('f3', 'S1')]) 结构化数组还可以赋值给非机构化数组,但是前提是结构化数组只有一个filed: >>> twofield = np.zeros(2, dtype=[('A', 'i4'...index来访问,很不方便,为此NumPy提供了一个多维数组的子类 numpy.recarray, 然后可以通过属性来访问。

1.1K20

NumPy之:结构化数组详解

简介 普通的数组就是数组中存放了同一类型的对象。而结构化数组是指数组中存放不同对象的格式。 今天我们来详细探讨一下NumPy中的结构化数组。...=[('name', '<U10'), ('age', '<i4'), ('weight', '<f4')]) x是一个1维数组每个元素都包含三个字段,name,age和weight。...创建结构化数据类型 结构化数据类型是从基础类型创建的,主要有下面几种方式: 从元组创建 每个元组都是(fieldname, datatype, shape)这样的格式,其中shape 是可选的。..., ('f3', 'S1')]) 结构化数组还可以赋值给非机构化数组,但是前提是结构化数组只有一个filed: >>> twofield = np.zeros(2, dtype=[('A', 'i4')...index来访问,很不方便,为此NumPy提供了一个多维数组的子类 numpy.recarray, 然后可以通过属性来访问。

1.2K50

python︱numpy、array——高级matrix(替换、重复、格式转换、切片)

tile函数功能:对整个数组进行复制拼接  用法:numpy.tile(a, reps)  其中a为数组,reps为重复的次数  >>> np.tile(a,2)   array([0, 1, 2,...,sin(x)np.cos(a)对矩阵a中每个元素取余弦,cos(x)np.tan(a)对矩阵a中每个元素取正切,tan(x)np.arcsin(a)对矩阵a中每个元素取反正弦,arcsin(x)np.arccos...(a)对矩阵a中每个元素取反余弦,arccos(x)np.arctan(a)对矩阵a中每个元素取反正切,arctan(x)np.exp(a)对矩阵a中每个元素取指数函数,exnp.sqrt(a)对矩阵a...——————————————————————————————————————————  三、numpy如何导出以及导入、数列格式转换  1、numpy如何导出、导入  参考:Python Numpy数组保存...In [58]: a.dtype Out[58]: dtype('int32') In [59]: c.dtype Out[59]: dtype('float64')  这里有一个非常实际的问题:  一般结果输出都是

1.8K30

NumPy 基础知识 :1~5

NumPy 数组中的元素都具有相同的dtype; 在前面的示例中,这是numpy.int(根据计算机的不同是 32 位或 64 位); 因此,NumPy 可以节省在运行时检查每个元素的类型的时间,这通常是由...本章将涉及的主题是: NumPy 数组的核心:内存布局 结构数组(记录数组NumPy 数组中的日期时间 NumPy 数组中的文件 I/O 步幅 步幅是 NumPy 数组中的索引方案,它指示要跳转以查找下一个元素的字节数...x,其数据类型为 NumPy 整数8,这意味着数组中的每个元素都是 8 位整数(每个 1 字节,总共 8 个字节)。...NumPy 文件 I/O 现在我们可以执行 NumPy 数组计算和操作,并且知道如何构造记录数组,现在是时候进行一些实际的分析了,方法是将文件读入 NumPy 数组并将结果数组输出到文件中以进行进一步的分析...当您使用不同的方式初始化 NumPy 数组时,我们看到了内存布局和性能上的巨大差异。 我们还了解了记录数组结构化数组)以及如何NumPy 中操纵日期/时间。

5.6K10
领券