pandas - 枢轴/交叉表/取消堆叠数据框
问题描述
有必要将以下数据分解为数据透视表,而无需进行聚合。鉴于规范化,我正在尝试创建一个旋转数据的表,以便我可以分析每个事件编号的时间。
这是数据框:
|incident|status|time|unit_num|
|123|dispatch|1/19/2019 09:04:59|ambulance1|
|123|enroute|1/19/2019 09:06:59|ambulance1|
|123|onscene|1/19/2019 09:14:59|ambulance1|
|123|available|1/19/2019 09:24:59|ambulance1|
|123|dispatch|1/19/2019 09:04:59|ambulance2|
|123|enroute|1/19/2019 09:08:59|ambulance2|
|123|onscene|1/19/2019 09:13:59|ambulance2|
|123|available|1/19/2019 09:34:59|ambulance2|
我试图通过枢轴/取消堆叠来完成的是以下布局,它没有产生预期的结果
Incident | Unit | Dispatch | Enroute | Onscene | Available
123 | ambulance1 | associated times
123 | ambulance2 | associated times
任何帮助将不胜感激
谢谢你。
解决方案
IIUC,你可以试试:
df = (
df.pivot_table(
index=['incident', 'unit_num'],
columns='status',
values='time',
aggfunc=''.join)
# .add_suffix('_time')
.rename_axis(columns=None)
.reset_index()
)
输出:
incident unit_num available dispatch \
0 123 ambulance1 1/19/2019 09:24:59 1/19/2019 09:04:59
1 123 ambulance2 1/19/2019 09:34:59 1/19/2019 09:04:59
enroute onscene
0 1/19/2019 09:06:59 1/19/2019 09:14:59
1 1/19/2019 09:08:59 1/19/2019 09:13:59
推荐阅读
- uwp - 卸载 UWP 应用后如何删除桌面快捷方式
- php - 从第 1 页重定向到第 2 页时,显示第 2 页加载而不是第 1 页加载
- ios - 如何更改小部件中心“添加小部件”按钮的颜色
- python - 在 Opencv、Pillow 中应用透明蒙版时图像颜色发生变化
- java - 如何在没有内存分配的情况下遍历 ArrayBlockingQueue(GC 延迟)
- c# - 拆分包含多个值的字符串
- microsoft-graph-api - 分发和启用邮件的安全组在管理门户上不可见,并且无法通过图形 API 查询
- swift - 如何创建引用外部文件中样本的 CMSampleBuffer?
- python - 在由 numpy 数组创建的曲线中查找弧长
- reactjs - 使用 Electron showOpenDialog 过滤器允许输入用户 *.* 过滤器失败