首页 > 解决方案 > Pandas 中的 lambda 函数中的 Lambda 函数

问题描述

我正在尝试以下功能。

我想从它所在的语言翻译“文本”中的数据,这可以通过

df['Language'] = df.Text.apply(lambda x: TextBlob(str(x)).detect_language())

进入西班牙语,可以通过以下方式完成:

.translate(from_lang='en', to= 'es')

我已经尝试过以下方法,但我不确定如何将这两个函数嵌套到一个语句中?

df['Translated'] = df.Text.apply(lambda x: TextBlob(str(x)).translate(from_lang= df.Text.apply(lambda x: TextBlob(str(x))), to ='en'))

输入数据框只是带有文本语句的单列,例如:

Text
"I love this game, I think its great"
"really buggy, not a good experience, do not buy"
"not too bad, not too good"

任何人都可以帮忙吗?

标签: pythonpandas

解决方案


您可以使用 DataFrame.apply,而不是使用 Series.apply:

df['Translated'] = df.apply(lambda x: TextBlob(str(x.Text)).translate(from_lang=x.Language, to='en'), axis=1)

推荐阅读