簡體   English   中英

如何在展平后重命名列名

[英]How to rename the column names post flattening

這是

    Date      Group   Value   Duration
2018-01-01      A      20       30
2018-02-01      A      10       60
2018-03-01      A      25       88    
2018-01-01      B      15      180
2018-02-01      B      30      210
2018-03-01      B      25      238    

我要pivot上面的df

我的方法:

 df_pivot = dealer_f.pivot_table(index='Group',columns='Date',fill_value=0)
 df_pivot.columns = dealer_f_pivot.columns.map('_'.join)
 ff_pivot = dealer_f_pivot.reset_index()

我收到一個錯誤TypeError: sequence item 1: expected str instance, int found

如果我只是按照reset_index然后我得到的列名稱為('Value',2018-01-01),('Value',2018-02-10)等。

我想展平列,以便我的flatten如下所示

df_pivot.columns.tolist()
['2018-01-01_Value','2018-02-01_Value',.....'2018-01-01_Duration',...]

有什么線索嗎? 或者我在哪里失蹤?

采用:

 df_pivot.columns = [f'{b}_{a}' for a, b in df_pivot.columns]

要么:

df_pivot.columns = [f'{b.strftime("%Y-%m-%d")}_{a}' for a, b in df_pivot.columns]
df_pivot = df_pivot.reset_index()
print (df_pivot)
  Group  2018-01-01_Duration  2018-02-01_Duration  2018-03-01_Duration  \
0     A                   30                   60                   88   
1     B                  180                  210                  238   

   2018-01-01_Value  2018-02-01_Value  2018-03-01_Value  
0                20                10                25  
1                15                30                25  

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM