首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >移除熊猫中的汉语

移除熊猫中的汉语
EN

Stack Overflow用户
提问于 2018-02-17 23:00:05
回答 3查看 5.3K关注 0票数 5

我正在尝试从csv中删除所有包含拉丁文和中文字符的中文字符。数据如下所示:

代码语言:javascript
复制
    address                                                 lat
1   农工商超市, Zhangjiang, Pudong New District, 203718       31.204024
2   欧尚, 3057号, Jinke Road, Pudong, 201203, China          31.181804

我需要它看起来像:

代码语言:javascript
复制
    address                                                 lat
1   , Zhangjiang, Pudong New District, 203718               31.204024
2   , 3057, Jinke Road, Pudong, 201203, China               31.181804

我尝试使用df.replace(/[^\x00-\x7F]/g, "")df.replace(/[\u{0080}-\u{FFFF}]/gu,""),但出现错误:

代码语言:javascript
复制
    df1.replace([^\x00-\x7F],"");
                 ^
SyntaxError: invalid syntax

需要帮助!谢谢

EN

回答 3

Stack Overflow用户

发布于 2018-02-17 23:09:01

你就快到了:

代码语言:javascript
复制
df['address'] = df['address'].str.replace(r'[^\x00-\x7F]+', '')

结果:

代码语言:javascript
复制
In [99]: df
Out[99]:
                                     address        lat
0  , Zhangjiang, Pudong New District, 203718  31.204024
1  , 3057, Jinke Road, Pudong, 201203, China  31.181804
票数 3
EN

Stack Overflow用户

发布于 2018-02-17 23:58:27

一种方法也可以是将filterstring.printable一起使用,类似于link

代码语言:javascript
复制
import string
printable = set(string.printable)
df['address'] = df['address'].apply(lambda row: ''.join(filter(lambda x: x in printable, row)))
df

结果:

代码语言:javascript
复制
                                    address        lat
1  , Zhangjiang, Pudong New District, 203718  31.204024
2  , 3057, Jinke Road, Pudong, 201203, China  31.181804

或者将encodedecodelambda配合使用,类似于link

代码语言:javascript
复制
df['address'] = df['address'].apply(lambda row: row.encode('ascii',errors='ignore').decode())
票数 3
EN

Stack Overflow用户

发布于 2018-02-18 06:29:42

如果您想限制字符集,一种更健壮的方法是使用您想要的编码读入文件对象,同时忽略错误

代码语言:javascript
复制
with open('your_csv_file.csv', encoding='ascii', errors='ignore') as infile:
    df = pd.read_csv(infile)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48842639

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档