Pandas如何将含逗号、加号的字符串列转换为整数类型
Pandas Installs字符串列转整数解决方案
替换失效原因
你之前执行替换操作时为str.replace设置了regex=True参数,+在正则语法中属于特殊量词,不会被识别为要匹配的普通+字符,因此符号清理操作没有生效,后续类型转换自然会失败。
正确转换方法
方法1:关闭正则模式替换普通字符
# 分别清理+和,符号,regex设为False代表按普通字符串匹配 df['Installs'] = df['Installs'].str.replace('+', '', regex=False) df['Installs'] = df['Installs'].str.replace(',', '', regex=False) # 转换为整数类型 df['Installs'] = df['Installs'].astype(int)
方法2:正则批量替换(更简洁)
用正则字符组同时匹配+和,,一次完成清理:
df['Installs'] = df['Installs'].str.replace(r'[+,]', '', regex=True).astype(int)
效果验证
执行后可通过以下代码验证转换结果:
# 查看字段类型,应为int64 print(df['Installs'].dtype) # 查看前5行数据 print(df['Installs'].head())
输出样例:
int64 0 10000 1 500000 2 5000000 3 50000000 4 100000 Name: Installs, dtype: int64
内容的提问来源于stack exchange,提问作者AliReza
相关产品推荐
相关产品推荐

