解答:为了达成此目的,应使用二分查找算法,该算法要求输入数组x预先已排序。二分查找算法能够高效地定位元素在有序数组中的位置,适用于解决本问题。实际问题背景:在多智能体环境,从原始data中提取两个变量observation和all_state,observation包含agents数量维度,每个维度值可从all_state中获取。创建对应...
python-找到一个数组在另一个数组中的位置索引
面临问题:寻找数组y在数组x中的位置索引,其中数组x保持升序。
解答:为了达成此目的,应使用二分查找算法,该算法要求输入数组x预先已排序。二分查找算法能够高效地定位元素在有序数组中的位置,适用于解决本问题。
实际问题背景:在多智能体环境,从原始data中提取两个变量observation和all_state,observation包含agents数量维度,每个维度值可从all_state中获取。创建对应索引列表observation_index_in_data和all_state_index_in_data。
问题:在模型测试时,输入为all_state而非data,手动创建observation_index_in_all_state显得繁琐。希望利用现有索引列表直接创建observation_index_in_all_state。
解决方案:借助np.searchsorted()函数,利用其二分查找特性,无需手动操作,可直接通过all_state_index_in_data生成observation_index_in_all_state,实现自动化处理,提升效率。2024-08-16