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

如何提取Python pandas DataFrame单列内的分组信息生成单独分组列

实现代码

import pandas as pd

# 初始DataFrame,对应你读取Excel得到的结构
df = pd.DataFrame({'Accessory Description':['GROUP1','item1', 'item2','item3','item4','item5','GROUP2','item6','item7','item8'
                                   ,'item9','item10','GROUP3','item11','item12','item13','item14','item15']})

# 生成Group列:仅保留GROUP开头的分组名,其余值置空后向前填充
df['Group'] = df['Accessory Description'].where(df['Accessory Description'].str.startswith('GROUP')).ffill()
# 调整分组名格式为要求的Group1样式
df['Group'] = df['Group'].str.replace('GROUP', 'Group')
# 过滤掉原始分组行,调整列顺序后重置索引
result = df[~df['Accessory Description'].str.startswith('GROUP')][['Group', 'Accessory Description']].reset_index(drop=True)

逻辑说明

  • where方法会把不符合「GROUP开头」条件的行取值设为NaN,仅保留分组行的分组名称
  • ffill()向前填充会让所有item行自动匹配到离自己最近的上层分组名称
  • 最后过滤掉原始的分组行、调整列顺序重置索引,即可得到你需要的目标结构

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 00:48:02