首页 > 解决方案 > Python 使用 Groupby 和 Unpivot/pivot

问题描述

我尝试计算每个阶段的项目数量之后。我想让列用于不同的阶段,而行用于我们每年的每个月。现在我有一个数据框中的所有数据,我想使用 group-by 工具来计算每个状态每月的项目数量,如前所述。如果有人需要进一步解释,我可以回答问题。

标签: pythondataframepandas-groupby

解决方案


我不知道这是否正是您要寻找的,所以我说得很清楚,如果我没有明白您的意思,请告诉我,我可以轻松解决。

我认为您的数据框看起来像这样:

example_DF = pd.DataFrame({"stage_1":[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12], 
                           "stage_2":[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]})
example_DF.index.name = "month"
print(example_DF)

如果你想得到每个月每个阶段的总和,你只需这样做:

for stage in example_DF.columns:
    print("The stage is: ", status)
    for group_index, grouped_DF in example_DF.groupby([example_DF.index, stage]):
        print(grouped_DF)

但我很困惑,因为这只是数据框中的每个单元格/您使用的阶段和状态。如果我遗漏了什么,请告诉我!


推荐阅读