[英]Fastest way to Select a random number from each row padded numpy array (excluding the pad) and number of non padded values, using numpy operations
[英]How can I make a padded numpy array using the first/last row/column as the pad?
我需要使用第一行和最后一行/列作為填充數據,在所有4個面上高效填充numpy數組。 例如,給出以下內容:
A=np.array([[1 2 3 4],
[5 6 7 8],
[9 10 11 12]])
我試圖以:
B=np.array([[1 1 2 3 4 4],
[1 1 2 3 4 4],
[5 5 6 7 8 8],
[9 9 10 11 12 12],
[9 9 10 11 12 12]])
請注意,原始數組A位於:B [1:-1,1:-1]。 我假設我可以先在一個方向(水平或垂直)上進行填充,以獲取重復的角值。 但是,我的矢量化/數字化使我失望。 (注意:我正在使用的數組很大,我需要多次執行此選項,因此有效地執行此操作很關鍵-我可以使用循環來執行此操作,但是速度很慢)。
使用np.pad
,您可以指定填充的寬度和應用於數組的填充模式。 對於示例數組, edge
填充模式可提供所需的結果:
>>> np.pad(A, 1, 'edge')
array([[ 1, 1, 2, 3, 4, 4],
[ 1, 1, 2, 3, 4, 4],
[ 5, 5, 6, 7, 8, 8],
[ 9, 9, 10, 11, 12, 12],
[ 9, 9, 10, 11, 12, 12]])
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.