You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何拆分Pandas Series字符串、应用locale规则转浮点型并解决报错?

修正代码及说明

完整可运行代码

import locale
import pandas as pd

# 配置英文区域规则,使用兼容度更高的标识
locale.setlocale(locale.LC_ALL, 'en_US.UTF-8')

# 链式执行两步转换:先移除VSO后缀,再按区域规则转浮点
df_test['amount'] = df_test['amount'].str.removesuffix(' VSO').apply(locale.atof)

若使用的pandas版本较低不支持removesuffix方法,可将该部分替换为.str.replace(' VSO$', '', regex=True),通过正则匹配后缀实现相同移除效果。

原代码错误原因

  • 分割字符串后直接取[0]:df_test['amount'].str.split(' VSO')返回的是每个元素为列表的Series,直接写[0]只会取整个Series的第一个元素,需要加.str[0]才会对每行的分割结果取值
  • 直接传入整个Series到locale.atof:locale.atof是单字符串处理函数,不支持批量处理数组/序列,需要通过apply方法逐行调用函数

内容的提问来源于stack exchange,提问作者Luiz Scheuer

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 03:27:03