python numpy 将最后一维复制三份
时间: 2023-10-05 07:07:23 浏览: 47
你可以使用numpy的`repeat()`或者`tile()`函数来实现将最后一维复制三份的操作。
使用`repeat()`函数的代码示例如下:
```python
import numpy as np
# 创建一个4维的数组
a = np.array([[[[1, 2], [3, 4]], [[5, 6], [7, 8]]], [[[9, 10], [11, 12]], [[13, 14], [15, 16]]]])
# 将最后一维复制三份
b = np.repeat(a, 3, axis=-1)
print(b.shape)
print(b)
```
输出结果为:
```
(2, 2, 2, 6)
[[[[ 1 1 1 2 2 2]
[ 3 3 3 4 4 4]]
[[ 5 5 5 6 6 6]
[ 7 7 7 8 8 8]]]
[[[ 9 9 9 10 10 10]
[11 11 11 12 12 12]]
[[13 13 13 14 14 14]
[15 15 15 16 16 16]]]]
```
使用`tile()`函数的代码示例如下:
```python
import numpy as np
# 创建一个4维的数组
a = np.array([[[[1, 2], [3, 4]], [[5, 6], [7, 8]]], [[[9, 10], [11, 12]], [[13, 14], [15, 16]]]])
# 将最后一维复制三份
b = np.tile(a, (1, 1, 1, 3))
print(b.shape)
print(b)
```
输出结果为:
```
(2, 2, 2, 6)
[[[[ 1 2 1 2 1 2]
[ 3 4 3 4 3 4]]
[[ 5 6 5 6 5 6]
[ 7 8 7 8 7 8]]]
[[[ 9 10 9 10 9 10]
[11 12 11 12 11 12]]
[[13 14 13 14 13 14]
[15 16 15 16 15 16]]]]
```