我有一個用作地圖的 2D Numpy 平鋪物件陣列。外環是所有“墻”值來制作一個封閉的邊界。我想復制內部值以在不觸及外部行和列的情況下進行迭代。我正在努力:
inner_values = map.tiles[1:-1][1:-1]
切斷頂行和底行以及左右列。我的地圖是 100*70,當我想要 (98, 68) 時,這會不斷給我一個形狀 (96, 70) 的陣列。如何正確使用切片來獲取我的內在價值?謝謝!
uj5u.com熱心網友回復:
你就在那里......你可以把所有的索引放在括號里來得到你想要的:
import numpy as np
a = np.ones([5, 5])
print(a)
# [[1. 1. 1. 1. 1.]
# [1. 1. 1. 1. 1.]
# [1. 1. 1. 1. 1.]
# [1. 1. 1. 1. 1.]
# [1. 1. 1. 1. 1.]]
a[1:-1, 1:-1] = 0
print(a)
# [[1. 1. 1. 1. 1.]
# [1. 0. 0. 0. 1.]
# [1. 0. 0. 0. 1.]
# [1. 0. 0. 0. 1.]
# [1. 1. 1. 1. 1.]]
或者給定你的尺寸:
a = np.ones([100,70])
a[1:-1, 1:-1].shape
# (98, 68)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/403501.html
標籤:
下一篇:從陣列中洗掉多個元素
