Python 类整数字符串中的隐藏字符
我从网络上删除了有关筹款的数据,并将其放入表格中 当我开始清理数据时,我看到一些元素,例如2000000,被机器读取为20000000 1/这是什么意思 2/我如何删除它?因为我想把整个列转换成整数Python 类整数字符串中的隐藏字符,python,pandas,Python,Pandas,我从网络上删除了有关筹款的数据,并将其放入表格中 当我开始清理数据时,我看到一些元素,例如2000000,被机器读取为20000000 1/这是什么意思 2/我如何删除它?因为我想把整个列转换成整数 最好的办法是,问题是字符串中有以Unicode字符形式读入的转义序列。删除这些字符而不在每个特定显示上使用replace的最简单方法是使用unicodata包 具体而言: from unicodedata import normalize string1 = "2\xa0000000" new_
最好的办法是,问题是字符串中有以Unicode字符形式读入的转义序列。删除这些字符而不在每个特定显示上使用replace的最简单方法是使用unicodata包 具体而言:
from unicodedata import normalize
string1 = "2\xa0000000"
new_string = normalize('NFKD', string1)
print(new_string)
输出:
2 000000
这个包已经内置到我的机器中,但是如果您使用不同于我的方法来构建python包,您可能需要安装它。我发现这样更好,因为这种规范化可以跨多种格式工作,所以每次看到其他格式不正确的东西时,您不需要使用replace。这是一个转义序列问题是,在字符串中有作为Unicode字符读入的转义序列。删除这些字符而不在每个特定显示上使用replace的最简单方法是使用unicodata包 具体而言:
from unicodedata import normalize
string1 = "2\xa0000000"
new_string = normalize('NFKD', string1)
print(new_string)
输出:
2 000000
这个包已经内置到我的机器中,但是如果您使用不同于我的方法来构建python包,您可能需要安装它。我发现这样更好,因为这种规范化可以跨多种格式工作,所以每次看到其他格式不正确的东西时,您不需要使用replace。这是一个转义序列十六进制代码A0的字符是不间断空格。也就是说,在大多数情况下,您可以将其视为一个空间。根据我的经验,当我处理从Microsoft Office产品生成的一些数据时,或者当人们将HTML代码放在web上时,它通常会出现
不幸的是,例如python split,我不知道如何处理数据,但它不会将数据视为空间。但由于它只是一个独特的字符,您可以通过以下方式解决此问题:
longstring.replace('\xA0', ' ').split()
PS:再次阅读您的问题,似乎应该忽略以数据实体形式生成数字200万。因此,您可能需要将“\xA0”替换为空字符串。十六进制代码A0的字符是不间断空格。也就是说,在大多数情况下,您可以将其视为一个空间。根据我的经验,当我处理从Microsoft Office产品生成的一些数据时,或者当人们将HTML代码放在web上时,它通常会出现
不幸的是,例如python split,我不知道如何处理数据,但它不会将数据视为空间。但由于它只是一个独特的字符,您可以通过以下方式解决此问题:
longstring.replace('\xA0', ' ').split()
PS:再次阅读您的问题,似乎应该忽略以数据实体形式生成数字200万。因此,您可能希望将“\xA0”替换为空字符串。要修复数据帧列,请使用:
df['col'] = df['col'].str.replace('\D', '').astype(int)
要修复DataFrame列,请使用:
df['col'] = df['col'].str.replace('\D', '').astype(int)
这是一个逃逸序列,在这里,对于一个不间断的空间。您可能希望用空字符串替换所有空白,然后重新解析。或者,如果是系统性的,则传递\xa以读取\u csv的数千个参数。这是一个转义序列,用于非中断空间。您可能希望用空字符串替换所有空白,然后重新解析。或者,如果是系统性的,则传递\xa以读取\u csv的参数。