【发布时间】:2019-10-28 08:12:03
【问题描述】:
我有一个数据框df_android['App'],其中包括英文和非英文名称。我想摆脱那些非英语的人。
这个想法是使用代表字母的数字系统。 127以上的数字不是英文符号。
我尝试在 lambda 中实现它,但我不知道如何将 df_android['App'] 中的每个名称拆分为字母:
for app in df_android['App']:
for letter in app:
letter = ord(letter)
df_android['Lang'] = df_android['App'].apply(lambda x: 'English' if letter < 127 else 'non-English')
我如何确定哪个字母是英文/非英文字母并将这些知识应用到新列中?
例子:
【问题讨论】:
-
.apply(lambda x: 'English' if all(letter < 127 for word in x for letter in word) else 'non-English') -
你能添加一些数据样本和预期输出吗?
-
@jezrael 我已经添加了示例:)
-
@NorahJones - 好的,你能在文本中创建一些示例数据吗,minimal, complete, and verifiable example - 例如
App列中有 3 行? Please don't post images of code/data (or links to them) -
[صور حرف H, Easy Origami Ideas, Tattoo Name On My Photo Editor]够了吗?
标签: python pandas dataframe for-loop lambda