📜  3d 数组 - Python (1)

📅  最后修改于: 2023-12-03 15:13:08.313000             🧑  作者: Mango

3D 数组 - Python

在 Python 中,我们可以使用 NumPy 库来创建和操作 3D(三维)数组。这些数组由多个二维数组所组成,每个二维数组可以看做是一个平面,而整个 3D 数组则可以看做是由这个平面叠加而成的。

创建 3D 数组

要创建一个 3D 数组,我们需要用到 NumPy 的 ndarray 类型。这个类具有 shapedtype 属性,其中 shape 用于指定数组的维度,而 dtype 用于指定元素的数据类型。

以下是创建一个 3x3x3 的 3D 数组的示例代码:

import numpy as np

arr = np.ndarray(shape=(3, 3, 3), dtype=int)

上面的代码使用 ndarray 类型创建了一个 3x3x3 的 3D 数组,其中每个元素的数据类型为整型。

访问 3D 数组元素

要访问 3D 数组中的元素,我们需要使用索引。对于一个 3D 数组来说,我们需要使用 3 个索引来访问它的元素。以下是一个访问 3D 数组元素的示例代码:

import numpy as np

arr = np.ndarray(shape=(3, 3, 3), dtype=int)

# 将第一个平面全部赋值为 1
arr[0] = np.ones((3, 3), dtype=int)

# 输出第一个平面
print(arr[0])

上面的代码会将 3D 数组的第一个平面全部赋值为 1,并输出这个平面。

操作 3D 数组

NumPy 库提供了丰富的函数和方法来操作多维数组,包括 3D 数组。以下是一些常见的 3D 数组操作:

改变 3D 数组形状

要改变一个 3D 数组的形状,我们可以使用 reshape() 方法。这个方法接受一个元组作为参数,其中元组的每个元素分别表示新数组在每个轴上的大小。

以下是一个改变 3D 数组形状的示例代码:

import numpy as np

arr = np.ndarray(shape=(3, 3, 3), dtype=int)

# 改变数组形状为 9x3
new_shape = (9, 3)
new_arr = arr.reshape(new_shape)

# 输出新数组形状
print(new_arr.shape)

上面的代码改变了 3D 数组的形状为 9x3,并输出了新数组的形状。

遍历 3D 数组

要遍历一个 3D 数组,我们可以使用嵌套的循环来访问它的每个元素。以下是一个遍历 3D 数组的示例代码:

import numpy as np

arr = np.ndarray(shape=(3, 3, 3), dtype=int)

# 在数组中添加随机数
for i in range(3):
    for j in range(3):
        for k in range(3):
            arr[i][j][k] = np.random.randint(0, 10)

# 遍历数组并输出所有元素
for i in range(3):
    for j in range(3):
        for k in range(3):
            print(arr[i][j][k])

上面的代码向 3D 数组中添加了随机数,并遍历了这个数组并输出了所有元素。

总结

本文介绍了如何在 Python 中创建、访问和操作 3D 数组,以及一些常见的 3D 数组操作。NumPy 库提供了很多函数和方法用于操作多维数组,包括 3D 数组,可以帮助我们更高效地完成数据分析、科学计算等任务。