我目前有一個看起來像這樣的數據框DATE ID CHANGE05-05-2020 333333 1005-05-2020 333334 205-05-2020 333335 805-06-2020 333333 -205-06-2020 333334 405-06-2020 333335 5我希望能夠按日期水平轉換該數據幀并按 ID 分隔為 DATE ID CHANGE ID CHANGE ID CHANGE05-05-2020 333333 10 333334 2 333335 8 05-06-2020 333333 -2 333334 4 333335 5 或者 DATE 333333_CHANGE 333334_CHANGE 333335_CHANGE05-05-2020 10 2 805-06-2020 -2 4 5 我認為你必須做某種事情df.groupby(),或者pd.concat()盡管閱讀它們的文檔也讓我感到困惑。
1 回答

holdtom
TA貢獻1805條經驗 獲得超10個贊
如果可能,output#2 更好,因為重復的列名可能會導致 output#1 中出現許多不同的問題。
對于輸出#2,使用.unstack()然后對多索引列進行一些清理以獲得更好的格式:
df = df.set_index(['DATE', 'ID']).unstack(1).add_suffix('_CHANGE')
df.columns = df.columns.droplevel()
df = df.reset_index()
df
Out[1]:
ID DATE 333333_CHANGE 333334_CHANGE 333335_CHANGE
0 05-05-2020 10 2 8
1 05-06-2020 -2 4 5
添加回答
舉報
0/150
提交
取消