我試圖找到一種方法來使用每個值的索引作為引數通過整個 ndarray 運行函式。常規回圈非常慢,我找不到使用 numpy 內置函式使其作業的方法。下一個示例代碼總結了我正在嘗試做的事情。提前致謝。
import numpy as np
arr = np.arange(10).reshape(2, 5)
print(arr)
def example_func(row, col, value):
return(row col value)
for row in range(arr.shape[0]):
for col in range(arr.shape[1]):
arr[row, col] = example_func(row, col, arr[row, col])
print(arr)
[[0 1 2 3 4]
[5 6 7 8 9]]
[[ 0 2 4 6 8]
[ 6 8 10 12 14]]
uj5u.com熱心網友回復:
您嘗試做的事情可以用meshgrid.
從坐標向量回傳坐標矩陣。
n_rows, n_cols = arr.shape
col_matrix, row_matrix = np.meshgrid(np.arange(n_cols), np.arange(n_rows))
result = arr col_matrix row_matrix
print(result)
這回傳
[[ 0 2 4 6 8]
[ 6 8 10 12 14]]
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/410473.html
標籤:
