假设我有一个任意的 numpy 矩阵,如下所示:
arr = [[ 6.0 12.0 1.0]
[ 7.0 9.0 1.0]
[ 8.0 7.0 1.0]
[ 4.0 3.0 2.0]
[ 6.0 1.0 2.0]
[ 2.0 5.0 2.0]
[ 9.0 4.0 3.0]
[ 2.0 1.0 4.0]
[ 8.0 4.0 4.0]
[ 3.0 5.0 4.0]]
对按第三列号分组的行进行平均的有效方法是什么?
预期输出为:
result = [[ 7.0 9.33 1.0]
[ 4.0 3.0 2.0]
[ 9.0 4.0 3.0]
[ 4.33 3.33 4.0]]
一个紧凑的解决方案是使用numpy_索引 https://github.com/EelcoHoogendoorn/Numpy_arraysetops_EP(免责声明:我是它的作者),它实现了完全矢量化的解决方案:
import numpy_indexed as npi
npi.group_by(arr[:, 2]).mean(arr)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)