我有一个电影数据框,其中包含电影名称、它们所属的类型以及向量表示(numpy数组)。
ID Year Title Genre Word Vector
1 2003.0 Dinosaur Planet Documentary [-0.55423898, -0.72544044, 0.33189204, -0.1720...
2 2004.0 Isle of Man TT 2004 Review Sports & Fitness [-0.373265237, -1.07549703, -0.469254494, -0.4...
3 1997.0 Character Foreign [-1.57682264, -0.91265768, 2.43038678, -0.2114...
4 1994.0 Paula Abdul's Get Up & Dance Sports & Fitness [0.3096168, -0.57186663, 0.39008939, 0.2868615...
5 2004.0 The Rise and Fall of ECW Sports & Fitness [0.17175879, -2.38005066, -0.45771399, 1.32608...
我愿意按类型对电影进行分组,并获取每种类型的平均向量表示(即该类型电影向量各维度的平均值)。
我首先尝试了以下方法:
movie_df.groupby(['Genre']).mean()
但是内置的mean函数无法对numpy数组取平均值。
我尝试创建自己的函数来实现这个操作,然后将其应用于每个组,但我不确定这是否正确地使用了apply:
def vector_average(group):
series_to_array = np.array(group.tolist())
return np.mean(series_to_array, axis = 0)
movie_df.groupby(['Genre']).apply(vector_average)
任何建议都将不胜感激!
df.head(5)
并将其粘贴在这里? - cs95