python - 如何将一个数据框拆分为两个数据框

标签 python pandas

我有一个如下所示的数据框。我想将此数据框拆分为两个数据框,因为它们是不同的报告。我想在“中断”索引上进行拆分。

                                            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/

相关文章:

python - 在不阻塞执行的情况下绘制线条

python - 如何使用 Pandas 在 Python 中实现快速拼写检查器?

python - 优化两个 Pandas Dataframe 之间的笛卡尔积

python - 根据包含条件屏蔽 Pandas DataFrame

python - 创建小时列表的干净方式

python - 如何检查numpy矩阵的列中的所有值是否相同?

Python正则表达式重复十进制数字序列后跟空格

python - 如果任务之间的数据流很大,那么使用 dask 多处理调度程序最有效的方法是什么?

python - 长/宽数据到宽/长

python - 计算类别所占的百分比