【发布时间】:2018-06-13 07:06:25
【问题描述】:
我在 Windows 上使用 Python 3.6.2 和 numpy。
我有两个数组,
一个整数数组 [I1, I2, I3, I4]
一个浮点值数组 [VI1, VI2, VI3, Vi4]
数组长度相同
第一个数组中的整数可以重复
第二个数组中的值与第一个数组中相同位置的整数相关联。
对于第一个数组中的每个唯一整数,我需要在第一个数组中找到该整数的所有出现,然后计算第二个数组中相应位置的所有值的平均值。
给定一个索引数组 [1, 5, 7, 5, 9, 7, 4]
和一个值数组 [9, 4, 8, 7, 2, 8, 6]
1、9 和 4 在索引数组中出现一次,并与值 9、2 和 6 相关联,这些值也是这些索引的平均值。
5 在索引数组中出现两次,关联值为 4 和 7 - avg 5.5 7 在索引数组中出现两次,关联值为 8 和 8 - avg 8.0
数组可以非常大 - 多达 1 亿个。
当然,这很容易暴力破解,但是在 Python/numpy 中是否有一种快速且内存高效的方法来实现这一点?
提前致谢,
道格
【问题讨论】: