【发布时间】:2022-10-18 05:07:11
【问题描述】:
我写了一个函数,它接受一个数据框和一个布尔列表。如果布尔列表中的值为 0,那么我们知道文本不是英文的位置。我编写了这个函数,但我不认为它是 Pythonic 并且遵循最佳实践。
def translate_text(df, mask):
gs = goslate.Goslate()
for sd, d, r, m in zip(df['short_description'], df['details'], df['resolution'], mask):
if m == 0:
# Perform translation
sd = gs.translate(sd, 'en')
d = gs.translate(d, 'en')
r = gs.translate(r, 'en')
return df
有没有更蟒蛇的方式来实现后者?任何建议表示赞赏。
这是一个示例
d = {'short_description': ['There is a problem with the laptop', 'Problemo y computer', 'There is a problem with the screen'],
'details': ['The laptop will not respond, just a black screen', 'Problemo y computer', 'The screen is just blinking'],
'resolution': ['Laptop has been replaced', 'La computadora ha sido reemplazada', 'Screen has been replaced']}
df_sample = pd.DataFrame(data=d)
mask = [1,0,1]
【问题讨论】:
-
我已经更新了我的代码的某些部分,看看这对你是否可行?