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

基于列名前缀动态分组Pandas列的实现方案咨询

Pandas按列名前缀分组实现方案

以下方案适配动态分组长度的场景,无需依赖固定列间隔即可完成按前缀分组:

前置依赖

确保已导入pandas库:

import pandas as pd

实现方式1:按固定长度前缀分组(适配首字符分组需求)

如果分组键为列名前N位固定长度的字符,直接对列名字符串切片作为分组键即可:

# 示例中取列名前1位作为分组键,可根据需求修改[:n]中的n值调整前缀长度
grouped = df.groupby(df.columns.str[:1], axis=1)

# 查看分组结果
for group_name, group_df in grouped:
    print(f"分组{group_name}包含列:{group_df.columns.tolist()}")

# 分组后可直接执行聚合操作,例如按分组求每行列均值
group_result = grouped.mean(axis=1)

实现方式2:自定义规则匹配前缀(适配前缀长度不统一的复杂场景)

如果不同分组的前缀长度不一致,可自定义函数提取分组键:

# 自定义分组键提取函数,可根据实际业务规则修改
def extract_group_key(col_name):
    # 示例逻辑:提取列名开头的所有大写字母作为分组键
    import re
    return re.match(r'^[A-Z]+', col_name).group()

# 按自定义规则分组
grouped = df.groupby(extract_group_key, axis=1)

补充场景:单独提取指定前缀的列

如果只需单独提取某一特定前缀的列,可直接用startswith筛选:

# 提取所有以"A"开头的列
df_group_a = df[df.columns[df.columns.str.startswith('A')]]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 00:36:04