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

如何将Pandas中独角兽数据集的VALUATION列转换为货币或整数格式?

处理独角兽数据集中VALUATION列的格式转换($1B/$150M转整数/货币格式)

针对Maven Analytics独角兽数据集中VALUATION列的$1B、$150M这类格式,下面是几种实用的转换方案,用Python pandas实现(EDA场景最常用工具):

方法1:自定义函数逐行处理(灵活兼容异常值)

这种方式适合需要精细处理异常格式的场景:

import pandas as pd

# 加载数据集(根据你的文件格式调整,比如csv/excel)
df = pd.read_csv('unicorn_companies.csv')

def convert_to_integer(val):
    # 移除美元符号
    val_clean = val.strip().replace('$', '')
    # 根据单位转换数值
    if 'B' in val_clean:
        # 转换为十亿级整数
        return int(float(val_clean.replace('B', '')) * 1_000_000_000)
    elif 'M' in val_clean:
        # 转换为百万级整数
        return int(float(val_clean.replace('M', '')) * 1_000_000)
    else:
        # 处理无单位的纯数字情况(如果存在)
        try:
            return int(val_clean)
        except:
            return None

# 生成新的整数估值列
df['valuation_int'] = df['VALUATION'].apply(convert_to_integer)

方法2:批量字符串替换(简洁高效)

如果数据格式非常规整,没有异常值,可以用更简洁的批量替换方式:

# 替换单位为科学计数法,再转换为整数
df['valuation_int'] = df['VALUATION'].str.replace('$', '') \
                                      .str.replace('B', 'e9') \
                                      .str.replace('M', 'e6') \
                                      .astype(float) \
                                      .astype(int)

转换为货币格式(带$和千分位)

如果需要把整数转回带格式的货币字符串,用格式化函数即可:

df['valuation_currency'] = df['valuation_int'].apply(lambda x: f"${x:,.0f}")

注意事项

  • 提前检查数据中是否存在非标准格式(比如$5K、无符号的数值),可以用df['VALUATION'].unique()查看所有唯一值
  • 异常值可以返回None或者标记为缺失值,后续用df.dropna()或df.fillna()处理

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 10:41:32