我想将下面的输出转换成:
去掉多索引(应该只有一行索引)
相应地编号作业 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
