Technical Requirement AB311: „...um die Standardisierung hin zu JavaEE 8 vorzunehmen, soll die Datenbankzugriffstechnologie JPA statt JDBC genutzt werden.“
JPA: Java Persistence API (neuere Zugriffsmöglichkeit auf eine Datenbank)</sup>
JDBC: Java Database Connectivity (klassische Zugriffsmöglichkeit auf Datenbank)</sup>
In [1]:
import pandas as pd
log = pd.read_csv("../dataset/git_log_refactoring.gz", parse_dates=[3])
log.head()
Out[1]:
In [2]:
log['file'][0]
Out[2]:
Mit Hilfe eines regulären Ausdrucks können die beiden Datenbankzugriffstechnologien bestimmt werden. Alle sonstigen Dateien werden mittels dropna()
herausgefiltert.
In [3]:
log['tech'] = log['file'].str.extract("/(jpa|jdbc)/")
log = log.dropna()
log.head()
Out[3]:
In [4]:
log['lines'] = log['additions'] - log['deletions']
log.head()
Out[4]:
In [5]:
log_timed = log.groupby(['timestamp', 'tech']).lines.sum()
log_timed.head()
Out[5]:
In [6]:
log_progress = log_timed.unstack().fillna(0).cumsum()
log_progress.head()
Out[6]:
In [7]:
progress_per_year = log_progress.groupby(log_progress.index.year).last()
progress_per_year.index.name = "year"
progress_per_year
Out[7]:
In [9]:
log_progress.plot(figsize=[15,8]);