python - 如何使用熊猫按月和总小时制作数据透视表?
问题描述
我正在尝试制作一个数据透视表来显示按月分隔的工作时间总和。我成功地制作了一个数据透视表,但我也一直在试图弄清楚如何在一个月内分开。
这将被导出到一个 excel 文件中,该文件提供给客户,以显示我们在 x 个月内做了多少工作,并表明我们正在履行我们为他们提供多少 x 小时工作的协议。
我正在使用 python pandas 来存放我的数据。这是我尝试获取数据透视表。
这是我目前正在使用的代码:
pivot = WorkTypeT.pivot_table(index=['Agreement','work_type'], values=['MONTH','hours_actual'], aggfunc=['sum'])
这是表格:
Agreement work_type hours_actual MONTH
0 Proactive Client Management 5.25 May
0 Proactive Managed Services 2.25 May
0 Proactive Onsite 15.50 May
0 Proactive Remote 9.25 May
0 Proactive Client Management 5.00 June
0 Proactive Managed Services 2.25 June
0 Proactive Onsite 15.00 June
0 Proactive Remote 9.25 June
输出当前的样子
sum
hours_actual
Agreement work_type
Proactive Client Management 10.25
Managed Services 4.50
Onsite 30.50
Remote 18.50
如何更改它以使当前输出看起来像或类似于
MONTH
hours_actual
May June
Agreement work_type
Proactive Client Management 5.25 5.00
Managed Services 2.25 2.25
Onsite 15.50 15.00
Remote 9.25 9.25
解决方案
pivot_table 可以给出结果
https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.pivot_table.html
pd.pivot_table(df, values='hours_actual', index=['Agreement', 'work_type'], columns=['MONTH'], aggfunc=np.sum, fill_value=0)
MONTH June May
Agreement work_type
Proactive Client Management 5.00 5.25
Managed Services 2.25 2.25
Onsite 15.00 15.50
Remote 9.25 9.25
推荐阅读
- javascript - .innerHTML(使用 Ajax)未在网页中显示结果
- gitignore - 忽略名称中带有通配符的文件
- authentication - 是否已经为 WSO2 身份服务器中列出的服务提供者内置了 SSO 功能?
- ios - 如何在同一个颤振项目中将第三方/本地框架与颤振依赖项一起添加
- python - Makefile 使用 Python 编译单个文件
- javascript - 是否可以将 SVG 资产作为 UI 动画的序列导入?
- node.js - Cypress 中的外部异步函数
- graph - 如何在gnuplot中并排绘制两个带有误差线的文件?
- c# - Unity Final VR IK(资产)将人锁定在坐姿
- ruby - 如何表示空哈希