【发布时间】:2022-09-29 01:29:42
【问题描述】:
我有一个带有地址的巨大数据集,我无法将地址行 1 从对象转换为字符串。
import pandas as pd
data = [\'1111 S. Washington Street\', \'2222 S. Jefferson Ave\', \'3333 W. Madison Court #2\']
df = pd.DataFrame(data, columns=[\'Address_Line1\'])
df[\'Address_Line1_2\'] = df[\'Address_Line1\'].str.upper()
df[\'Address_Line1_2\'] = df[\'Address_Line1_2\'].apply(lambda x: re.sub(\'[^A-Za-z0-9 ]+\', \'\', str(x)))
df[\'Address_Line1_2\'] = df[\'Address_Line1_2\'].astype(\'|S120\')
print(df.info())
df.head()
数据集中的某处有特殊字符,所以我尝试只保留字母数字,然后将其设为字符串,但最终我的数据框看起来像这样:
Address_Line1 Address_Line1_2
0 1111 S. Washington Street b\'1111 S WASHINGTON STREET\'
1 2222 S. Jefferson Ave b\'2222 S JEFFERSON AVE\'
2 3333 W. Madison Court #2 b\'3333 W MADISON COURT 2\'
我看到这是一个“字节”问题,但是当我尝试解码时
df[\'Address_Line1_2\'] = df[\'Address_Line1_2\'].decode(\'UTF-8\')
我收到 \"AttributeError: \'Series\' 对象没有属性 \'decode\"。
如何完成此文本清理?
-
您明确请求转换为包含
.astype(\'|S120\')的行的字节串。我认为你可以摆脱那条线。 -
这很容易,谢谢。只需将其更改为 \'string\' ,一切都很好。谢谢!
标签: python string object decode encode