作者liquidbox (树枝摆摆)
看板Python
标题[问题] Pandas一栏变多栏
时间Thu Jun 4 08:31:45 2020
想请教,我有一批财务资料,想要用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的函数可以做到的吗?
谢谢
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 61.220.69.237 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Python/M.1591230707.A.BB8.html
1F:推 rounders: 先groupby呢? 06/04 10:12
2F:→ tcmbug: 手边没电脑,记得set_index() 设两个column当index,就变m 06/04 10:19
3F:→ tcmbug: ultilevels ,再来接unstack或许可行 06/04 10:19
4F:推 sherees: pivot_table? 06/04 13:01
5F:推 aidansky0989: 跟SQL一样选groupby 06/04 13:30
6F:→ aidansky0989: 後面用pivot+sort values对季度设ascending, 两张Da 06/04 13:40
7F:→ aidansky0989: taFrame合并 06/04 13:40
谢谢大家,收获良多,
下午我也另外去stackoverflow查了一轮,
虽然有查到方法,但不是那麽容易想到的典型操作
上述这些方法我都会去试,因为刚看完书,跟实战距离太大,需要更多方向的练习
※ 编辑: liquidbox (114.37.184.130 台湾), 06/04/2020 19:54:12
9F:推 rounders: df.pivot_table('数值',index=['公司名称','项目', 06/04 19:59
10F:→ rounders: '年份'],columns='季度') 06/04 19:59