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

numpy.reshape
numpy.reshape 函数可以在不改变数据的条件下修改形状,格式如下:
numpy.reshape(arr, newshape, order='C')
arr:要修改形状的数组newshape:整数或者整数数组,新的形状应当兼容原有形状- order:'C' -- 按行,'F' -- 按列,'A' -- 原顺序,'k' -- 元素在内存中的出现顺序。

numpy.ndarray.flat
numpy.ndarray.flat 是一个数组元素迭代器

numpy.ndarray.flatten
numpy.ndarray.flatten 返回一份数组拷贝,对拷贝所做的修改不会影响原始数组,格式如下:
ndarray.flatten(order='C')
参数说明:
- order:'C' -- 按行,'F' -- 按列,'A' -- 原顺序,'K' -- 元素在内存中的出现顺序。

numpy.ravel
numpy.ravel() 展平的数组元素,顺序通常是"C风格",返回的是数组视图(view,有点类似 C/C++引用reference的意味),修改会影响原始数组。
该函数接收两个参数:
numpy.ravel(a, order='C')
参数说明:
- order:'C' -- 按行,'F' -- 按列,'A' -- 原顺序,'K' -- 元素在内存中的出现顺序。

翻转数组


import numpy as np
def axis_operation_examples():
"""NumPy数组轴操作函数示例"""
# 创建示例数组
arr_2d = np.array([[1, 2, 3],
[4, 5, 6]])
arr_3d = np.array([[[1, 2],
[3, 4]],
[[5, 6],
[7, 8]]])
print("原始二维数组:")
print(arr_2d)
print("\n原始三维数组:")
print(arr_3d)
# 1. transpose() - 对换数组维度
transposed_2d = arr_2d.transpose()
transposed_3d = arr_3d.transpose((2, 0, 1)) # 指定新轴顺序
print("\ntranspose()操作后:")
print("二维数组转置:")
print(transposed_2d)
print("三维数组调整轴顺序:")
print(transposed_3d)
# 2. ndarray.T - transpose()的快捷属性
transpose_shortcut = arr_2d.T
print("\nndarray.T操作后:")
print(transpose_shortcut)
# 3. rollaxis() - 向后滚动指定的轴
rolled_3d = np.rollaxis(arr_3d, 1, 0) # 将第1轴滚动到第0位置
print("\nrollaxis()操作后:")
print(rolled_3d)
# 4. swapaxes() - 对换数组的两个轴
swapped_3d = np.swapaxes(arr_3d, 0, 2) # 交换第0轴和第2轴
print("\nswapaxes()操作后:")
print(swapped_3d)
if __name__ == "__main__":
axis_operation_examples()
浙公网安备 33010602011771号