[問題] Pandas一欄變多欄

作者: liquidbox (樹枝擺擺)   2020-06-04 08:31:45
想請教,我有一批財務資料,想要用Pandas調整原始的欄列
原始:
公司名稱 項目 年份 季度 數值
台積電 營收 2019 4 123
台積電 營收 2019 3 234
台積電 營收 2019 2 342
鴻海 淨利 2018 2 434
大立光 研發 2020 1 122
……
我想要改成如下的形式
公司名稱 項目 年份 Q1 Q2 Q3 Q4
台積電 營收 2019 342 234 123
鴻海 淨利 2018 434
大立光 研發 2020 122
我查了一下,
Pandas的DataFrame的.unstack()功能蠻接近,
.stack()則是相反的操作
但.unstack() 似乎是要用在很多level的表格上,
而我是想要把一欄拆成多欄
我會用Excel做到我要的工作,
但我想用Pandas來完成,
想請問有什麼DataFrame的函數可以做到的嗎?
謝謝
作者: rounders (望仔)   2020-06-04 10:12:00
先groupby呢?
作者: tcmbug (bug)   2020-06-04 10:19:00
手邊沒電腦,記得set_index() 設兩個column當index,就變multilevels ,再來接unstack或許可行
作者: sherees (ShaunTheSheep)   2020-06-04 13:01:00
pivot_table?
作者: aidansky0989 (alta)   2020-06-04 13:30:00
跟SQL一樣選groupby後面用pivot+sort values對季度設ascending, 兩張DataFrame合併
作者: cuteSquirrel (松鼠)   2020-06-04 16:08:00
可參考看看: https://bit.ly/3cvYcYM
作者: rounders (望仔)   2020-06-04 19:59:00
df.pivot_table('數值',index=['公司名稱','項目','年份'],columns='季度')

Links booklink

Contact Us: admin [ a t ] ucptt.com