In [7]:
import pandas as pd
git_log = pd.read_csv(
"../../../spring-petclinic/git_knowledge.log",
names=['additions', 'deletions', 'filename', 'author'],
sep='\t')
git_log['author'] = git_log['author'].ffill()
git_log = git_log.dropna()
git_log.head()
Out[7]:
additions
deletions
filename
author
1
2
3
pom.xml
Dave Syer
3
1
1
readme.md
Antoine Rey
5
1
0
pom.xml
Antoine Rey
7
1
1
pom.xml
Stephane Nicoll
8
11
9
src/main/java/org/springframework/samples/petc...
Stephane Nicoll
In [30]:
git_log[git_log['filename'] == ".classpath"]
Out[30]:
additions
deletions
filename
author
4185
0
32
.classpath
Michael Isvy
4501
0
5
.classpath
Michael Isvy
4669
28
6
.classpath
Michael Isvy
4776
2
2
.classpath
Rossen Stoyanchev
4859
8
36
.classpath
Keith Donald
5094
43
0
.classpath
Costin Leau
In [40]:
git_log[git_log['filename'] == ".bowerrc"]
Out[40]:
additions
deletions
filename
author
362
0
3
.bowerrc
Dapeng
1888
1
1
.bowerrc
Antoine Rey
2971
3
0
.bowerrc
Faycal Ihabritane
In [53]:
pd.DataFrame.var?
In [90]:
git_log['aid'] = pd.factorize(git_log.author)[0]
gs = git_log.groupby('filename')['author']
# pd.DataFrame(gs.ndim() / gs.count())
gs.
Out[90]:
filename
.bowerrc 3
.classpath 6
.editorconfig 2
.gitignore 8
.mvn/wrapper/maven-wrapper.jar 1
.mvn/wrapper/maven-wrapper.properties 1
.project 5
.settings/.jsdtscope 3
.settings/com.springsource.server.ide.jdt.core.xml 2
.settings/org.eclipse.jdt.core.prefs 3
.settings/org.eclipse.jst.common.project.facet.core.prefs 2
.settings/org.eclipse.m2e.core.prefs 2
.settings/org.eclipse.m2e.wtp.prefs 2
.settings/org.eclipse.wst.common.component 5
.settings/org.eclipse.wst.common.project.facet.core.xml 3
.settings/org.eclipse.wst.jsdt.ui.superType.container 2
.settings/org.eclipse.wst.jsdt.ui.superType.name 2
.settings/org.eclipse.wst.validation.prefs 2
.settings/org.maven.ide.eclipse.prefs 2
.settings/org.springframework.ide.eclipse.beans.core.prefs 2
.settings/org.springframework.ide.eclipse.core.prefs 3
.springBeans 14
.travis.yml 2
README.md 2
authors.txt 2
bower.json 3
db/build.xml 2
db/dropTables.txt 2
db/emptyDB.txt 2
db/mysql/createDB.txt 2
..
src/test/java/org/springframework/samples/petclinic/vet/VetControllerTests.java 1
src/test/java/org/springframework/samples/petclinic/vet/VetTests.java 1
src/test/java/org/springframework/samples/petclinic/web/CrashControllerTests.java 6
src/test/java/org/springframework/samples/petclinic/web/OwnerControllerTests.java 9
src/test/java/org/springframework/samples/petclinic/web/PetControllerTests.java 9
src/test/java/org/springframework/samples/petclinic/web/PetTypeFormatterTests.java 2
src/test/java/org/springframework/samples/petclinic/web/VetControllerTest.java 2
src/test/java/org/springframework/samples/petclinic/web/VetControllerTests.java 15
src/test/java/org/springframework/samples/petclinic/web/VisitControllerTests.java 10
src/test/java/org/springframework/samples/petclinic/web/VisitsAtomViewTest.java 10
src/test/java/org/springframework/samples/petclinic/web/VisitsAtomViewTestWithContainer-config.xml 3
src/test/java/org/springframework/samples/petclinic/web/VisitsAtomViewWithContainerTest.java 3
src/test/java/org/springframework/samples/petclinic/web/VisitsViewTest-config.xml 3
src/test/java/org/springframework/samples/petclinic/web/VisitsViewTest.java 4
src/test/java/org/springframework/samples/petclinic/web/VisitsViewTests-config.xml 2
src/test/java/org/springframework/samples/petclinic/web/VisitsViewTests.java 5
src/test/jmeter/petclinic_test_plan.jmx 4
src/test/resources/log4j.xml 2
src/test/resources/logback-test.xml 3
src/test/resources/org/springframework/samples/petclinic/AbstractClinicTests-context.xml 5
src/test/resources/org/springframework/samples/petclinic/hibernate/HibernateClinicTests-context.xml 3
src/test/resources/org/springframework/samples/petclinic/jdbc/JdbcClinicTests-context.xml 2
src/test/resources/org/springframework/samples/petclinic/jdbc/SimpleJdbcClinicTests-context.xml 2
src/test/resources/org/springframework/samples/petclinic/jpa/applicationContext-entityManager.xml 3
src/test/resources/org/springframework/samples/petclinic/jpa/applicationContext-hibernateAdapter.xml 2
src/test/resources/org/springframework/samples/petclinic/jpa/applicationContext-jpaCommon.xml 5
src/test/resources/org/springframework/samples/petclinic/jpa/applicationContext-openJpaAdapter.xml 2
src/test/resources/org/springframework/samples/petclinic/jpa/applicationContext-toplinkAdapter.xml 2
src/test/resources/spring/mvc-test-config.xml 1
travis.yml 2
Name: author, Length: 1674, dtype: int64
In [70]:
git_log[git_log['filename'] == ".bowerrc"]
Out[70]:
additions
deletions
filename
author
aid
362
0
3
.bowerrc
Dapeng
7
1888
1
1
.bowerrc
Antoine Rey
1
2971
3
0
.bowerrc
Faycal Ihabritane
21
In [79]:
git_log[git_log['filename'] == ".editorconfig"]
Out[79]:
additions
deletions
filename
author
aid
3023
5
2
.editorconfig
Antoine Rey
1
3028
9
0
.editorconfig
Antoine Rey
1
In [42]:
git_log[git_log['filename'] == ".gitignore"]
Out[42]:
additions
deletions
filename
author
66
1
0
.gitignore
Dave Syer
358
2
0
.gitignore
Antoine Rey
1862
0
1
.gitignore
Patrick Crocker
1879
1
0
.gitignore
Antoine Rey
3440
2
1
.gitignore
Cyrille Le Clerc
3519
1
0
.gitignore
Michael Isvy
4186
1
0
.gitignore
Michael Isvy
4667
4
0
.gitignore
Michael Isvy
In [38]:
gb = git_log.groupby(['filename', 'author']).count()
gb.groupby(gb.index.get_level_values(0)).var()
Out[38]:
additions
deletions
filename
.bowerrc
0.000000
0.000000
.classpath
1.000000
1.000000
.editorconfig
NaN
NaN
.gitignore
0.800000
0.800000
.mvn/wrapper/maven-wrapper.jar
NaN
NaN
.mvn/wrapper/maven-wrapper.properties
NaN
NaN
.project
0.250000
0.250000
.settings/.jsdtscope
0.500000
0.500000
.settings/com.springsource.server.ide.jdt.core.xml
0.000000
0.000000
.settings/org.eclipse.jdt.core.prefs
0.500000
0.500000
.settings/org.eclipse.jst.common.project.facet.core.prefs
0.000000
0.000000
.settings/org.eclipse.m2e.core.prefs
NaN
NaN
.settings/org.eclipse.m2e.wtp.prefs
NaN
NaN
.settings/org.eclipse.wst.common.component
0.333333
0.333333
.settings/org.eclipse.wst.common.project.facet.core.xml
0.500000
0.500000
.settings/org.eclipse.wst.jsdt.ui.superType.container
0.000000
0.000000
.settings/org.eclipse.wst.jsdt.ui.superType.name
0.000000
0.000000
.settings/org.eclipse.wst.validation.prefs
0.000000
0.000000
.settings/org.maven.ide.eclipse.prefs
0.000000
0.000000
.settings/org.springframework.ide.eclipse.beans.core.prefs
0.000000
0.000000
.settings/org.springframework.ide.eclipse.core.prefs
0.500000
0.500000
.springBeans
50.000000
50.000000
.travis.yml
0.000000
0.000000
README.md
NaN
NaN
authors.txt
NaN
NaN
bower.json
0.000000
0.000000
db/build.xml
NaN
NaN
db/dropTables.txt
NaN
NaN
db/emptyDB.txt
NaN
NaN
db/mysql/createDB.txt
NaN
NaN
...
...
...
src/test/java/org/springframework/samples/petclinic/vet/VetControllerTests.java
NaN
NaN
src/test/java/org/springframework/samples/petclinic/vet/VetTests.java
NaN
NaN
src/test/java/org/springframework/samples/petclinic/web/CrashControllerTests.java
3.000000
3.000000
src/test/java/org/springframework/samples/petclinic/web/OwnerControllerTests.java
12.000000
12.000000
src/test/java/org/springframework/samples/petclinic/web/PetControllerTests.java
12.000000
12.000000
src/test/java/org/springframework/samples/petclinic/web/PetTypeFormatterTests.java
0.000000
0.000000
src/test/java/org/springframework/samples/petclinic/web/VetControllerTest.java
NaN
NaN
src/test/java/org/springframework/samples/petclinic/web/VetControllerTests.java
20.000000
20.000000
src/test/java/org/springframework/samples/petclinic/web/VisitControllerTests.java
10.333333
10.333333
src/test/java/org/springframework/samples/petclinic/web/VisitsAtomViewTest.java
16.333333
16.333333
src/test/java/org/springframework/samples/petclinic/web/VisitsAtomViewTestWithContainer-config.xml
0.500000
0.500000
src/test/java/org/springframework/samples/petclinic/web/VisitsAtomViewWithContainerTest.java
0.500000
0.500000
src/test/java/org/springframework/samples/petclinic/web/VisitsViewTest-config.xml
NaN
NaN
src/test/java/org/springframework/samples/petclinic/web/VisitsViewTest.java
NaN
NaN
src/test/java/org/springframework/samples/petclinic/web/VisitsViewTests-config.xml
NaN
NaN
src/test/java/org/springframework/samples/petclinic/web/VisitsViewTests.java
NaN
NaN
src/test/jmeter/petclinic_test_plan.jmx
2.000000
2.000000
src/test/resources/log4j.xml
0.000000
0.000000
src/test/resources/logback-test.xml
0.500000
0.500000
src/test/resources/org/springframework/samples/petclinic/AbstractClinicTests-context.xml
0.250000
0.250000
src/test/resources/org/springframework/samples/petclinic/hibernate/HibernateClinicTests-context.xml
0.500000
0.500000
src/test/resources/org/springframework/samples/petclinic/jdbc/JdbcClinicTests-context.xml
NaN
NaN
src/test/resources/org/springframework/samples/petclinic/jdbc/SimpleJdbcClinicTests-context.xml
0.000000
0.000000
src/test/resources/org/springframework/samples/petclinic/jpa/applicationContext-entityManager.xml
0.500000
0.500000
src/test/resources/org/springframework/samples/petclinic/jpa/applicationContext-hibernateAdapter.xml
0.000000
0.000000
src/test/resources/org/springframework/samples/petclinic/jpa/applicationContext-jpaCommon.xml
0.250000
0.250000
src/test/resources/org/springframework/samples/petclinic/jpa/applicationContext-openJpaAdapter.xml
0.000000
0.000000
src/test/resources/org/springframework/samples/petclinic/jpa/applicationContext-toplinkAdapter.xml
0.000000
0.000000
src/test/resources/spring/mvc-test-config.xml
NaN
NaN
travis.yml
NaN
NaN
1674 rows × 2 columns
In [18]:
ownership = git_log.groupby(['filename', 'author']).count()
ownership.groupby(
[ownership.index.get_level_values(0)]).sum()
Out[18]:
additions
deletions
filename
.bowerrc
3
3
.classpath
6
6
.editorconfig
2
2
.gitignore
8
8
.mvn/wrapper/maven-wrapper.jar
1
1
.mvn/wrapper/maven-wrapper.properties
1
1
.project
5
5
.settings/.jsdtscope
3
3
.settings/com.springsource.server.ide.jdt.core.xml
2
2
.settings/org.eclipse.jdt.core.prefs
3
3
.settings/org.eclipse.jst.common.project.facet.core.prefs
2
2
.settings/org.eclipse.m2e.core.prefs
2
2
.settings/org.eclipse.m2e.wtp.prefs
2
2
.settings/org.eclipse.wst.common.component
5
5
.settings/org.eclipse.wst.common.project.facet.core.xml
3
3
.settings/org.eclipse.wst.jsdt.ui.superType.container
2
2
.settings/org.eclipse.wst.jsdt.ui.superType.name
2
2
.settings/org.eclipse.wst.validation.prefs
2
2
.settings/org.maven.ide.eclipse.prefs
2
2
.settings/org.springframework.ide.eclipse.beans.core.prefs
2
2
.settings/org.springframework.ide.eclipse.core.prefs
3
3
.springBeans
14
14
.travis.yml
2
2
README.md
2
2
authors.txt
2
2
bower.json
3
3
db/build.xml
2
2
db/dropTables.txt
2
2
db/emptyDB.txt
2
2
db/mysql/createDB.txt
2
2
...
...
...
src/test/java/org/springframework/samples/petclinic/vet/VetControllerTests.java
1
1
src/test/java/org/springframework/samples/petclinic/vet/VetTests.java
1
1
src/test/java/org/springframework/samples/petclinic/web/CrashControllerTests.java
6
6
src/test/java/org/springframework/samples/petclinic/web/OwnerControllerTests.java
9
9
src/test/java/org/springframework/samples/petclinic/web/PetControllerTests.java
9
9
src/test/java/org/springframework/samples/petclinic/web/PetTypeFormatterTests.java
2
2
src/test/java/org/springframework/samples/petclinic/web/VetControllerTest.java
2
2
src/test/java/org/springframework/samples/petclinic/web/VetControllerTests.java
15
15
src/test/java/org/springframework/samples/petclinic/web/VisitControllerTests.java
10
10
src/test/java/org/springframework/samples/petclinic/web/VisitsAtomViewTest.java
10
10
src/test/java/org/springframework/samples/petclinic/web/VisitsAtomViewTestWithContainer-config.xml
3
3
src/test/java/org/springframework/samples/petclinic/web/VisitsAtomViewWithContainerTest.java
3
3
src/test/java/org/springframework/samples/petclinic/web/VisitsViewTest-config.xml
3
3
src/test/java/org/springframework/samples/petclinic/web/VisitsViewTest.java
4
4
src/test/java/org/springframework/samples/petclinic/web/VisitsViewTests-config.xml
2
2
src/test/java/org/springframework/samples/petclinic/web/VisitsViewTests.java
5
5
src/test/jmeter/petclinic_test_plan.jmx
4
4
src/test/resources/log4j.xml
2
2
src/test/resources/logback-test.xml
3
3
src/test/resources/org/springframework/samples/petclinic/AbstractClinicTests-context.xml
5
5
src/test/resources/org/springframework/samples/petclinic/hibernate/HibernateClinicTests-context.xml
3
3
src/test/resources/org/springframework/samples/petclinic/jdbc/JdbcClinicTests-context.xml
2
2
src/test/resources/org/springframework/samples/petclinic/jdbc/SimpleJdbcClinicTests-context.xml
2
2
src/test/resources/org/springframework/samples/petclinic/jpa/applicationContext-entityManager.xml
3
3
src/test/resources/org/springframework/samples/petclinic/jpa/applicationContext-hibernateAdapter.xml
2
2
src/test/resources/org/springframework/samples/petclinic/jpa/applicationContext-jpaCommon.xml
5
5
src/test/resources/org/springframework/samples/petclinic/jpa/applicationContext-openJpaAdapter.xml
2
2
src/test/resources/org/springframework/samples/petclinic/jpa/applicationContext-toplinkAdapter.xml
2
2
src/test/resources/spring/mvc-test-config.xml
1
1
travis.yml
2
2
1674 rows × 2 columns
Content source: feststelltaste/software-analytics
Similar notebooks: