我有一个numpy数组,例如:
theData= [[0, 1, 1, 1],[0, 1, 3, 1],[3, 4, 1, 3],[0, 1, 2, 0],[2, 1, 0, 0]]
如何用-1替换第一列中的所有0?在
用theData[theData==0] = -1
替换整个数组中的所有零是很容易的,所以我认为这样的方法可以工作
但对于第一列值为零的任何行,这些操作会将行中的所有值更改为-1。不是我的目标,我想将替换限制在第一列(或其他列)。在
这显然可以通过循环来完成。也可以通过将第一列提取为1D数组,在其中进行替换,然后将其转置到原始的第一列上来完成。但我怀疑有一种更快更像Python的方式来做这件事。也许在使用np.哪里,但我想不通。在
只要不使用该列生成不同的对象,就可以直接为该列编制索引。检查以下示例:
结果是:
^{pr2}$如果您想用多个列作为子集,则必须使用np.哪里(). 在
示例:
输出为:
^{pr2}$所以数组(数据)没有改变。但如果你这么做
你得到了
它看起来也更干净。在
尝试以下操作:
您也可以使用
^{pr2}$np.where
。在相关问题 更多 >
编程相关推荐