我有一个逻辑矩阵:第一个月和数据矩阵,如:
data = np.array([[1,2,3], [4,5,6], [7,8,9]])
字符串我想这样做(这是在MATLAB中的方法):
data[ind,:] = 0
型以便将所有具有逻辑值为1的行设置为特定值。
np.array([[0,0,0], [4,5,6], [0,0,0]])
型如何在Python中实现?
hs1ihplo1#
你可以在numpy中做同样的事情,但你需要一个布尔数组(这称为布尔索引):
data[ind.astype(bool), :] = 0 # or data[ind==1, :] = 0
字符串
data[ind.astype(bool)] = 0
data[ind==1] = 0
更新data:
data
array([[0, 0, 0], [4, 5, 6], [0, 0, 0]])
型中间体:
ind.astype(bool) # array([ True, False, True])
型
c9qzyr3d2#
data[ind==1, :] = 0将完成此工作ind==1创建一个布尔数组,你可以把它作为索引:[ True False True]个
data[ind==1, :] = 0
ind==1
[ True False True]
2条答案
按热度按时间hs1ihplo1#
你可以在numpy中做同样的事情,但你需要一个布尔数组(这称为布尔索引):
字符串
data[ind.astype(bool)] = 0
/data[ind==1] = 0
就足够了。更新
data
:型
中间体:
型
c9qzyr3d2#
data[ind==1, :] = 0
将完成此工作ind==1
创建一个布尔数组,你可以把它作为索引:[ True False True]
个