用间隔索引替换2D数组元素

假设您在Python中有N-M范围内的随机元素数组,例如

import numpy as np
np.random.seed(0)

a_2d_array = np.random.uniform(0,100,(2,2))

并说您有一些从X到Y结束的间隔范围。

intervals = [0-10],[10-20],[20-30] ... [90-100]

是否有一种有效的方法将a_2d_array的元素替换为元素所在的intervals的索引。

例如:

print(a)

[[54.88135039 71.51893664]
 [60.27633761 54.4883183 ]]

将替换为:

[[4 7]
 [6 5]]

为清楚起见,a的元素0属于intervals等的第4个元素。

也许有一种使用pandas的方法,因为我知道它具有间隔功能,但是我看不到一种快速的方法。

请注意,此方法适用于任何间隔集(即,间隔可以以任何实数开头,无论是正数还是负数和非零)。

在此先感谢您的帮助!

编辑:

我尝试过的示例解决方案:

一个人可以简单地使用:

a = np.random.uniform(-100,2))

print(a) 
array([[-20.8722065,30.65764508],[ 12.03883227,-84.36615283]])

step_size = 10
a//10
array([[-3.,3.],[ 1.,-9.]])

因此,在此示例中,只需知道step_size

liulity5201314 回答:用间隔索引替换2D数组元素

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3116534.html

大家都在问