📂 目录
- 数组的合并
- 数组的拆分
- 数组的形状调整
- 数组的转置与交换
- 出站链接
- 参考资料
🎯 数组的合并
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
发表回复