簡體   English   中英

更新 numpy 數組中每一行的最后一個元素

[英]Update last element of each row in numpy array

我有兩個 numpy arrays, array_one是 NxM 和array_two是 NxMx3,我想根據array_one的值更改array_two每一行中最后一個元素的值,如下所示:

array_two[i, j, -1] = foo(array_one[i,j])

其中foo基於對來自array_one的元素的計算返回一個值。

有沒有辦法避免手動循環 arrays 並使用 numpy 函數加快此過程?

示例顯示使用 np.vectorize 來實現您的想法。

用你的 foo 替換 square ,你應該做生意了。

import numpy as np

array_3d = np.ones((2,3,2))

array_2d = np.random.randn(2,3)

def square(x):
    return x**2

square_all = np.vectorize(square)

array_3d[:,:,-1] = square_all(array_2d)
print(f'{array_3d[:,:,:]=}')

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM