2015-09-03 1 views
0

data est une base de données pandas dans laquelle la langue et la configuration ['TEXT FIELD'] sont des colonnes. Je veux traduire certains commentaires dans la colonne de texte anglais et je suis en utilisant une fonction dfApplyAppliquer une fonction pour traduire une colonne dans une base de données pandas avec la condition sur d'autres colonnes

import goslate 
def dfApply(row): 
    if row["langauge"] == 'en': 
     return row[config['TEXT FIELD']] 
    else: 
     return gs.translate(row[config['TEXT FIELD']], 'en') 


gs = goslate.Goslate() 
data['english_text'] = data.apply(dfApply, axis=1) 

Mais le complier montre l'erreur follwing

KeyError: ('langauge', 'occurred at index 0') 
+0

Sur quelle ligne rencontrez-vous une erreur? –

+3

'langage'? :) – FunkySayu

+0

dernière ligne où j'applique la fonction 'dfApply' –

Répondre

0

Quelque chose comme cela pourrait être une approche plus facile.

not_en = data["language"] != "en" 
trans = translate(data[config['row']], "en") 
col = config['row'] 
data.loc[not_en, col] = trans[not_en]