我正在收集一些关于对我的组织的存储库的贡献的统计数据。最后的数据帧如下所示:
repository developer commits adds deletes first_commit_week last_commit_week
repo1 dev1 1 57 12 2021-01-10 2021-01-10
repo1 dev2 5 71 58 2020-08-23 2020-09-27
repo1 dev3 10 107 16 2020-08-09 2020-10-18
repo2 dev1 25 712 1184 2020-06-28 2020-12-13
repo2 dev3 51 1141 236 2021-01-10 2021-05-09
repo2 dev4 4 9 7 2021-01-10 2021-05-09
repo2 dev5 10 121 242 2020-08-09 2021-02-07
repo2 dev6 75 4319 8881 2020-07-19 2021-04-25
repo3 dev1 21 3008 6391 2019-09-08 2021-05-09
repo3 dev3 5 51 70 2019-09-08 2021-04-25
repo3 dev6 1 14 1 2020-06-28 2020-06-28
之后,我将数据帧分组并按如下方式打印:
df_groupby_repository_developer = stats_df.groupby(["repository", "developer"])
print(df_groupby_repository_developer.sum().to_string())
这导致了这个输出
commits adds deletes
repository developer
repo1 dev1 1 57 12
dev2 5 71 58
dev3 10 107 16
repo2 dev1 25 712 1184
dev3 51 1141 236
dev4 4 9 7
dev5 10 121 242
dev6 75 4319 8881
repo3 dev1 21 3008 6391
dev3 5 51 70
dev6 1 14 1
有了这个,我有了一个很好的视觉输出。它很好地显示了这些组,没有任何额外的存储库名称。但是,它会丢失两个日期字段
我意识到这是由于sum()
,但我希望groupby
具有良好的视觉输出,但也具有原始数据帧中的第一个和最后一个提交日期。我怎样才能做到这一点
有没有更好的方法来实现这一点groupby
感觉这样做是错误的,因为我已经用它走了这么远
输出
您的数据从来没有超过一对(repo、dev),所以我想知道您是否真的想做
sum
,或者您只是因为groupby
需要一个聚合函数才使用它。如果您真的不需要sum
,那么您可以使用标识函数作为聚合函数,这适用于所有列,包括日期:相关问题 更多 >
编程相关推荐