pandas行轉(zhuǎn)列(unstack)

import pandas as pd

dict_df={'user_id': {0: 10001,
  1: 10001,
  2: 10001,
  3: 10001,
  4: 10002,
  5: 10002,
  6: 10002,
  7: 10002,
  8: 10003,
  9: 10003,
  10: 10003,
  11: 10003},
 'model': {0: 'eat',
  1: 'work',
  2: 'walk',
  3: 'sleep',
  4: 'eat',
  5: 'work',
  6: 'walk',
  7: 'sleep',
  8: 'eat',
  9: 'work',
  10: 'walk',
  11: 'sleep'},
 'hour': {0: 1.0,
  1: 10.0,
  2: 0.5,
  3: 7.0,
  4: 1.5,
  5: 9.0,
  6: 0.1,
  7: 1.2,
  8: 9.0,
  9: 1.0,
  10: 8.0,
  11: 9.0}}

df=pd.DataFrame(dict_df)

unstack()

df_tf=df.set_index(['user_id','model'])
df_tf=df_tf.unstack()
df_tf.reset_index(inplace=True)
df_tf
企業(yè)微信截圖_a4dfcbeb-6b6a-401d-9eed-e58d4cef16c7.png
此時columns是多層索引,繼續(xù)處理
企業(yè)微信截圖_e788f6a7-58c1-4c9e-804b-1c2d3c97aacd.png
#刪除0層索引
df_tf.columns=df_tf.columns.droplevel(0) 
df_tf.rename(columns={'':'user_id'},inplace=True) 
df_tf      
企業(yè)微信截圖_dbd34074-8058-4012-a6ba-8c9b4cc6b13c.png
#強制更改列名(注意順序?。?!)
df_tf.columns=['user_id','eat', 'sleep', 'walk', 'work']
df_tf
企業(yè)微信截圖_9ddb95c8-8265-4a75-b6d9-cd78dad12f79.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。
禁止轉(zhuǎn)載,如需轉(zhuǎn)載請通過簡信或評論聯(lián)系作者。

友情鏈接更多精彩內(nèi)容