gpt4 book ai didi

python - 删除行包含 Pandas 数据框中的非英语单词

转载 作者:行者123 更新时间:2023-12-03 23:02:04 25 4
gpt4 key购买 nike

我有一个由 4 行组成的 Pandas 数据框,英文行包含新闻标题,有些行包含像这样的非英语单词

**She’s the Hollywood Power Behind Those ...**
我想删除所有这样的行,因此所有在 Pandas 数据框中至少包含非英文字符的行。

最佳答案

如果使用 Python >= 3.7:

df[df['col'].map(lambda x: x.isascii())]
哪里 col是您的目标列。

数据:
df = pd.DataFrame({
'colA': ['**She’s the Hollywood Power Behind Those ...**',
'Hello, world!', 'Cainã', 'another value', 'test123*', 'âbc']
})

print(df.to_markdown())
|    | colA                                                  |
|---:|:------------------------------------------------------|
| 0 | **She’s the Hollywood Power Behind Those ...** |
| 1 | Hello, world! |
| 2 | Cainã |
| 3 | another value |
| 4 | test123* |
| 5 | âbc |
识别和过滤带有非英文字符的字符串(参见 ASCII printable characters ):
df[df.colA.map(lambda x: x.isascii())]
输出:
            colA
1 Hello, world!
3 another value
4 test123*

最初的方法是使用这样的用户定义函数:
def is_ascii(s):
try:
s.encode(encoding='utf-8').decode('ascii')
except UnicodeDecodeError:
return False
else:
return True

关于python - 删除行包含 Pandas 数据框中的非英语单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65012603/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com