发布于2019-10-14 21:10 阅读(344) 评论(0) 点赞(1) 收藏(2)
根据我的问题, 最快的方法来近似比较大型numpy数组中的值? 我一直在寻找想要拆分数组的方法。我有一个排序数组(2D,按一列中的值排序),并想将其拆分为多个数组。不是基于索引的长度相等,而是值的范围相等。我发现的最接近的问题是将 数组拆分为numpy中的值, 但我想做一些不同的事情。说我有(一维示例):
[0.1, 3.5, 6.5, 7.9, 11.4, 12.0, 22.3, 24.5, 26.7, 29.9]
我想将其拆分为[0,10)[10,20)[20,30]范围
[0.1, 3.5, 6.5, 7.9] [11.4, 12.0] [22.3, 24.5, 26.7, 29.9]
一维案例可以这样完成
>>> A = np.array([0.1, 3.5, 6.5, 7.9, 11.4, 12.0, 22.3, 24.5, 26.7, 29.9])
>>> split_at = A.searchsorted([10, 20])
>>> B = numpy.split(A, split_at)
如果我正确理解了您的问题,那么这也适用于2d,例如:
>>> A = array([[ 0.1, 0. ],
[ 3.5, 1. ],
[ 6.5, 2. ],
[ 7.9, 3. ],
[ 11.4, 4. ],
[ 12. , 5. ],
[ 22.3, 6. ],
[ 24.5, 7. ],
[ 26.7, 8. ],
[ 29.9, 9. ]])
>>> split_at = A[:, 0].searchsorted([10, 20])
>>> B = numpy.split(A, split_at)
>>> B
[array([[ 0.1, 0. ],
[ 3.5, 1. ],
[ 6.5, 2. ],
[ 7.9, 3. ]]),
array([[ 11.4, 4. ],
[ 12. , 5. ]]),
array([[ 22.3, 6. ],
[ 24.5, 7. ],
[ 26.7, 8. ],
[ 29.9, 9. ]])]
作者:黑洞官方问答小能手
链接:https://www.pythonheidong.com/blog/article/136835/ad929a6f6e2394ef0cad/
来源:python黑洞网
任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任
昵称:
评论内容:(最多支持255个字符)
---无人问津也好,技不如人也罢,你都要试着安静下来,去做自己该做的事,而不是让内心的烦躁、焦虑,坏掉你本来就不多的热情和定力
Copyright © 2018-2021 python黑洞网 All Rights Reserved 版权所有,并保留所有权利。 京ICP备18063182号-1
投诉与举报,广告合作请联系vgs_info@163.com或QQ3083709327
免责声明:网站文章均由用户上传,仅供读者学习交流使用,禁止用做商业用途。若文章涉及色情,反动,侵权等违法信息,请向我们举报,一经核实我们会立即删除!