Skip to main content
 首页 » 编程设计

python之删除多索引和自动重命名列

2025年05月04日10dyllove98

我想将下面的输出转换成:

  • 去掉多索引(应该只有一行索引)

  • 相应地编号作业 1、作业生效日期 1、作业 2、作业生效日期 2 等。

  • 如果我选择添加或删除额外的变量,我希望它是可扩展的,我希望不必修改代码来适应它(这是按比例缩小的示例)。

一些数据:

import pandas as pd 
import numpy as np 
 
data1 = {'Name': ["Joe", "Joe", "Joe","Jane","Jane"], 
        'Job': ["Analyst","Manager","Director","Analyst","Manager"], 
        'Job Eff Date': ["1/1/2015","1/1/2016","7/1/2016","1/1/2015","1/1/2016"]} 
df2 = pd.DataFrame(data1, columns=['Name', 'Job', 'Job Eff Date']) 
 
def tgrp(df): 
    df = df.drop('Name', axis=1) 
    return df.reset_index(drop=True).T 
 
df2.groupby('Name').apply(tgrp).unstack() 

请您参考如下方法:

尝试:

df3.columns = ['{} {}'.format(col[1], col[0]) for col in df3.columns] 

如果您接受基于 0 的索引。否则更改为 col[0] + 1