[英]numpy.tile for 3d array
我必須從兩個值(60,80)中獲得3D數組尺寸(4,2,1)
import numpy as np
array([[[ 60.],
[ 60.]],
[[ 60.],
[ 60.]],
[[ 80.],
[ 80.]],
[[ 80.],
[ 80.]]])
我做如下
a = np.array([[[ 60.]],
[[ 80.]]])
np.tile(a, (2, 2,1))
並得到
array([[[ 60.],
[ 60.]],
[[ 80.],
[ 80.]],
[[ 60.],
[ 60.]],
[[ 80.],
[ 80.]]])
如何獲得期望的數組?
您可以結合使用np.tile
和np.repeat
:
a = np.array([[[ 60.]],
[[ 80.]]])
np.repeat(np.tile(a, (1,2,1)), 2, axis=0)
#array([[[ 60.],
# [ 60.]],
# [[ 60.],
# [ 60.]],
# [[ 80.],
# [ 80.]],
# [[ 80.],
# [ 80.]]])
或者使用np.repeat
+ reshape
:
np.repeat(a, 4).reshape(4,2,1)
#array([[[ 60.],
# [ 60.]],
# [[ 60.],
# [ 60.]],
# [[ 80.],
# [ 80.]],
# [[ 80.],
# [ 80.]]])
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.