我有一個非常大的帶有 True/False 的 numpy 陣列,其形狀為(500000, 36),在這里我為這個問題放置了一個示例陣列:
mask_array = [[False, False, False, False .., False],
[False, True, False, False ..., False]]
對于 numpy 陣列的每一行,我想檢查是否有任何元素為True,如果有,則將該行的最后一個元素設定為True。
這是我的示例代碼:
def update_array(x):
if x.any():
x[-1] == True
np.apply_along_axis(update_array, axis=1, arr=mask)
預期成績:
mask_array = [[False, False, False, False .., False],
[False, True, False, False ..., True]]
uj5u.com熱心網友回復:
您可以使用anywith 指定axis然后將結果分配給陣列行的最后一個元素。
示例代碼:
mask_array = np.array([[False, False, False, False , False],
[False, True, False, False , False]])
mask_array[:,-1] = mask_array.any(axis=1)
結果:
array([[False, False, False, False, False],
[False, True, False, False, True]])
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/516070.html
標籤:Python数组麻木的
