python 我有一個3D array,如何讓這個3D陣列邊緣都設定成1?
你可以使用 NumPy 來處理這個 3D 陣列,將邊緣的值設為 1。例如,假設你的 3D 陣列為 arr
,你可以這樣做:
import numpy as np # 創建一個 3D 陣列 (例如 5x5x5) arr = np.zeros((5, 5, 5), dtype=int) # 設定邊緣為 1 arr[0, :, :] = 1 # X 軸最小邊 arr[-1, :, :] = 1 # X 軸最大邊 arr[:, 0, :] = 1 # Y 軸最小邊 arr[:, -1, :] = 1 # Y 軸最大邊 arr[:, :, 0] = 1 # Z 軸最小邊 arr[:, :, -1] = 1 # Z 軸最大邊 print(arr)
解釋:
arr[0, :, :] = 1
→ 設定 X 軸最小的邊界為 1。arr[-1, :, :] = 1
→ 設定 X 軸最大的邊界為 1。arr[:, 0, :] = 1
→ 設定 Y 軸最小的邊界為 1。arr[:, -1, :] = 1
→ 設定 Y 軸最大的邊界為 1。arr[:, :, 0] = 1
→ 設定 Z 軸最小的邊界為 1。arr[:, :, -1] = 1
→ 設定 Z 軸最大的邊界為 1。
這樣你的 3D 陣列邊緣都會變成 1
,而內部保持 0
。
留言板
歡迎留下建議與分享!希望一起交流!感恩!