python - 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"
任何人都可以帮忙吗?
解决方案
您可以使用 DataFrame.apply,而不是使用 Series.apply:
df['Translated'] = df.apply(lambda x: TextBlob(str(x.Text)).translate(from_lang=x.Language, to='en'), axis=1)
推荐阅读
- python - 更改天数以仅表示熊猫数据框中的整数
- amazon-web-services - 无法从 S3 存储桶中“获取对象” - 策略不起作用
- javascript - JS函数后的参数看不懂
- php - 获取 json 数据并传递给 PHP 字符串(此处为 Maps api)
- openstack - Openstack Octavia lbaasv2:找不到 lbaasv2 服务插件
- javascript - 使用 JSON.parse() 将 db json 转换为 javascript 对象失败
- reactjs - React App 组件中未终止的 JSX 内容
- ionic-framework - 可执行文件使用无效权利签名 - 0xe8008016
- string - 如何递归编码以比较 LEGv8 中的两个字符串?
- xamarin.ios - LoadingFinished 将在 Xamarin.iOS 中被多次调用