In [1]:
from ozapfdis import git
log = git.log_numstat_existing("../../../dropover/")
log.head()
Out[1]:
In [2]:
java_prod = log[log['file'].str.contains("backend/src/main/java/")].copy()
java_prod = java_prod[~java_prod['file'].str.contains("package-info.java")]
java_prod.head()
Out[2]:
In [3]:
author_knowledge = java_prod['author'].value_counts() / java_prod['author'].count()
author_knowledge
Out[3]:
In [4]:
author_knowledge.plot.pie();
Welcher Autor kennt sich wie gut in welchem Modul aus?
In [5]:
java_prod['module'] = java_prod['file'].str.split("/").str[6]
java_prod['commit'] = 1
java_prod.head()
Out[5]:
In [6]:
knowledge_per_module = java_prod.groupby(['module', 'author'])[['commit']].count()
knowledge_per_module['all'] = knowledge_per_module.groupby(['module'])['commit'].transform('sum')
knowledge_per_module['ratio'] = knowledge_per_module['commit'] / knowledge_per_module['all']
knowledge_per_module.head()
Out[6]:
In [7]:
knowledge_per_module.unstack()['ratio'].plot.bar(stacked=True);