Я импортировал свой набор данных с SFrame:Graphlab: Как избежать дублирования вручную функций, которые имеют только другую строковую переменную?
products = graphlab.SFrame('amazon_baby.gl')
products['word_count'] = graphlab.text_analytics.count_words(products['review'])
Я хотел бы сделать анализ настроений на множестве слов, как показано ниже:
selected_words = ['awesome', 'great', 'fantastic', 'amazing', 'love', 'horrible', 'bad', 'terrible', 'awful', 'wow', 'hate']
Тогда я хотел бы создать новый столбец для каждого из выбранные слова в матрице продукции и вступление в число раз встречается такое слово, так что я создал функцию для слова «удивительный»:
def awesome_count(word_count):
if 'awesome' in product:
return product['awesome']
else:
return 0;
products['awesome'] = products['word_count'].apply(awesome_count)
так е так хорошо, но мне нужно вручную создавать другие функции для каждого из выбранных слов таким образом, например, great_count и т. д. Как избежать этого ручного усилия и написать более чистый код?
Спасибо за помощь. Я провожу немного времени и нахожу более простой способ применения и лам. – drdot
Извините, я не совсем понимаю. Вы ищете ответ, который использует 'apply', вместо' unpack'? – papayawarrior
Я чувствую, что использование apply выглядит более чистым, чем использование методов «unpack», «format» и «fillna». Не стесняйтесь бросать разные мнения. – drdot