我有一个如下所示的数据框。我想将此数据框拆分为两个数据框,因为它们是不同的报告。我想在“中断”索引上进行拆分。
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
创建条件列。
这对我们将用来创建 key 的每个唯一变量进行计数。
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%
关于python - 如何将一个数据框拆分为两个数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62717348/