【发布时间】:2018-02-16 01:44:25
【问题描述】:
我有一个 utf-8 编码的文本短信 csv 文件。
import pandas as pd
data = pd.read_csv('my_data.csv', sep=',')
data.head()
它的输出如下:
id city department sms category
01 khi revenue quk respns. 1
02 lhr revenue good. 1
03 lhr revenue †h\0h2h\0hh\ 0
04 isb accounts ?xœ1øiûüð÷üœç8i 0
05 isb accounts %â¡ã‘ã¸$ãªã±t%rã«ãÿã©â£ 0
我想删除 sms 列具有垃圾值的所有记录/行,例如记录 3,4 和 5。可能它们是用英语以外的语言编写的,我不太确定这些发生了什么记录。记录 1 和 2 可以保留,尽管 sms 列中使用的语言是非正式的(就像人们通常在短信中所做的那样)。鉴于我有大约 200 万条记录,实现这一目标的便捷方法是什么。
编辑:
我想删除sms 列中所有非ascii 字符的行。
【问题讨论】:
-
你能澄清一下完整的要求是什么,例如你是否试图过滤掉不是全英文的东西?不是ASCII?
-
我要过滤所有“sms”值为非ascii的记录。
-
GSM 03.38 支持非 ascii 字符,所以我不确定将其限制为 ascii 是否有效
-
@SalA。您可能希望也可能不希望保留某些非 ascii 字符,但这完全取决于您的用例。 Ed Chum 的回答保留了他们,我的回答放弃了他们。仔细思考并决定你真正需要的是什么。
-
另外也可以支持其他语言en.wikipedia.org/wiki/GSM_03.38