{ "cells": [ { "cell_type": "code", "execution_count": 105, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
entitymain-devaddedtotal-addedownership
0.bowerrcIHABRITANE340.75
1.classpathCostin Leau43810.53
2.editorconfigAntoine Rey14141.00
3.gitignoreMic6110.55
4.mvn/wrapper/maven-wrapper.jarpatrickcrocker000.00
\n", "
" ], "text/plain": [ " entity main-dev added total-added \\\n", "0 .bowerrc IHABRITANE 3 4 \n", "1 .classpath Costin Leau 43 81 \n", "2 .editorconfig Antoine Rey 14 14 \n", "3 .gitignore Mic 6 11 \n", "4 .mvn/wrapper/maven-wrapper.jar patrickcrocker 0 0 \n", "\n", " ownership \n", "0 0.75 \n", "1 0.53 \n", "2 1.00 \n", "3 0.55 \n", "4 0.00 " ] }, "execution_count": 105, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import pandas as pd\n", "main_devs = pd.read_csv(r'C:\\dev\\repos\\spring-petclinic\\main_dev.csv')\n", "main_devs.head()" ] }, { "cell_type": "code", "execution_count": 106, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "5" ] }, "execution_count": 106, "metadata": {}, "output_type": "execute_result" } ], "source": [ "initial_number_of_columns = len(main_devs.columns)\n", "initial_number_of_columns" ] }, { "cell_type": "code", "execution_count": 108, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
entitymain-devaddedtotal-addedownership012345678910
0.bowerrcIHABRITANE340.75.bowerrcNoneNoneNoneNoneNoneNoneNoneNoneNoneNone
1.classpathCostin Leau43810.53.classpathNoneNoneNoneNoneNoneNoneNoneNoneNoneNone
2.editorconfigAntoine Rey14141.00.editorconfigNoneNoneNoneNoneNoneNoneNoneNoneNoneNone
3.gitignoreMic6110.55.gitignoreNoneNoneNoneNoneNoneNoneNoneNoneNoneNone
4.mvn/wrapper/maven-wrapper.jarpatrickcrocker000.00.mvnwrappermaven-wrapper.jarNoneNoneNoneNoneNoneNoneNoneNone
\n", "
" ], "text/plain": [ " entity main-dev added total-added \\\n", "0 .bowerrc IHABRITANE 3 4 \n", "1 .classpath Costin Leau 43 81 \n", "2 .editorconfig Antoine Rey 14 14 \n", "3 .gitignore Mic 6 11 \n", "4 .mvn/wrapper/maven-wrapper.jar patrickcrocker 0 0 \n", "\n", " ownership 0 1 2 3 4 5 \\\n", "0 0.75 .bowerrc None None None None None \n", "1 0.53 .classpath None None None None None \n", "2 1.00 .editorconfig None None None None None \n", "3 0.55 .gitignore None None None None None \n", "4 0.00 .mvn wrapper maven-wrapper.jar None None None \n", "\n", " 6 7 8 9 10 \n", "0 None None None None None \n", "1 None None None None None \n", "2 None None None None None \n", "3 None None None None None \n", "4 None None None None None " ] }, "execution_count": 108, "metadata": {}, "output_type": "execute_result" } ], "source": [ "main_devs = main_devs.join(main_devs['entity'].str.split(\"/\", expand=True))\n", "main_devs.head()" ] }, { "cell_type": "code", "execution_count": 109, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]" ] }, "execution_count": 109, "metadata": {}, "output_type": "execute_result" } ], "source": [ "columns_to_group = list(range(0, len(main_devs.columns)-initial_number_of_columns))\n", "columns_to_group" ] }, { "cell_type": "code", "execution_count": 121, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
entitymain-devaddedtotal-addedownership
012345678910
.bowerrc.bowerrcIHABRITANE340.75
.classpath.classpathCostin Leau43810.53
.editorconfig.editorconfigAntoine Rey14141.00
.gitignore.gitignoreMic6110.55
.mvnwrappermaven-wrapper.jar.mvn/wrapper/maven-wrapper.jarpatrickcrocker000.00
\n", "
" ], "text/plain": [ " entity \\\n", "0 1 2 3 4 5 6 7 8 9 10 \n", ".bowerrc .bowerrc \n", ".classpath .classpath \n", ".editorconfig .editorconfig \n", ".gitignore .gitignore \n", ".mvn wrapper maven-wrapper.jar .mvn/wrapper/maven-wrapper.jar \n", "\n", " main-dev \\\n", "0 1 2 3 4 5 6 7 8 9 10 \n", ".bowerrc IHABRITANE \n", ".classpath Costin Leau \n", ".editorconfig Antoine Rey \n", ".gitignore Mic \n", ".mvn wrapper maven-wrapper.jar patrickcrocker \n", "\n", " added total-added \\\n", "0 1 2 3 4 5 6 7 8 9 10 \n", ".bowerrc 3 4 \n", ".classpath 43 81 \n", ".editorconfig 14 14 \n", ".gitignore 6 11 \n", ".mvn wrapper maven-wrapper.jar 0 0 \n", "\n", " ownership \n", "0 1 2 3 4 5 6 7 8 9 10 \n", ".bowerrc 0.75 \n", ".classpath 0.53 \n", ".editorconfig 1.00 \n", ".gitignore 0.55 \n", ".mvn wrapper maven-wrapper.jar 0.00 " ] }, "execution_count": 121, "metadata": {}, "output_type": "execute_result" } ], "source": [ "hierarchical_main_devs = main_devs.fillna(\"\").groupby(columns_to_group).first()\n", "hierarchical_main_devs.head()" ] }, { "cell_type": "code", "execution_count": 122, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
entitymain-devaddedtotal-addedownership
012345678910
.bowerrc.bowerrcIHABRITANE340.75
.classpath.classpathCostin Leau43810.53
.editorconfig.editorconfigAntoine Rey14141.00
.gitignore.gitignoreMic6110.55
.mvnwrappermaven-wrapper.jar.mvn/wrapper/maven-wrapper.jarpatrickcrocker000.00
maven-wrapper.properties.mvn/wrapper/maven-wrapper.propertiespatrickcrocker111.00
.project.projectCostin Leau36590.61
.settings.jsdtscope.settings/.jsdtscopeKeith Donald11130.85
com.springsource.server.ide.jdt.core.xml.settings/com.springsource.server.ide.jdt.core...Keith Donald221.00
org.eclipse.jdt.core.prefs.settings/org.eclipse.jdt.core.prefsKeith Donald12160.75
org.eclipse.jst.common.project.facet.core.prefs.settings/org.eclipse.jst.common.project.facet...Keith Donald331.00
org.eclipse.m2e.core.prefs.settings/org.eclipse.m2e.core.prefsMic441.00
org.eclipse.m2e.wtp.prefs.settings/org.eclipse.m2e.wtp.prefsMic221.00
org.eclipse.wst.common.component.settings/org.eclipse.wst.common.componentKeith Donald20380.53
org.eclipse.wst.common.project.facet.core.xml.settings/org.eclipse.wst.common.project.facet...Keith Donald7110.64
org.eclipse.wst.jsdt.ui.superType.container.settings/org.eclipse.wst.jsdt.ui.superType.co...Keith Donald111.00
org.eclipse.wst.jsdt.ui.superType.name.settings/org.eclipse.wst.jsdt.ui.superType.nameKeith Donald111.00
org.eclipse.wst.validation.prefs.settings/org.eclipse.wst.validation.prefsKeith Donald661.00
org.maven.ide.eclipse.prefs.settings/org.maven.ide.eclipse.prefsKeith Donald991.00
org.springframework.ide.eclipse.beans.core.prefs.settings/org.springframework.ide.eclipse.bean...Keith Donald331.00
org.springframework.ide.eclipse.core.prefs.settings/org.springframework.ide.eclipse.core...Keith Donald67800.84
.springBeans.springBeansMic47610.77
.travis.yml.travis.ymlAntoine Rey000.00
README.mdREADME.mdmichaelisvy441.00
authors.txtauthors.txtMic25251.00
bower.jsonbower.jsonIHABRITANE11130.85
dbbuild.xmldb/build.xmlCostin Leau85851.00
dropTables.txtdb/dropTables.txtCostin Leau771.00
emptyDB.txtdb/emptyDB.txtCostin Leau771.00
mysqlcreateDB.txtdb/mysql/createDB.txtCostin Leau331.00
................................................
srctestjavaorgspringframeworksamplespetclinic{ => repository}jpaJpaVisitRepositoryImplTests.javasrc/test/java/org/springframework/samples/petc...Mic221.00
springdatajpaJpaOwnerRepositoryImplTests.javasrc/test/java/org/springframework/samples/petc...Mic221.00
JpaPetRepositoryImplTests.javasrc/test/java/org/springframework/samples/petc...Mic221.00
JpaVetRepositoryImplTests.javasrc/test/java/org/springframework/samples/petc...Mic221.00
JpaVisitRepositoryImplTests.javasrc/test/java/org/springframework/samples/petc...Mic221.00
SpringDataOwnerRepositoryTests.javasrc/test/java/org/springframework/samples/petc...Mic221.00
{AbstractClinicTests.java => AbstractPetRepositoryTests.java}src/test/java/org/springframework/samples/petc...Mic24241.00
{jpaEntityManagerClinicTests.java => aspectsUsageLogAspectTests.java}src/test/java/org/springframework/samples/petc...Mic441.00
{jpa => springdatajpa}SpringDataOwnerRepositoryTests.javasrc/test/java/org/springframework/samples/petc...Mic111.00
{repositoryAbstractOwnerRepositoryTests.java => serviceAbstractClinicServiceTests.java}src/test/java/org/springframework/samples/petc...Mic91911.00
jdbcJdbcOwnerRepositoryImplTests.java => serviceClinicServiceJdbcTests.java}src/test/java/org/springframework/samples/petc...Mic221.00
jpaJpaOwnerRepositoryImplTests.java => serviceClinicServiceJpaTests.java}src/test/java/org/springframework/samples/petc...Mic221.00
springdatajpaSpringDataOwnerRepositoryTests.java => serviceClinicServiceSpringDataJpaTests.java}src/test/java/org/springframework/samples/petc...Mic221.00
jmeterpetclinic_test_plan.jmxsrc/test/jmeter/petclinic_test_plan.jmxAntoine Rey4354361.00
resourceslog4j.xmlsrc/test/resources/log4j.xmlCostin Leau28281.00
logback-test.xmlsrc/test/resources/logback-test.xmlGordon Dickens24241.00
orgspringframeworksamplespetclinicAbstractClinicTests-context.xmlsrc/test/resources/org/springframework/samples...Keith Donald24520.46
hibernateHibernateClinicTests-context.xmlsrc/test/resources/org/springframework/samples...Costin Leau32350.91
jdbcJdbcClinicTests-context.xmlsrc/test/resources/org/springframework/samples...Mic30301.00
SimpleJdbcClinicTests-context.xmlsrc/test/resources/org/springframework/samples...Costin Leau11111.00
jpaapplicationContext-entityManager.xmlsrc/test/resources/org/springframework/samples...Costin Leau16170.94
applicationContext-hibernateAdapter.xmlsrc/test/resources/org/springframework/samples...Costin Leau991.00
applicationContext-jpaCommon.xmlsrc/test/resources/org/springframework/samples...Costin Leau31620.50
applicationContext-openJpaAdapter.xmlsrc/test/resources/org/springframework/samples...Costin Leau991.00
applicationContext-toplinkAdapter.xmlsrc/test/resources/org/springframework/samples...Costin Leau991.00
travis.ymltravis.ymlmichaelisvy331.00
travis.yml => .travis.ymltravis.yml => .travis.ymlmichaelisvy000.00
{org.springframework.samples.petclinicsrcmainwebapp => srcmainwebappresources}imagesbanner-graphic.png{org.springframework.samples.petclinic/src/mai...Mic000.00
pets.png{org.springframework.samples.petclinic/src/mai...Mic000.00
springsource-logo.png{org.springframework.samples.petclinic/src/mai...Mic000.00
\n", "

1710 rows × 5 columns

\n", "
" ], "text/plain": [ " entity \\\n", "0 1 2 3 4 5 6 7 8 9 10 \n", ".bowerrc .bowerrc \n", ".classpath .classpath \n", ".editorconfig .editorconfig \n", ".gitignore .gitignore \n", ".mvn wrapper maven-wrapper.jar .mvn/wrapper/maven-wrapper.jar \n", " maven-wrapper.properties .mvn/wrapper/maven-wrapper.properties \n", ".project .project \n", ".settings .jsdtscope .settings/.jsdtscope \n", " com.springsource.server.ide.jdt.core.xml .settings/com.springsource.server.ide.jdt.core... \n", " org.eclipse.jdt.core.prefs .settings/org.eclipse.jdt.core.prefs \n", " org.eclipse.jst.common.project.facet.core.prefs .settings/org.eclipse.jst.common.project.facet... \n", " org.eclipse.m2e.core.prefs .settings/org.eclipse.m2e.core.prefs \n", " org.eclipse.m2e.wtp.prefs .settings/org.eclipse.m2e.wtp.prefs \n", " org.eclipse.wst.common.component .settings/org.eclipse.wst.common.component \n", " org.eclipse.wst.common.project.facet.core.xml .settings/org.eclipse.wst.common.project.facet... \n", " org.eclipse.wst.jsdt.ui.superType.container .settings/org.eclipse.wst.jsdt.ui.superType.co... \n", " org.eclipse.wst.jsdt.ui.superType.name .settings/org.eclipse.wst.jsdt.ui.superType.name \n", " org.eclipse.wst.validation.prefs .settings/org.eclipse.wst.validation.prefs \n", " org.maven.ide.eclipse.prefs .settings/org.maven.ide.eclipse.prefs \n", " org.springframework.ide.eclipse.beans.core.prefs .settings/org.springframework.ide.eclipse.bean... \n", " org.springframework.ide.eclipse.core.prefs .settings/org.springframework.ide.eclipse.core... \n", ".springBeans .springBeans \n", ".travis.yml .travis.yml \n", "README.md README.md \n", "authors.txt authors.txt \n", "bower.json bower.json \n", "db build.xml db/build.xml \n", " dropTables.txt db/dropTables.txt \n", " emptyDB.txt db/emptyDB.txt \n", " mysql createDB.txt db/mysql/createDB.txt \n", "... ... \n", "src test java org springframework samples petclinic { => repository} jpa JpaVisitRepositoryImplTests.java src/test/java/org/springframework/samples/petc... \n", " springdatajpa JpaOwnerRepositoryImplTests.java src/test/java/org/springframework/samples/petc... \n", " JpaPetRepositoryImplTests.java src/test/java/org/springframework/samples/petc... \n", " JpaVetRepositoryImplTests.java src/test/java/org/springframework/samples/petc... \n", " JpaVisitRepositoryImplTests.java src/test/java/org/springframework/samples/petc... \n", " SpringDataOwnerRepositoryTests.java src/test/java/org/springframework/samples/petc... \n", " {AbstractClinicTests.java => AbstractPetReposit... src/test/java/org/springframework/samples/petc... \n", " {jpa EntityManagerClinicTests.java => aspects UsageLogAspectTests.java} src/test/java/org/springframework/samples/petc... \n", " {jpa => springdatajpa} SpringDataOwnerRepositoryTests.java src/test/java/org/springframework/samples/petc... \n", " {repository AbstractOwnerRepositoryTests.java => service AbstractClinicServiceTests.java} src/test/java/org/springframework/samples/petc... \n", " jdbc JdbcOwnerRepositoryImplTests.java => service ClinicServiceJdbcTests.java} src/test/java/org/springframework/samples/petc... \n", " jpa JpaOwnerRepositoryImplTests.java => service ClinicServiceJpaTests.java} src/test/java/org/springframework/samples/petc... \n", " springdatajpa SpringDataOwnerRepositoryTests.java => service ClinicServiceSpringDataJpaTests.java} src/test/java/org/springframework/samples/petc... \n", " jmeter petclinic_test_plan.jmx src/test/jmeter/petclinic_test_plan.jmx \n", " resources log4j.xml src/test/resources/log4j.xml \n", " logback-test.xml src/test/resources/logback-test.xml \n", " org springframework samples petclinic AbstractClinicTests-context.xml src/test/resources/org/springframework/samples... \n", " hibernate HibernateClinicTests-context.xml src/test/resources/org/springframework/samples... \n", " jdbc JdbcClinicTests-context.xml src/test/resources/org/springframework/samples... \n", " SimpleJdbcClinicTests-context.xml src/test/resources/org/springframework/samples... \n", " jpa applicationContext-entityManager.xml src/test/resources/org/springframework/samples... \n", " applicationContext-hibernateAdapter.xml src/test/resources/org/springframework/samples... \n", " applicationContext-jpaCommon.xml src/test/resources/org/springframework/samples... \n", " applicationContext-openJpaAdapter.xml src/test/resources/org/springframework/samples... \n", " applicationContext-toplinkAdapter.xml src/test/resources/org/springframework/samples... \n", "travis.yml travis.yml \n", "travis.yml => .travis.yml travis.yml => .travis.yml \n", "{org.springframework.samples.petclinic src main webapp => src main webapp resources} images banner-graphic.png {org.springframework.samples.petclinic/src/mai... \n", " pets.png {org.springframework.samples.petclinic/src/mai... \n", " springsource-logo.png {org.springframework.samples.petclinic/src/mai... \n", "\n", " main-dev \\\n", "0 1 2 3 4 5 6 7 8 9 10 \n", ".bowerrc IHABRITANE \n", ".classpath Costin Leau \n", ".editorconfig Antoine Rey \n", ".gitignore Mic \n", ".mvn wrapper maven-wrapper.jar patrickcrocker \n", " maven-wrapper.properties patrickcrocker \n", ".project Costin Leau \n", ".settings .jsdtscope Keith Donald \n", " com.springsource.server.ide.jdt.core.xml Keith Donald \n", " org.eclipse.jdt.core.prefs Keith Donald \n", " org.eclipse.jst.common.project.facet.core.prefs Keith Donald \n", " org.eclipse.m2e.core.prefs Mic \n", " org.eclipse.m2e.wtp.prefs Mic \n", " org.eclipse.wst.common.component Keith Donald \n", " org.eclipse.wst.common.project.facet.core.xml Keith Donald \n", " org.eclipse.wst.jsdt.ui.superType.container Keith Donald \n", " org.eclipse.wst.jsdt.ui.superType.name Keith Donald \n", " org.eclipse.wst.validation.prefs Keith Donald \n", " org.maven.ide.eclipse.prefs Keith Donald \n", " org.springframework.ide.eclipse.beans.core.prefs Keith Donald \n", " org.springframework.ide.eclipse.core.prefs Keith Donald \n", ".springBeans Mic \n", ".travis.yml Antoine Rey \n", "README.md michaelisvy \n", "authors.txt Mic \n", "bower.json IHABRITANE \n", "db build.xml Costin Leau \n", " dropTables.txt Costin Leau \n", " emptyDB.txt Costin Leau \n", " mysql createDB.txt Costin Leau \n", "... ... \n", "src test java org springframework samples petclinic { => repository} jpa JpaVisitRepositoryImplTests.java Mic \n", " springdatajpa JpaOwnerRepositoryImplTests.java Mic \n", " JpaPetRepositoryImplTests.java Mic \n", " JpaVetRepositoryImplTests.java Mic \n", " JpaVisitRepositoryImplTests.java Mic \n", " SpringDataOwnerRepositoryTests.java Mic \n", " {AbstractClinicTests.java => AbstractPetReposit... Mic \n", " {jpa EntityManagerClinicTests.java => aspects UsageLogAspectTests.java} Mic \n", " {jpa => springdatajpa} SpringDataOwnerRepositoryTests.java Mic \n", " {repository AbstractOwnerRepositoryTests.java => service AbstractClinicServiceTests.java} Mic \n", " jdbc JdbcOwnerRepositoryImplTests.java => service ClinicServiceJdbcTests.java} Mic \n", " jpa JpaOwnerRepositoryImplTests.java => service ClinicServiceJpaTests.java} Mic \n", " springdatajpa SpringDataOwnerRepositoryTests.java => service ClinicServiceSpringDataJpaTests.java} Mic \n", " jmeter petclinic_test_plan.jmx Antoine Rey \n", " resources log4j.xml Costin Leau \n", " logback-test.xml Gordon Dickens \n", " org springframework samples petclinic AbstractClinicTests-context.xml Keith Donald \n", " hibernate HibernateClinicTests-context.xml Costin Leau \n", " jdbc JdbcClinicTests-context.xml Mic \n", " SimpleJdbcClinicTests-context.xml Costin Leau \n", " jpa applicationContext-entityManager.xml Costin Leau \n", " applicationContext-hibernateAdapter.xml Costin Leau \n", " applicationContext-jpaCommon.xml Costin Leau \n", " applicationContext-openJpaAdapter.xml Costin Leau \n", " applicationContext-toplinkAdapter.xml Costin Leau \n", "travis.yml michaelisvy \n", "travis.yml => .travis.yml michaelisvy \n", "{org.springframework.samples.petclinic src main webapp => src main webapp resources} images banner-graphic.png Mic \n", " pets.png Mic \n", " springsource-logo.png Mic \n", "\n", " added \\\n", "0 1 2 3 4 5 6 7 8 9 10 \n", ".bowerrc 3 \n", ".classpath 43 \n", ".editorconfig 14 \n", ".gitignore 6 \n", ".mvn wrapper maven-wrapper.jar 0 \n", " maven-wrapper.properties 1 \n", ".project 36 \n", ".settings .jsdtscope 11 \n", " com.springsource.server.ide.jdt.core.xml 2 \n", " org.eclipse.jdt.core.prefs 12 \n", " org.eclipse.jst.common.project.facet.core.prefs 3 \n", " org.eclipse.m2e.core.prefs 4 \n", " org.eclipse.m2e.wtp.prefs 2 \n", " org.eclipse.wst.common.component 20 \n", " org.eclipse.wst.common.project.facet.core.xml 7 \n", " org.eclipse.wst.jsdt.ui.superType.container 1 \n", " org.eclipse.wst.jsdt.ui.superType.name 1 \n", " org.eclipse.wst.validation.prefs 6 \n", " org.maven.ide.eclipse.prefs 9 \n", " org.springframework.ide.eclipse.beans.core.prefs 3 \n", " org.springframework.ide.eclipse.core.prefs 67 \n", ".springBeans 47 \n", ".travis.yml 0 \n", "README.md 4 \n", "authors.txt 25 \n", "bower.json 11 \n", "db build.xml 85 \n", " dropTables.txt 7 \n", " emptyDB.txt 7 \n", " mysql createDB.txt 3 \n", "... ... \n", "src test java org springframework samples petclinic { => repository} jpa JpaVisitRepositoryImplTests.java 2 \n", " springdatajpa JpaOwnerRepositoryImplTests.java 2 \n", " JpaPetRepositoryImplTests.java 2 \n", " JpaVetRepositoryImplTests.java 2 \n", " JpaVisitRepositoryImplTests.java 2 \n", " SpringDataOwnerRepositoryTests.java 2 \n", " {AbstractClinicTests.java => AbstractPetReposit... 24 \n", " {jpa EntityManagerClinicTests.java => aspects UsageLogAspectTests.java} 4 \n", " {jpa => springdatajpa} SpringDataOwnerRepositoryTests.java 1 \n", " {repository AbstractOwnerRepositoryTests.java => service AbstractClinicServiceTests.java} 91 \n", " jdbc JdbcOwnerRepositoryImplTests.java => service ClinicServiceJdbcTests.java} 2 \n", " jpa JpaOwnerRepositoryImplTests.java => service ClinicServiceJpaTests.java} 2 \n", " springdatajpa SpringDataOwnerRepositoryTests.java => service ClinicServiceSpringDataJpaTests.java} 2 \n", " jmeter petclinic_test_plan.jmx 435 \n", " resources log4j.xml 28 \n", " logback-test.xml 24 \n", " org springframework samples petclinic AbstractClinicTests-context.xml 24 \n", " hibernate HibernateClinicTests-context.xml 32 \n", " jdbc JdbcClinicTests-context.xml 30 \n", " SimpleJdbcClinicTests-context.xml 11 \n", " jpa applicationContext-entityManager.xml 16 \n", " applicationContext-hibernateAdapter.xml 9 \n", " applicationContext-jpaCommon.xml 31 \n", " applicationContext-openJpaAdapter.xml 9 \n", " applicationContext-toplinkAdapter.xml 9 \n", "travis.yml 3 \n", "travis.yml => .travis.yml 0 \n", "{org.springframework.samples.petclinic src main webapp => src main webapp resources} images banner-graphic.png 0 \n", " pets.png 0 \n", " springsource-logo.png 0 \n", "\n", " total-added \\\n", "0 1 2 3 4 5 6 7 8 9 10 \n", ".bowerrc 4 \n", ".classpath 81 \n", ".editorconfig 14 \n", ".gitignore 11 \n", ".mvn wrapper maven-wrapper.jar 0 \n", " maven-wrapper.properties 1 \n", ".project 59 \n", ".settings .jsdtscope 13 \n", " com.springsource.server.ide.jdt.core.xml 2 \n", " org.eclipse.jdt.core.prefs 16 \n", " org.eclipse.jst.common.project.facet.core.prefs 3 \n", " org.eclipse.m2e.core.prefs 4 \n", " org.eclipse.m2e.wtp.prefs 2 \n", " org.eclipse.wst.common.component 38 \n", " org.eclipse.wst.common.project.facet.core.xml 11 \n", " org.eclipse.wst.jsdt.ui.superType.container 1 \n", " org.eclipse.wst.jsdt.ui.superType.name 1 \n", " org.eclipse.wst.validation.prefs 6 \n", " org.maven.ide.eclipse.prefs 9 \n", " org.springframework.ide.eclipse.beans.core.prefs 3 \n", " org.springframework.ide.eclipse.core.prefs 80 \n", ".springBeans 61 \n", ".travis.yml 0 \n", "README.md 4 \n", "authors.txt 25 \n", "bower.json 13 \n", "db build.xml 85 \n", " dropTables.txt 7 \n", " emptyDB.txt 7 \n", " mysql createDB.txt 3 \n", "... ... \n", "src test java org springframework samples petclinic { => repository} jpa JpaVisitRepositoryImplTests.java 2 \n", " springdatajpa JpaOwnerRepositoryImplTests.java 2 \n", " JpaPetRepositoryImplTests.java 2 \n", " JpaVetRepositoryImplTests.java 2 \n", " JpaVisitRepositoryImplTests.java 2 \n", " SpringDataOwnerRepositoryTests.java 2 \n", " {AbstractClinicTests.java => AbstractPetReposit... 24 \n", " {jpa EntityManagerClinicTests.java => aspects UsageLogAspectTests.java} 4 \n", " {jpa => springdatajpa} SpringDataOwnerRepositoryTests.java 1 \n", " {repository AbstractOwnerRepositoryTests.java => service AbstractClinicServiceTests.java} 91 \n", " jdbc JdbcOwnerRepositoryImplTests.java => service ClinicServiceJdbcTests.java} 2 \n", " jpa JpaOwnerRepositoryImplTests.java => service ClinicServiceJpaTests.java} 2 \n", " springdatajpa SpringDataOwnerRepositoryTests.java => service ClinicServiceSpringDataJpaTests.java} 2 \n", " jmeter petclinic_test_plan.jmx 436 \n", " resources log4j.xml 28 \n", " logback-test.xml 24 \n", " org springframework samples petclinic AbstractClinicTests-context.xml 52 \n", " hibernate HibernateClinicTests-context.xml 35 \n", " jdbc JdbcClinicTests-context.xml 30 \n", " SimpleJdbcClinicTests-context.xml 11 \n", " jpa applicationContext-entityManager.xml 17 \n", " applicationContext-hibernateAdapter.xml 9 \n", " applicationContext-jpaCommon.xml 62 \n", " applicationContext-openJpaAdapter.xml 9 \n", " applicationContext-toplinkAdapter.xml 9 \n", "travis.yml 3 \n", "travis.yml => .travis.yml 0 \n", "{org.springframework.samples.petclinic src main webapp => src main webapp resources} images banner-graphic.png 0 \n", " pets.png 0 \n", " springsource-logo.png 0 \n", "\n", " ownership \n", "0 1 2 3 4 5 6 7 8 9 10 \n", ".bowerrc 0.75 \n", ".classpath 0.53 \n", ".editorconfig 1.00 \n", ".gitignore 0.55 \n", ".mvn wrapper maven-wrapper.jar 0.00 \n", " maven-wrapper.properties 1.00 \n", ".project 0.61 \n", ".settings .jsdtscope 0.85 \n", " com.springsource.server.ide.jdt.core.xml 1.00 \n", " org.eclipse.jdt.core.prefs 0.75 \n", " org.eclipse.jst.common.project.facet.core.prefs 1.00 \n", " org.eclipse.m2e.core.prefs 1.00 \n", " org.eclipse.m2e.wtp.prefs 1.00 \n", " org.eclipse.wst.common.component 0.53 \n", " org.eclipse.wst.common.project.facet.core.xml 0.64 \n", " org.eclipse.wst.jsdt.ui.superType.container 1.00 \n", " org.eclipse.wst.jsdt.ui.superType.name 1.00 \n", " org.eclipse.wst.validation.prefs 1.00 \n", " org.maven.ide.eclipse.prefs 1.00 \n", " org.springframework.ide.eclipse.beans.core.prefs 1.00 \n", " org.springframework.ide.eclipse.core.prefs 0.84 \n", ".springBeans 0.77 \n", ".travis.yml 0.00 \n", "README.md 1.00 \n", "authors.txt 1.00 \n", "bower.json 0.85 \n", "db build.xml 1.00 \n", " dropTables.txt 1.00 \n", " emptyDB.txt 1.00 \n", " mysql createDB.txt 1.00 \n", "... ... \n", "src test java org springframework samples petclinic { => repository} jpa JpaVisitRepositoryImplTests.java 1.00 \n", " springdatajpa JpaOwnerRepositoryImplTests.java 1.00 \n", " JpaPetRepositoryImplTests.java 1.00 \n", " JpaVetRepositoryImplTests.java 1.00 \n", " JpaVisitRepositoryImplTests.java 1.00 \n", " SpringDataOwnerRepositoryTests.java 1.00 \n", " {AbstractClinicTests.java => AbstractPetReposit... 1.00 \n", " {jpa EntityManagerClinicTests.java => aspects UsageLogAspectTests.java} 1.00 \n", " {jpa => springdatajpa} SpringDataOwnerRepositoryTests.java 1.00 \n", " {repository AbstractOwnerRepositoryTests.java => service AbstractClinicServiceTests.java} 1.00 \n", " jdbc JdbcOwnerRepositoryImplTests.java => service ClinicServiceJdbcTests.java} 1.00 \n", " jpa JpaOwnerRepositoryImplTests.java => service ClinicServiceJpaTests.java} 1.00 \n", " springdatajpa SpringDataOwnerRepositoryTests.java => service ClinicServiceSpringDataJpaTests.java} 1.00 \n", " jmeter petclinic_test_plan.jmx 1.00 \n", " resources log4j.xml 1.00 \n", " logback-test.xml 1.00 \n", " org springframework samples petclinic AbstractClinicTests-context.xml 0.46 \n", " hibernate HibernateClinicTests-context.xml 0.91 \n", " jdbc JdbcClinicTests-context.xml 1.00 \n", " SimpleJdbcClinicTests-context.xml 1.00 \n", " jpa applicationContext-entityManager.xml 0.94 \n", " applicationContext-hibernateAdapter.xml 1.00 \n", " applicationContext-jpaCommon.xml 0.50 \n", " applicationContext-openJpaAdapter.xml 1.00 \n", " applicationContext-toplinkAdapter.xml 1.00 \n", "travis.yml 1.00 \n", "travis.yml => .travis.yml 0.00 \n", "{org.springframework.samples.petclinic src main webapp => src main webapp resources} images banner-graphic.png 0.00 \n", " pets.png 0.00 \n", " springsource-logo.png 0.00 \n", "\n", "[1710 rows x 5 columns]" ] }, "execution_count": 122, "metadata": {}, "output_type": "execute_result" } ], "source": [ "hierarchical_main_devs = hierarchical_main_devs.replace(\"\", pd.np.nan)\n", "hierarchical_main_devs" ] }, { "cell_type": "code", "execution_count": 114, "metadata": { "collapsed": false }, "outputs": [], "source": [ "import pandas as pd\n", "import json\n", "\n", "\n", "# order in the groupby here matters, it determines the json nesting\n", "# the groupby call makes a pandas series by grouping 'the_parent' and 'the_child', while summing the numerical column 'child_size'\n", "df1 = hierarchical_main_devs\n", "\n", "\n", "\n", "# start a new flare.json document\n", "flare = dict()\n", "flare = {\"name\":\"flare\", \"children\": []}\n", "\n", "d =dict()\n", "d ['children'] = []\n", "\n", "for line in df1.values:\n", " \n", " the_parent = line[0]\n", " the_child = line[1]\n", " child_size = line[2]\n", "\n", " # make a list of keys\n", " keys_list = []\n", " for item in d['children']:\n", " keys_list.append(item['name'])\n", "\n", " # if 'the_parent' is NOT a key in the flare.json yet, append it\n", " if not the_parent in keys_list:\n", " d['children'].append({\"name\":the_parent, \"children\":[{\"name\":the_child, \"size\":child_size}]})\n", "\n", " # if 'the_parent' IS a key in the flare.json, add a new child to it\n", " else:\n", " d['children'][keys_list.index(the_parent)]['children'].append({\"name\":the_child, \"size\":child_size})\n", "\n", "flare = d\n", "\n", "\n", "# export the final result to a json file\n", "with open('data/flare.json', 'w') as outfile:\n", " json.dump(flare, outfile)" ] }, { "cell_type": "code", "execution_count": 94, "metadata": { "collapsed": false }, "outputs": [], "source": [ "hierarchical_main_devs.reset_index().to_json(\"data/main_devs_split.json\", orient='split')\n", "hierarchical_main_devs.reset_index().to_json(\"data/main_devs_records.json\", orient='records')\n", "hierarchical_main_devs.reset_index().to_json(\"data/main_devs_index.json\", orient='index')\n", "hierarchical_main_devs.reset_index().to_json(\"data/main_devs_columns.json\", orient='columns')\n", "hierarchical_main_devs.reset_index().to_json(\"data/main_devs_values.json\", orient='values')" ] } ], "metadata": { "anaconda-cloud": {}, "kernelspec": { "display_name": "Python [Root]", "language": "python", "name": "Python [Root]" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.5.2" } }, "nbformat": 4, "nbformat_minor": 0 }