Python 2.7 numpy数组的Elemen-wise乘法

Python 2.7 numpy数组的Elemen-wise乘法,python-2.7,python-3.x,numpy,Python 2.7,Python 3.x,Numpy,基于一个数组中的元素乘以numpy数组的元素 import numpy as np x = np.random.randint(-10,10, size=(12, 4)) x = np.insert(arr=x, values=np.random.choice([1,2,3,4], 12), obj=8, axis=1) 如果x[:,:4]元素的行在最后一列中具有相同的元素,那么如何将这些行相乘 您可以根据第4个元素对行进行分组,然后在函数内使用来计算乘法 : >>> fro

基于一个数组中的元素乘以numpy数组的元素

import numpy as np
x = np.random.randint(-10,10, size=(12, 4))
x = np.insert(arr=x, values=np.random.choice([1,2,3,4], 12), obj=8, axis=1)
如果x[:,:4]元素的行在最后一列中具有相同的元素,那么如何将这些行相乘

您可以根据第4个元素对行进行分组,然后在函数内使用来计算
乘法
:

>>> from operator import itemgetter
>>> from itertools import groupby
>>> [reduce(lambda x,y:np.multiply(x,y),g) for _,g in groupby(sorted(x,key=itemgetter(3)),itemgetter(3))]
[array([ 0, -7, -5, -7]), array([   0, -588, 1296,    1]), array([ 9, -3, -1,  0]), array([ 56,  -8, -60,   9]), array([ -9,  -3, -10,   6]), array([-72,  -9, -15,  64]), array([ 5, -8, -5,  9])]