data = [[0, 1, 1, 5, 5, 5, 0, 2, 2, 2, 2, 2, 2, 2, 6, 6, 6, 6, 6, 6, 6, 6],
[1, 1, 1, 0, 5, 5, 5, 0, 2, 2, 0, 0, 2, 0, 0, 6, 6, 6, 0, 0, 6, 6],
[1, 1, 1, 0, 0, 0, 0, 0, 2, 2, 0, 2, 2, 2, 0, 0, 2, 6, 0, 0, 6, 6]]
我拥有的数据对象是<class 'numpy.ndarray'>
知道数据是一个numpy对象我做了以下工作:
data = np.array(data)
我想将列表中的数字作为输入设置为0,我尝试了:
data[~np.isin(data,[2,4])] = 0
我希望前一个矩阵中出现的所有2和4都是0,其余的保持它们的值,我得到:
TypeError: only integer scalar arrays can be converted to a scalar index
还尝试使用np.array
将数据作为numpy数组提供,但也给出了错误。你知道吗
如果要将那些匹配值设置为0,则不应通过^{} 检查来否定掩码。下面的代码可以正常工作:
此外,还应该使
data
成为numpy数组,而不是列表列表。你知道吗只是为了重现你的错误:
相关问题 更多 >
编程相关推荐