J'ai importé mon jeu de données avec sframe:Graphlab: Comment éviter de dupliquer manuellement des fonctions qui n'ont qu'une variable de chaîne différente?
products = graphlab.SFrame('amazon_baby.gl')
products['word_count'] = graphlab.text_analytics.count_words(products['review'])
Je voudrais faire l'analyse des sentiments sur un ensemble de mots ci-dessous:
selected_words = ['awesome', 'great', 'fantastic', 'amazing', 'love', 'horrible', 'bad', 'terrible', 'awful', 'wow', 'hate']
Je voudrais créer une nouvelle colonne pour chacun des les mots sélectionnés dans la matrice de produits et l'entrée est le nombre de fois tel mot se produit, de sorte que je crée une fonction pour le mot « extraordinaire »:
def awesome_count(word_count):
if 'awesome' in product:
return product['awesome']
else:
return 0;
products['awesome'] = products['word_count'].apply(awesome_count)
si f ar si bon, mais je dois créer manuellement d'autres fonctions pour chacun des mots sélectionnés de cette manière, par exemple, great_count, etc. Comment éviter cet effort manuel et écrire un code plus propre?
Nous vous remercions de l'aide. Je passe un peu de temps et trouve un moyen plus facile d'appliquer et lamda. – drdot
Désolé, je ne comprends pas très bien. Cherchez-vous une réponse qui utilise 'apply 'au lieu de' unpack'? – papayawarrior
Je pense que l'utilisation d'appliquer semble plus propre que d'utiliser "unpack", "format" et "fillna" méthode. N'hésitez pas à jeter des opinions différentes. – drdot