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

Pandas处理多不同列名DataFrame 大于阈值x的数值减x实现问题

Pandas多DataFrame数值阈值处理方案

核心逻辑:无需匹配各DataFrame的列名,仅针对数值类型列做条件运算,非数值列自动保留原始内容,适配列名不固定的场景。

实现代码

1. 定义阈值和单表处理函数

import pandas as pd

# 设定阈值
x = 10000000000000

def process_single_df(df, threshold):
    # 自动筛选所有数值类型列,排除字符串、日期等非数值列
    numeric_cols = df.select_dtypes(include='number').columns
    # 数值列满足>阈值则减阈值,否则保留原值
    df[numeric_cols] = df[numeric_cols].where(df[numeric_cols] <= threshold, df[numeric_cols] - threshold)
    return df

2. 批量处理20个DataFrame

将所有待处理的DataFrame存入列表后批量调用处理函数即可:

# 示例:将20个DataFrame放入列表,可根据实际读入逻辑调整
df_list = [df1, df2, df3, ..., df20]
# 批量处理
processed_df_list = [process_single_df(df, x) for df in df_list]

效果验证

以给出的示例数据为例,处理后结果符合预期:

  • 第一个df中大于阈值的ID列数值会自动减去阈值,Name、DOB列保持不变
  • 第二个df中大于阈值的Office列数值会自动减去阈值,Group、OrderNum列保持不变
    所有小于阈值的数值、非数值列均不会被修改。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 13:24:03