NumPy 教程 之 Numpy 数组操作 5

简介: 这段 NumPy 教程介绍了 Numpy 数组操作的第五部分,涵盖了数组形状的修改、翻转等技巧。通过 `reshape` 可以调整数组结构而不改变数据;`flat` 提供了迭代数组元素的方法;`flatten` 和 `ravel` 则分别用于创建一维数组的拷贝和视图,后者直接关联原数组。示例展示了 `ravel` 如何按不同顺序展平数组。此外,教程还介绍了如何使用 `transpose`, `ndarray.T`, `rollaxis`, 和 `swapaxes` 等方法来翻转和重新排列数组的维度。

NumPy 教程 之 Numpy 数组操作 5

Numpy 数组操作

Numpy 中包含了一些函数用于处理数组,大概可分为以下几类:

修改数组形状
翻转数组
修改数组维度
连接数组
分割数组
数组元素的添加与删除

修改数组形状
函数 描述
reshape 不改变数据的条件下修改形状
flat 数组元素迭代器
flatten 返回一份数组拷贝,对拷贝所做的修改不会影响原始数组
ravel 返回展开数组

numpy.ravel

numpy.ravel() 展平的数组元素,顺序通常是"C风格",返回的是数组视图(view,有点类似 C/C++引用reference的意味),修改会影响原始数组。

该函数接收两个参数:

numpy.ravel(a, order='C')

参数说明:

order:'C' -- 按行,'F' -- 按列,'A' -- 原顺序,'K' -- 元素在内存中的出现顺序。

实例

import numpy as np

a = np.arange(8).reshape(2,4)

print ('原数组:')
print (a)
print ('\n')

print ('调用 ravel 函数之后:')
print (a.ravel())
print ('\n')

print ('以 F 风格顺序调用 ravel 函数之后:')
print (a.ravel(order = 'F'))

输出结果如下:

原数组:
[[0 1 2 3]
[4 5 6 7]]

调用 ravel 函数之后:
[0 1 2 3 4 5 6 7]

以 F 风格顺序调用 ravel 函数之后:
[0 4 1 5 2 6 3 7]

翻转数组

函数 描述
transpose 对换数组的维度
ndarray.T 和 self.transpose() 相同
rollaxis 向后滚动指定的轴
swapaxes 对换数组的两个轴

目录
相关文章
|
1月前
|
Python
NumPy 教程 之 Numpy 数组操作 20
NumPy 提供了多种数组操作功能,其中包括分割数组。`numpy.split` 可以将数组沿指定轴分为多个子数组。使用格式为 `numpy.split(ary, indices_or_sections, axis)`,其中 `ary` 是待分割的数组,`indices_or_sections` 指定分割方式,`axis` 设定分割方向,默认为 0(水平)。另有 `hsplit` 和 `vsplit` 专门用于水平和垂直分割。
25 4
|
1月前
|
Python
NumPy 教程 之 Numpy 数组操作 21
Numpy 教程之数组操作21:介绍如何使用 `numpy.split` 分割数组。此函数可按指定位置或等分数将数组分成子数组。参数包括待分割的数组 `ary`、分割点或份数 `indices_or_sections` 及轴向 `axis`。示例展示了将一维数组 `[0 1 2 3 4 5 6 7 8]` 平均分成三份及按 `[4, 7]` 位置分割的方法。
25 2
|
1月前
|
Python
NumPy 教程 之 Numpy 数组操作 29
NumPy 提供多种数组操作函数,如修改形状、翻转和连接等。本教程重点介绍元素的添加与删除,包括 `resize`、`append`、`insert` 和 `delete` 函数。`numpy.delete` 用于从数组中删除指定元素,参数包括 `arr`(输入数组)、`obj`(待删元素)和 `axis`(删除轴)。示例展示了如何使用 `numpy.delete` 删除一维和二维数组中的元素。
32 4
|
1月前
|
数据挖掘 索引 Python
NumPy 教程 之 Numpy 数组操作 30
展示了如何使用`numpy.unique`去除数组中的重复值,并获取额外信息如索引和计数。示例中,数组`a`的重复值被去除,打印出唯一值及其在原数组中的首次出现索引、对应原值的索引以及各唯一元素的出现次数。这有助于数据分析时简化数据集。
27 2
|
1月前
|
Python
NumPy 教程 之 Numpy 数组操作 12
这段 NumPy 教程介绍了数组操作,包括修改形状、翻转、维度调整、连接与分割等。特别聚焦于改变数组维度的功能,如 `broadcast_to` 可以将数组扩展至新的形状,返回一个只读视图,如果形状不符合广播规则,则会引发 `ValueError`。示例展示了如何将一个形状为 `(1,4)` 的数组广播为 `(4,4)` 形状。
35 7
|
1月前
|
Python
NumPy 教程 之 Numpy 数组操作 27
Numpy数组操作教程27,涵盖数组的修改、翻转、连接、分割及元素增删。重点介绍`numpy.append`函数,用于向数组末尾添加元素。参数`arr`为原数组,`values`为待添加值,需与`arr`形状匹配(除添加轴外),`axis`定义添加方向,默认为None时返回一维数组。示例展示了不同轴向的添加效果。
24 1
|
1月前
|
Python
NumPy 教程 之 Numpy 数组操作 24
本教程介绍Numpy中分割数组的方法,特别是`vsplit`函数,它能将数组沿垂直轴分为多个子数组。示例代码展示了如何使用`vsplit`将一个4x4的数组分为两个2x4的子数组,适用于需要按行分割数据的场景。
12 1
|
1月前
|
数据处理 Python
NumPy 教程 之 Numpy 数组操作 23
本教程介绍Numpy数组操作,重点讲解如何使用`numpy.hsplit`函数水平分割数组。通过随机生成一个2x6数组,演示了如何将其均匀分割成三个2x2或2x3的子数组。`numpy.hsplit`允许指定分割后的子数组数量,便于数据处理和分析。
14 1
|
1月前
|
Python
NumPy 教程 之 Numpy 数组操作 19
本教程介绍Numpy数组操作,涵盖数组形状修改、翻转、维度调整、连接与分割以及元素增删等关键技能。重点讲解`numpy.vstack`函数,该函数可将多个数组沿垂直方向堆叠。示例展示了如何使用`vstack`将两个2D数组堆叠成一个更大的数组,适用于数据整合场景。
25 2
|
1月前
|
Python
NumPy 教程 之 Numpy 数组操作 17
NumPy 提供多种数组操作功能,包括修改形状、翻转、调整维度、连接与分割数组及元素的增删。其中,`numpy.stack()`用于沿新轴连接数组序列。示例中,有两个数组`a`和`b`,通过`np.stack((a,b),0)`沿第0轴堆叠,生成的新数组在原有基础上增加了一个维度;而`np.stack((a,b),1)`则沿第1轴堆叠,使得每个数组元素都配对堆叠。
21 1