Tri*_*sen 6 python arrays split numpy
基于我的问题 最快的方法来近似比较大型numpy数组中的值? 我正在寻找各种方法来分割我想要的阵列.我有一个排序数组(2D,按一列中的值排序),并希望将其拆分为多个数组.基于索引的长度不等,但值的范围相等.我发现的最接近的问题是在numpy值上的 Split数组, 但是我想做一些不同的事情.说我有(1D例子):
[0.1, 3.5, 6.5, 7.9, 11.4, 12.0, 22.3, 24.5, 26.7, 29.9]
Run Code Online (Sandbox Code Playgroud)
我想把它分成范围[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]
Run Code Online (Sandbox Code Playgroud)
1d案例可以像这样完成
>>> 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)
Run Code Online (Sandbox Code Playgroud)
如果我正确理解你的问题,这也适用于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. ]])]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2914 次 |
| 最近记录: |