J'essaie d'utiliser une simple application sur une trame pleine de données. Ceci est pour une simple transformation de données sur l'une des colonnes appliquant une fonction qui prend une entrée de texte et la divise en une liste. Voici la fonction et son appel/sortie:Utilisation de sframe.apply() provoquant une erreur d'exécution
In [1]: def count_words(txt):
count = Counter()
for word in txt.split():
count[word]+=1
return count
In [2]: products.apply(lambda x: count_words(x['review']))
---------------------------------------------------------------------------
RuntimeError Traceback (most recent call last)
<ipython-input-8-85338326302c> in <module>()
----> 1 products.apply(lambda x: count_words(x['review']))
C:\Anaconda3\envs\dato-env\lib\site-packages\graphlab\data_structures\sframe.pyc in apply(self, fn, dtype, seed)
2607
2608 with cython_context():
-> 2609 return SArray(_proxy=self.__proxy__.transform(fn, dtype, seed))
2610
2611 def flat_map(self, column_names, fn, column_types='auto', seed=None):
C:\Anaconda3\envs\dato-env\lib\site-packages\graphlab\cython\context.pyc in __exit__(self, exc_type, exc_value, traceback)
47 if not self.show_cython_trace:
48 # To hide cython trace, we re-raise from here
---> 49 raise exc_type(exc_value)
50 else:
51 # To show the full trace, we do nothing and let exception propagate
RuntimeError: Runtime Exception. Unable to evaluate lambdas. Lambda workers did not start.
Lorsque j'exécute mon code, j'obtiens cette erreur. Le cadre s (df) est seulement de 10 par 2 donc il ne devrait y avoir aucune surcharge venant de là. Je ne sais pas comment résoudre ce problème.
Ne voulez-vous pas 'produits ['review']. Apply (count_words)'? – EdChum
J'ai eu la même erreur d'exécution avec Graphlab 2.1. J'ai ensuite réexécuté mon bloc de code et il a exécuté sans erreur. Je ne sais pas pourquoi, mais cela pourrait valoir la peine d'essayer pour quelqu'un d'autre ayant la même erreur. – garbo999