如何解决numpy 数字化二维直方图
从这些代码行:
H,xedges,yedges = np.histogram2d(coord[:,0],coord[:,1])
H = H.T
print(H)
我得到以下直方图:
[[ 7. 20. 16. 14. 10. 8. 16. 7. 10. 7.]
[11. 11. 10. 10. 5. 10. 9. 12. 7. 7.]
[13. 11. 13. 9. 13. 10. 14. 6. 9. 9.]
[ 5. 5. 4. 5. 7. 13. 14. 11. 6. 10.]
[14. 4. 11. 5. 7. 14. 6. 11. 11. 5.]
[12. 9. 5. 7. 9. 14. 15. 15. 13. 12.]
[ 5. 13. 15. 9. 10. 7. 10. 12. 7. 5.]
[ 4. 10. 15. 7. 6. 10. 13. 5. 12. 12.]
[12. 6. 11. 8. 5. 5. 13. 14. 13. 9.]
[10. 11. 9. 8. 18. 13. 16. 8. 8. 13.]]
我想找出直方图的每个元素代表的索引,例如(应该计算第一行,第一列 -> 7 -> 7 个索引)。 我花了很多时间试图遵循 this post,但我被困在一个地方(如果没有更好的方法,我可以解释在哪里)。另一个潜在的重复项是 here,但这也不能解决问题。
那么有人知道如何解决这个问题吗?
谢谢!
解决方法
你想要scipy.stats.binned_statistic_2d:
H,xedges,yedges,binnumber = scipy.stats.binned_statistic_2d(
coord[:,0],coord[:,1],None,'count',expand_binnumbers=True)
前三个返回值与您的原始代码相同。第四个 (binnumber
)` 是:
一个形状 (2,N) ndarray,其中每一行给出对应维度中的 bin 编号。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。