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

如何按TITLE列值拆分包含4个不同长度子块的Pandas DataFrame

解决方案

核心使用Pandas的groupby方法实现,无需提前预设子块长度、也无需适配不同表的结构差异,只要待处理表格包含TITLE列即可通用。


基础实现代码

首先导入Pandas库:

import pandas as pd

假设你已经读取目标DataFrame为df,执行以下操作即可完成拆分:

# 按TITLE列分组,生成各子DataFrame字典
split_result = {title_val: sub_df.reset_index(drop=True) 
                for title_val, sub_df in df.groupby("TITLE")}

拆分后得到的split_result是字典结构,键为TITLE列的各个取值,值为该取值对应的子DataFrame,你可以直接通过键名取用对应子表,例如split_result["目标TITLE取值"]。


多表批量处理封装

如果需要处理多张表,可以直接封装为通用函数,批量调用即可:

def split_table_by_title(input_df):
    # 可选:过滤掉TITLE列为空的无效行
    cleaned_df = input_df.dropna(subset=["TITLE"])
    return {
        title_val: sub_df.reset_index(drop=True) 
        for title_val, sub_df in cleaned_df.groupby("TITLE")
    }

# 批量处理示例
# 假设所有待处理的表存在列表df_list中
processed_list = [split_table_by_title(df) for df in df_list]

该方法完全不限制每个TITLE对应的子块长度,也不需要提前知道TITLE的取值数量,适配所有符合要求的表格。


可选优化:处理TITLE列格式问题

如果你的数据里TITLE列存在前后空格、大小写不一致的情况,可以先做格式化预处理,避免拆分出现冗余分组:

# 去除首尾空格+统一转为小写(可根据实际需求调整格式化规则)
df["TITLE"] = df["TITLE"].str.strip().str.lower()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 15:54:02