python - 如何将一个数据框拆分为两个数据框
问题描述
我有一个如下所示的数据框。我想将此数据框拆分为两个数据框,因为它们是不同的报告。我想拆分'break'索引。
Fri Sat Sun Mon Tue
Metric Group Metric Type
Productive Time % Available 82.7% 88.9% 85.0% 82.8% 65.2%
Labor Move % Hours Lost 72.6% 70.9% 84.0% 49.0% 75.4%
Break % Failed Break 85.0% 50.5% 25.0% 72.9% 65.0%
Productive Time % Available 52.8% 90.9% 65.0% 56.9% 45.2%
Labor Move % Hours Lost 62.5% 80.9% 55.0% 65.9% 95.7%
Break % Failed Break 83.7% 85.9% 95.0% 71.9% 45.5%
输出应该看起来像。是否有可能实现这种类型的输出。感谢任何帮助
df1 = Fri Sat Sun Mon Tue
Metric Group Metric Type
Productive Time % Available 82.7% 88.9% 85.0% 82.8% 65.2%
Labor Move % Hours Lost 72.6% 70.9% 84.0% 49.0% 75.4%
Break % Failed Break 85.0% 50.5% 25.0% 72.9% 65.0%
df2=
Productive Time % Available 52.8% 90.9% 65.0% 56.9% 45.2%
Labor Move % Hours Lost 62.5% 80.9% 55.0% 65.9% 95.7%
Break % Failed Break 83.7% 85.9% 95.0% 71.9% 45.5%
解决方案
您可以通过cumcount
对索引使用来创建条件列。
这计算了我们将用来创建密钥的每个唯一变量。
dfs = {g : data for g,data in df.groupby(df.groupby(level=0).cumcount())}
print(dfs)
{0: Fri Sat Sun Mon Tue
Metric Group Metric Type
Productive Time % Available 82.7% 88.9% 85.0% 82.8% 65.2%
Labor Move % Hours Lost 72.6% 70.9% 84.0% 49.0% 75.4%
Break % Failed Break 85.0% 50.5% 25.0% 72.9% 65.0%,
1: Fri Sat Sun Mon Tue
Metric Group Metric Type
Productive Time % Available 52.8% 90.9% 65.0% 56.9% 45.2%
Labor Move % Hours Lost 62.5% 80.9% 55.0% 65.9% 95.7%
Break % Failed Break 83.7% 85.9% 95.0% 71.9% 45.5%}
print(dfs[0])
Fri Sat Sun Mon Tue
Metric Group Metric Type
Productive Time % Available 82.7% 88.9% 85.0% 82.8% 65.2%
Labor Move % Hours Lost 72.6% 70.9% 84.0% 49.0% 75.4%
Break % Failed Break 85.0% 50.5% 25.0% 72.9% 65.0%
推荐阅读
- php - Wordpress PHP错误标签换行和css样式?
- java - 在哪里可以找到并安装 org.osgi.framework 包?
- javascript - 如果代码进入 if 时钟而不是 else 块,则内部错误条件后的事件
- sql - 每秒将列从 excel 发送到 MSSQL 5 次
- excel - 将各种excel中的同名表合并为一张
- tableau-api - 如何在画面中比较当前和去年期间的 3 个度量
- c++ - 以二进制格式写入 vtk 文件
- python - 避免 for 循环创建数组
- javascript - TinyMCE 5:大写的自定义工具栏按钮
- chart.js - 更新通过 ajax 通过 PHP、MySQL 调用的图表数据