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

如何在Pandas DataFrame中去除货币符号并计算每行总和?

处理DataFrame:去除货币符号、保留指定内容并计算行总和

原始DataFrame样式:

CCD     CFO     CP3     DHC     ERS     FRO     HDI     IHI     IPI     ODF     PAE  
                       0 EGP           40 USD          210 USD  
inclu                         1500 THB                 70 INR          855 EUR
       inclu                                   60 CNY

解决方案步骤

1. 构建可处理的DataFrame

先把原始文本格式的数据转换为pandas DataFrame,明确空值和内容的对应位置:

import pandas as pd
import re

# 原始数据行,空值用None占位
raw_data = [
    [None, None, None, "0 EGP", None, "40 USD", None, "210 USD", None, None, None],
    ["inclu", None, None, None, "1500 THB", None, None, "70 INR", None, "855 EUR", None],
    [None, "inclu", None, None, None, None, "60 CNY", None, None, None, None]
]

# 列名列表
columns = ["CCD", "CFO", "CP3", "DHC", "ERS", "FRO", "HDI", "IHI", "IPI", "ODF", "PAE"]

df = pd.DataFrame(raw_data, columns=columns)

2. 清洗单元格内容

编写函数提取数字或保留inclu,自动去除货币符号:

def clean_cell(value):
    if pd.isna(value):
        return None
    # 匹配'inclu'或纯数字
    match_result = re.search(r'(inclu|\d+)', str(value))
    if match_result:
        content = match_result.group(1)
        # 数字转整数,'inclu'保留字符串
        return int(content) if content.isdigit() else content
    return None

# 应用清洗函数到整个DataFrame
cleaned_df = df.applymap(clean_cell)

3. 计算每行数值总和

遍历每行,只对数值类型的单元格求和,跳过inclu和空值:

def calculate_row_sum(row):
    total = 0
    for val in row:
        if isinstance(val, (int, float)):
            total += val
    return total

# 添加"行总和"列
cleaned_df['行总和'] = cleaned_df.apply(calculate_row_sum, axis=1)

最终输出结果

运行上述代码后,得到的最终DataFrame如下:

CCD    CFO  CP3  DHC   ERS  FRO  HDI  IHI  IPI   ODF  PAE  行总和
0   None   None  NaN    0  None   40  None  210  None  None  None   250
1  inclu   None  NaN  NaN  1500  None  None   70  None  855  None  2425
2   None  inclu  NaN  NaN  None  None   60  None  None  None  None    60

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 08:06:28