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

Python如何拆分pandas DataFrame中混合数字和加密资产代码的Amount列

实现方案

你可以使用pandas的str.extract()方法结合正则表达式完成拆分,这是当前场景下最简洁的实现方式:

完整代码示例

import pandas as pd

# 仅做测试用,你可以替换成自己的原始DataFrame
df = pd.DataFrame({'Amount': ['200.20356AVAX', '1.5BTC', '3245.89ETH', '100USDT']})

# 拆分出两列,捕获组1匹配数值,捕获组2匹配资产代码
df[['Quantity', 'Asset']] = df['Amount'].str.extract(r'^(\d+\.?\d*)([A-Za-z]+)$')

# 将数量列转换为浮点型,方便后续做数值计算
df['Quantity'] = pd.to_numeric(df['Quantity'])

说明

  • 正则^(\d+\.?\d*)([A-Za-z]+)$的逻辑:
    • ^匹配字符串开头,$匹配字符串结尾,避免异常格式的内容被错误拆分
    • 第一个捕获组(\d+\.?\d*):匹配整数、可选小数点、小数部分,对应数量的字符串格式
    • 第二个捕获组([A-Za-z]+):匹配1个以上的英文字母,对应加密资产代码
  • 如果你的数据中存在负数(比如卖出记录为-2.5AVAX),可以把正则修改为r'^(-?\d+\.?\d*)([A-Za-z]+)$'即可兼容负数值

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 12:06:00