[英]How to replace values in array with zeros?
我有一個帶有嵌套列表的數組:
A = np.array([[45., 0., 0.],
[ 0., 27., 0.],
[ 0., 0., 18.]])
我想用零替換最后一個列表 [0., 0., 18.] 中的所有值作為新值 A_1:
A_1 = np.array([[45., 0., 0.],
[ 0., 27., 0.],
[ 0., 0., 0.]])
我怎么能這樣做?
import numpy as np
A = np.array([[45., 0., 0.],
[ 0., 27., 0.],
[ 0., 0., 18.]])
A_1 = A.copy()
A_1[-1]=0
Output
array([[45., 0., 0.],
[ 0., 27., 0.],
[ 0., 0., 0.]])
首先,您需要復制A
。 我可以從三個方面思考:
A_1 = A[:]
A_1 = A.copy()
A_1 = np.copy(A)
然后你必須替換最后一個數組:
A_1[-1] = 0
另一種方法是使用numpy.copyto
。 在這種情況下,您必須將A_1
初始化為一個完整的 0s numpy.ndarray
然后復制您想要的部分:
A_1 = np.zeros(A.shape)
np.copyto(A_1[:2], A[:2])
或等效地
np.copyto(A_1[:-1], A[:-1])
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.