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