【问题标题】:Check if matrix contains valid elements检查矩阵是否包含有效元素
【发布时间】:2016-09-06 13:37:51
【问题描述】:

我有这个数组

scale=np.array([-3,0,2,4,7,10,12])

还有这个矩阵

matrix=np.array([[17, 10, 10],
       [10, 12, 12],
       [ 7,  7,  4],
       [-3, 11,  2]])

现在我想知道矩阵中不包含任何比例元素的行的索引。输出应该是:

array([0,3])

我尝试过使用 np.where、np.all 和 np.any 并没有解决问题。

你有一个简单的解决方案吗?

【问题讨论】:

  • 也许输出应该是array([0,3])?
  • 我很困惑。您说您想要不包含任何比例值的行,但矩阵的每一行和每一列都至少有一个比例值。而且,为了让事情更加混乱,您的答案列出了矩阵中仅有的 2 个比例值。你能澄清一下你到底在找什么吗?您是否正在寻找矩阵中不存在的比例值?
  • 我认为你的意思是你想要的行的索引不包含完全的比例值,即行中的至少一个值不在@987654325 @.
  • 正确,现在更新了,谢谢@AlexanderYau
  • 我正在寻找存在无效元素的行的索引(无效元素是一个不是比例值的值)。 @dkhamrick

标签: python numpy matrix indices error-checking


【解决方案1】:

您正在寻找:

np.where(~np.in1d(matrix, scale).reshape(matrix.shape).all(axis=1))
#(array([0, 3], dtype=int64),)

【讨论】:

  • 谢谢。输出是一个元组,但如果它是一个空元组,它说是 (array([ ], dtype=int64),) 我如何打印“空元组”?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-06-08
  • 1970-01-01
  • 2016-05-24
  • 2016-10-13
  • 2014-05-09
  • 2015-02-09
相关资源
最近更新 更多