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

如何拆分DataFrame中revenue字段特定数值内的k与小数点字符

解决方案

以下基于Pandas实现,两步即可完成格式统一或字符拆分:

1. 统一转为纯数值格式(推荐解决格式不一致问题)

直接将两类格式转换为统一的整数数值,带k的数值自动换算为对应千位级数值:

import pandas as pd

# 示例数据构造,可替换为你自己的DataFrame
df = pd.DataFrame({
    'revenue': ['300', '1.5k', '500', '2.2k', '750', '3k']
})

# 核心转换逻辑
df['revenue'] = df['revenue'].apply(
    lambda x: float(x.strip('kK')) * 1000 if 'k' in x.lower() else float(x)
).astype(int)

处理后的revenue字段值统一为:300、1500、500、2200、750、3000。

2. 单独拆分k和小数点特征

如果你需要单独提取这两个字符的存在标记、或拆分数字与单位部分,用以下代码:

# 提取是否包含k的标记(不区分大小写)
df['has_k'] = df['revenue'].str.contains('k', case=False)
# 提取是否包含小数点的标记
df['has_dot'] = df['revenue'].str.contains('\.')
# 拆分数字部分和单位部分
df[['num_part', 'unit']] = df['revenue'].str.extract('([\d\.]+)(.*)', expand=True)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 17:15:01