Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/341.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 用区间索引替换二维数组元素_Python_Arrays_Indexing_Intervals - Fatal编程技术网

Python 用区间索引替换二维数组元素

Python 用区间索引替换二维数组元素,python,arrays,indexing,intervals,Python,Arrays,Indexing,Intervals,假设Python中有一个范围为N-M的随机元素数组,例如 import numpy as np np.random.seed(0) a_2d_array = np.random.uniform(0,100,(2,2)) 假设你有一些区间范围,从X开始,到Y结束,例如 间隔=[0-10]、[10-20]、[20-30]。。。[90-100] 是否有一种有效的方法将a_2d_数组的元素替换为元素所在的间隔的索引 e、 g: 将替换为: [[4 7] [6 5]] 其中,为清楚起见,a的元素0

假设Python中有一个范围为N-M的随机元素数组,例如

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

a_2d_array = np.random.uniform(0,100,(2,2))
假设你有一些区间范围,从X开始,到Y结束,例如

间隔
=[0-10]、[10-20]、[20-30]。。。[90-100]

是否有一种有效的方法将
a_2d_数组
的元素替换为元素所在的
间隔的索引

e、 g:

将替换为:

[[4 7]
 [6 5]]
其中,为清楚起见,
a
的元素0属于
间隔的第4个元素

也许有一种方法可以做到这一点,因为我知道它有间隔功能,但我看不到一个快速的方法

请注意,这适用于任何一组间隔(即间隔可以从任何实数开始,无论是正数、负数还是非零)

在此,非常感谢您的帮助

编辑:

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

你可以简单地使用:

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

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

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

因此,在本例中,只需知道
步长大小

对于“是否有一种有效的方法可以将
二维数组的元素
替换为元素所在的
间隔的索引”的简短回答是肯定的。你能提供一些你已经尝试过的和不起作用的例子吗?我已经在我已经尝试过的例子中添加了。我不知道它是否是最有效的,但它与显式的间隔列表是解耦的,需要知道最小间隔才能解释上面示例中所示的负指数。
a = np.random.uniform(-100,100,(2,2))

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

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