groupby()Pandas之后将多索引转换为单索引

时间:2019-07-18 16:27:44

标签: python pandas

这个问题可能是一些功能的捆绑。我在重命名多个索引并转换为简单索引时遇到麻烦。

让我们说我有以下DF

Customer      Date               Amount
John          10-10-2016         100,00
Mark          12-10-2016         50,00
John          13_10_2016         200,00

如果我应用以下代码:

aggregation = {'Amount':{
                'total' : 'sum'},
                'Date':{
                 'first_purchase' :'min',
                 'last_purchase' : 'max'}
               }
 df_final = df.groupby('Customer').agg(aggregation).reset_index()

我得到的结果是:

  Customer     Amount           Date
               total            first_purchase    last_purchase 
  John         300,00            10-10-2016       13-10_2016
  Mark         50,00             12-10-2016       12-10-2016

问题是,稍后我将使用此数据框与其他数据合并,而multiindex对我不利。我想将其转换为单个索引以具有如下所示的数据框:

      Customer     total            first_purchase    last_purchase 
      John         300,00            10-10-2016       13-10_2016
      Mark         50,00             12-10-2016       12-10-2016

我已经尝试了一些unstack并将索引重置为0级,但是它不起作用。有人可以帮我吗?很抱歉,如果这是一个重复的问题,但经过多次尝试,到目前为止我还没有找到答案。

tks

1 个答案:

答案 0 :(得分:0)

我们可以使用droplevel

df_final.columns=df_final.columns.droplevel(0)
df_final.reset_index(inplace=True)