2024-10-01 00:20:42 发布
网友
我把网上募捐的资料作废,放到一张表格里。你知道吗
当我开始清理数据时,我看到一些元素,例如“2 000000”,被机器读取为“2\xa0000000”。你知道吗
1/这是什么意思?你知道吗
2/如何移除?(因为我想把整列转换成整数)
最好的
十六进制代码A0的字符是不间断空格。所以说,在大多数情况下,你可以把它当作一个空间。根据我的经验,它主要出现在我处理从microsoftoffice产品生成的一些数据时,或者在人们将HTML代码 放在web上时。你知道吗
A0
不幸的是,pythonsplit()(例如,我不知道如何处理数据)不会将其视为空间。但由于这只是一个独特的特征,您可以通过以下方法解决问题:
split()
longstring.replace('\xA0', ' ').split()
PS:再读一遍你的问题,似乎应该忽略将数字200万作为一个数据实体。所以您可能想用空字符串替换'\xA0'。你知道吗
'\xA0'
要修复DataFrame列,请使用:
DataFrame
df['col'] = df['col'].str.replace('\D', '').astype(int)
问题是字符串中的转义序列是作为Unicode字符读入的。删除这些字符而不在每个特定显示上使用replace的最简单方法是使用unicodedata包。你知道吗
unicodedata
具体来说:
from unicodedata import normalize string1 = "2\xa0000000" new_string = normalize('NFKD', string1) print(new_string)
输出:
2 000000
这个包已经内置到我的机器中,但是如果您使用不同于我的方法来构建python包,您可能需要安装它。我发现这样做更好,因为这种规范化可以跨许多不同的格式工作,所以您不需要每次看到其他格式不正确的内容时都使用replace。这是一个逃跑序列
十六进制代码
A0
的字符是不间断空格。所以说,在大多数情况下,你可以把它当作一个空间。根据我的经验,它主要出现在我处理从microsoftoffice产品生成的一些数据时,或者在人们将HTML代码
放在web上时。你知道吗不幸的是,python
split()
(例如,我不知道如何处理数据)不会将其视为空间。但由于这只是一个独特的特征,您可以通过以下方法解决问题:PS:再读一遍你的问题,似乎应该忽略将数字200万作为一个数据实体。所以您可能想用空字符串替换
'\xA0'
。你知道吗要修复
DataFrame
列,请使用:问题是字符串中的转义序列是作为Unicode字符读入的。删除这些字符而不在每个特定显示上使用replace的最简单方法是使用
unicodedata
包。你知道吗具体来说:
输出:
这个包已经内置到我的机器中,但是如果您使用不同于我的方法来构建python包,您可能需要安装它。我发现这样做更好,因为这种规范化可以跨许多不同的格式工作,所以您不需要每次看到其他格式不正确的内容时都使用replace。这是一个逃跑序列
相关问题 更多 >
编程相关推荐