查找多模式并合并:实现Pandas DataFrame字段拆分与重组需求
Pandas数据拆分、透视合并操作实现
处理步骤如下:
- 拆分
IdB字段,按下划线分割为前缀、时间标识、后缀三个部分 - 拼接前缀与后缀生成新的
IdB字段 - 以
IdA、新IdB作为分组维度,时间标识作为列后缀做透视转换,将对应Value值映射为Value25、Value60字段
完整可运行代码:
import pandas as pd # 构造示例输入数据 df = pd.DataFrame({ 'IdA': [123, 456, 123, 456], 'IdB': ['ABC_25_01', 'DEF_25_01', 'ABC_60_01', 'DEF_60_01'], 'Value': [1, 2, 3, 4] }) # 拆分IdB提取特征 df[['prefix', 'time_flag', 'suffix']] = df['IdB'].str.split('_', expand=True) # 生成新的合并后IdB df['IdB'] = df['prefix'] + '_' + df['suffix'] # 透视合并得到目标结果 res = df.pivot(index=['IdA', 'IdB'], columns='time_flag', values='Value')\ .reset_index()\ .rename(columns={'25': 'Value25', '60': 'Value60'}) res.columns.name = None print(res)
运行输出结果和要求的期望输出完全一致。
内容的提问来源于stack exchange,提问作者Martin
相关产品推荐
相关产品推荐

