【发布时间】:2021-07-14 04:28:07
【问题描述】:
我的项目的用例是显示每个作者的提交以及每天每个提交的大小。这就是我需要表示我的数据的方式
为此,我所做的是
timed_commits = commit_data.set_index('Date')
grouped = timed_commits.groupby(by=["Author"])
resampled = grouped.resample("D").agg(
{"SHA": "size", "Insertion": "sum", "Deletion": "sum"}
) # get the total count of commits in a day with total insertion and deletion
这给了我下面的输出
这里作者和日期是索引,而 SHA、插入和删除是列。 Author 和 Date 是索引的原因是我想知道每个作者每天的提交,同时我也想知道每个提交的大小(通过插入)
对于这样的对象,我无法以这种方式或任何其他方式格式化(最好有作者值和日期值的字段名称),这将支持在表格中显示,如我为它附上的图片
{
'author1': {
'2017-10-18': {'SHA': 1, 'Insertion': 1.0, 'Deletion': 3.0},
'2017-10-19': {'SHA': 2, 'Insertion': 1.0, 'Deletion': 3.0},
'2017-10-20': {'SHA': 6, 'Insertion': 1.0, 'Deletion': 3.0},
'2017-10-21': {'SHA': 9, 'Insertion': 1.0, 'Deletion': 3.0},
},
'author2': {
'2017-10-18': {'SHA': 3, 'Insertion': 8.0, 'Deletion': 3.0},
'2017-10-19': {'SHA': 19, 'Insertion': 10.0, 'Deletion': 3.0},
'2017-10-20': {'SHA': 23, 'Insertion': 1.0, 'Deletion': 3.0},
'2017-10-21': {'SHA': 44, 'Insertion': 1.0, 'Deletion': 3.0},
}
}
我玩过 to_dict,但没有让它可行。
这是数据帧(这里的提交哈希,即 sha 由于该特定提交中更改的文件数量而重复)。这是从 git 日志中获取的。
SHA Timestamp Date Author Insertion Deletion Churn File path
1 cae635054 Sat Jun 26 14:51:23 2021 -0400 2021-06-26 18:51:23+00:00 Andrew Clark 31.0 0.0 31.0 packages/react-reconciler/src/__tests__/ReactI...
2 cae635054 Sat Jun 26 14:51:23 2021 -0400 2021-06-26 18:51:23+00:00 Andrew Clark 1.0 1.0 0.0 packages/react-test-renderer/src/ReactTestRend...
3 cae635054 Sat Jun 26 14:51:23 2021 -0400 2021-06-26 18:51:23+00:00 Andrew Clark 24.0 14.0 10.0 packages/react/src/ReactAct.js
5 e2453e200 Fri Jun 25 15:39:46 2021 -0400 2021-06-25 19:39:46+00:00 Andrew Clark 50.0 0.0 50.0 packages/react-reconciler/src/__tests__/ReactI...
7 73ffce1b6 Thu Jun 24 22:42:44 2021 -0400 2021-06-25 02:42:44+00:00 Brian Vaughn 4.0 5.0 -1.0 packages/react-devtools-shared/src/__tests__/F...
8 73ffce1b6 Thu Jun 24 22:42:44 2021 -0400 2021-06-25 02:42:44+00:00 Brian Vaughn 4.0 4.0 0.0 packages/react-devtools-shared/src/__tests__/c...
9 73ffce1b6 Thu Jun 24 22:42:44 2021 -0400 2021-06-25 02:42:44+00:00 Brian Vaughn 12.0 12.0 0.0 packages/react-devtools-shared/src/__tests__/c...
10 73ffce1b6 Thu Jun 24 22:42:44 2021 -0400 2021-06-25 02:42:44+00:00 Brian Vaughn 7.0 6.0 1.0 packages/react-devtools-shared/src/__tests__/e...
11 73ffce1b6 Thu Jun 24 22:42:44 2021 -0400 2021-06-25 02:42:44+00:00 Brian Vaughn 47.0 42.0 5.0 packages/react-devtools-shared/src/__tests__/i...
12 73ffce1b6 Thu Jun 24 22:42:44 2021 -0400 2021-06-25 02:42:44+00:00 Brian Vaughn 7.0 6.0 1.0 packages/react-devtools-shared/src/__tests__/o...
【问题讨论】:
-
您可以添加代码来创建示例 df 吗?使用
df.head().to_dict()。此外,检查 -> stackoverflow.com/questions/20109391/… -
你的意思是说
resampled.head().to_dict()就我而言? -
是的,使用您的数据框的名称。我猜是
commit_data -
已更新。让我知道这是否是预期的。
标签: python python-3.x pandas dataframe dictionary