📂 目录

  • 数组的合并
  • 数组的拆分
  • 数组的形状调整
  • 数组的转置与交换
  • 出站链接
  • 参考资料

🎯 数组的合并

NumPy 提供了多种方法来合并两个或多个数组。常用的函数包括 np.concatenate(), np.stack(), np.hstack(), 和 np.vstack()

1. np.concatenate()

np.concatenate() 函数可以将多个数组沿指定的轴进行合并:

a = np.array([1, 2, 3])
b = np.array([4, 5, 6])
c = np.concatenate((a, b))  # 合并为一维数组
print(c)  # 输出:[1 2 3 4 5 6]

2. np.vstack()np.hstack()

np.vstack() 用于按垂直方向合并数组,而 np.hstack() 用于按水平方向合并数组:

a = np.array([1, 2, 3])
b = np.array([4, 5, 6])
print(np.vstack((a, b)))  # 垂直合并
# 输出:
# [[1 2 3]
#  [4 5 6]]

print(np.hstack((a, b)))  # 水平合并
# 输出:[1 2 3 4 5 6]


🔄 数组的拆分

NumPy 也提供了用于拆分数组的函数,如 np.split()np.hsplit()np.vsplit(),它们分别按轴拆分数组。

a = np.array([1, 2, 3, 4, 5, 6])
split_array = np.split(a, 3)  # 按 3 进行拆分
print(split_array)  # 输出:[array([1, 2]), array([3, 4]), array([5, 6])]


🔄 数组的形状调整

使用 np.reshape() 可以调整数组的形状。这个函数不会改变数组的内容,只是改变其维度信息。

a = np.array([1, 2, 3, 4, 5, 6])
reshaped = np.reshape(a, (2, 3))  # 重塑为 2x3 的矩阵
print(reshaped)
# 输出:
# [[1 2 3]
#  [4 5 6]]

如果你希望返回一个扁平化的数组,可以使用 np.ravel()np.flatten()

flattened = a.ravel()
print(flattened)  # 输出:[1 2 3 4 5 6]


🔄 数组的转置与交换

数组的转置操作通过 np.transpose().T 完成:

a = np.array([[1, 2], [3, 4], [5, 6]])
transposed = np.transpose(a)
print(transposed)
# 输出:
# [[1 3 5]
#  [2 4 6]]

你还可以通过 np.swapaxes() 来交换数组的两个轴:

swapped = np.swapaxes(a, 0, 1)
print(swapped)
# 输出:
# [[1 3 5]
#  [2 4 6]]


🔗 出站链接


📚 参考资料

  • NumPy 官方文档
  • W3Schools Python NumPy 教程
  • GeeksForGeeks 深度讲解
  • 来自:www.52kanjuqing.com