我有一个带有两列的数据框:一列包含一个类别,另一列包含一个300维向量。对于类别列中的每个值,我有很多个300维向量。我需要做的是按照类别列分组数据框,并同时获取属于每个类别的所有向量的质心值。
Category Vector
Balance [1,2,1,-5,....,9]
Inquiry [-5,3,1,5,...,10]
Card [-3,1,2,3,...1]
Balance [1,3,-2,1,-5,...,7]
Card [3,1,3,4,...,2]
所以在上面的情况下,期望的输出将是:
Category Vector
Balance [1,2.5,-0.5,-2,....,8]
Inquiry [-5,3,1,5,...,10]
Card [0,1,2.5,3.5,...,1.5]
我已经编写了以下函数,用于获取向量数组并计算其质心:
import numpy as np
def get_intent_centroid(array):
centroid = np.zeros(len(array[0]))
for vector in array:
centroid = centroid + vector
return centroid/len(array)
所以我只需要一个快速的方法,在dataframe上使用上述函数和groupby命令。
请原谅我对数据框的格式设置,但我不知道如何正确设置它们。