[问题] 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