我有以下代码
def mean_vectorizer(words, dimention, diction):
return np.array([np.mean([diction[w] for w in words if w in diction] or [np.zeros(dimention)], axis=0)])
data['vector'] = data.apply(lambda x: mean_vectorizer(x['words'], 100, diction), axis=1)
数据框中的列words
包含单词列表。 diction
是一个字典,其中有一个单词作为关键字,而一个数组则具有固定大小的值。我想做的是创建一个新列,该列将解析每行中的列表,从字典中获取每个单词的数组,并使用其余平均值计算一个单独的数组。
运行上面的代码将返回此错误:
Exception: Data must be 1-dimensional
但是,如果我使用下面的代码在一行中运行代码,它不会抱怨
words = data.iloc[0]['words']
np.array([np.mean([diction[w] for w in words if w in diction] or [np.zeros(dimention)], axis=0)])