【发布时间】:2011-04-06 07:40:12
【问题描述】:
在 Numpy 1.4.1 中,计算 masked 数组的直方图最简单或最有效的方法是什么?默认情况下,numpy.histogram 和 pyplot.hist 会计算被屏蔽的元素!
我现在能想到的唯一简单的解决方案是使用非屏蔽值创建一个新数组:
histogram(m_arr[~m_arr.mask])
但这不是很有效,因为这不必要地创建了一个新数组。我很乐意阅读更好的想法!
【问题讨论】:
-
不管怎样,这可能会被认为是
numpy.histogram中的一个错误。您可能应该提交一份错误报告并在邮件列表中提及。通过将numpy.histogram源中的asanyarray替换为asarray,可以轻松解决此问题。 -
乔,您可能想提交您的评论作为答案:如果 Numpy 开发人员确认,我可能会将其标记为已接受的答案。
-
我向列表发送了一个快速问题。 mail.scipy.org/pipermail/numpy-discussion/2010-September/… 我们会看看人们是否认为它是一个错误。不过,这至少对我来说似乎违反直觉。
-
对于它的价值,普遍的共识是它是预期的行为,并且这样的修复可能会导致比它修复的更多的问题。例如:mail.scipy.org/pipermail/numpy-discussion/2010-September/…
-
谢谢你,乔。您能否在答案中总结您的 cmets。我想将其标记为已接受的答案,因为它表明没有什么比tillsten 的好解决方案更好的了。
标签: python arrays numpy histogram