diff --git a/Language-Date visualizations.ipynb b/Language-Date visualizations.ipynb index c4e8b79..3f4e30e 100644 --- a/Language-Date visualizations.ipynb +++ b/Language-Date visualizations.ipynb @@ -2,13 +2,14 @@ "cells": [ { "cell_type": "code", - "execution_count": 10, + "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "import pandas as pd\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", + "import seaborn as sns\n", "\n", "df = pd.read_csv('language_data_with_dates.csv')\n", "#codes where df[df['ascl-id'] == 0] need to be dealt with when thinking about dates" @@ -16,31 +17,18 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "(-1.1122943007093113,\n", - " 1.101258600491493,\n", - " -1.1010813502712005,\n", - " 1.1000514928760843)" + "\"\\nfig1, ax1 = plt.subplots()\\nax1.pie(lang[lang.columns[1]], labels=lang[lang.columns[0]], autopct='%1.1f%%',\\n shadow=True, startangle=90)\\nax1.axis('equal')\\n\"" ] }, - "execution_count": 16, + "execution_count": 3, "metadata": {}, "output_type": "execute_result" - }, - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" } ], "source": [ @@ -70,15 +58,19 @@ "lang = lang.sort_values(by='% of total', ascending=False)\n", "\n", "#Pie chart time!\n", + "\n", + "#this creates a pie chart without consolidating languages\n", + "'''\n", "fig1, ax1 = plt.subplots()\n", "ax1.pie(lang[lang.columns[1]], labels=lang[lang.columns[0]], autopct='%1.1f%%',\n", " shadow=True, startangle=90)\n", - "ax1.axis('equal')" + "ax1.axis('equal')\n", + "'''" ] }, { "cell_type": "code", - "execution_count": 21, + "execution_count": 4, "metadata": {}, "outputs": [ { @@ -109,7 +101,7 @@ " 1.1000514928489695)" ] }, - "execution_count": 21, + "execution_count": 4, "metadata": {}, "output_type": "execute_result" }, @@ -152,6 +144,955 @@ " shadow=True, startangle=90)\n", "ax2.axis('equal')" ] + }, + { + "cell_type": "code", + "execution_count": 52, + "metadata": {}, + "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", + "
AuthorRepoascl-idrepo_dateLanguageBytesascl_yearrepo_year
0EdoardoCarlesicmbeasy1007.0042013-04-13T10:55:00ZC++231391920102013
1EdoardoCarlesicmbeasy1007.0042013-04-13T10:55:00ZC2028720102013
2EdoardoCarlesicmbeasy1007.0042013-04-13T10:55:00ZObjective-C429420102013
3daddeptrNeedlets1010.0042014-02-24T18:28:03ZFortran6358920102014
4daddeptrNeedlets1010.0042014-02-24T18:28:03ZIDL734320102014
5daddeptrNeedlets1010.0042014-02-24T18:28:03ZPerl178220102014
6piernik-devpiernik1010.0052013-06-14T11:31:14ZFortran286380920102013
7piernik-devpiernik1010.0052013-06-14T11:31:14ZPython12047720102013
8piernik-devpiernik1010.0052013-06-14T11:31:14ZShell2444620102013
9piernik-devpiernik1010.0052013-06-14T11:31:14ZRoff720120102013
10piernik-devpiernik1010.0052013-06-14T11:31:14ZGnuplot502520102013
11piernik-devpiernik1010.0052013-06-14T11:31:14ZMakefile448220102013
12piernik-devpiernik1010.0052013-06-14T11:31:14ZC317120102013
13piernik-devpiernik1010.0052013-06-14T11:31:14ZPerl106020102013
14Starlinkstarlink1407.0022012-07-24T18:15:25ZFortran9883752420142012
15Starlinkstarlink1407.0022012-07-24T18:15:25ZTeX2858871320142012
16Starlinkstarlink1407.0022012-07-24T18:15:25ZC2763139720142012
17Starlinkstarlink1407.0022012-07-24T18:15:25ZTcl762092320142012
18Starlinkstarlink1407.0022012-07-24T18:15:25ZHTML648899720142012
19Starlinkstarlink1407.0022012-07-24T18:15:25ZPerl330426220142012
20Starlinkstarlink1407.0022012-07-24T18:15:25ZShell315670320142012
21Starlinkstarlink1407.0022012-07-24T18:15:25ZPostScript268222420142012
22Starlinkstarlink1407.0022012-07-24T18:15:25ZMakefile186700820142012
23Starlinkstarlink1407.0022012-07-24T18:15:25ZC++163487720142012
24Starlinkstarlink1407.0022012-07-24T18:15:25ZEmacs Lisp128312220142012
25Starlinkstarlink1407.0022012-07-24T18:15:25ZPython119662920142012
26Starlinkstarlink1407.0022012-07-24T18:15:25ZClean101635420142012
27Starlinkstarlink1407.0022012-07-24T18:15:25ZM477862220142012
28Starlinkstarlink1407.0022012-07-24T18:15:25ZGAP23732420142012
29Starlinkstarlink1407.0022012-07-24T18:15:25ZArc18747820142012
...........................
3399CobayaSamplercobaya1910.0192018-09-16T10:52:52ZDockerfile48920192018
3400AOtoolsaotools1910.0212016-03-09T15:00:56ZPython23621220192016
3401astroboylrxPLAN1911.0012016-03-11T17:40:38ZC++43493820192016
3402astroboylrxPLAN1911.0012016-03-11T17:40:38ZPython515920192016
3403astroboylrxPLAN1911.0012016-03-11T17:40:38ZCMake363820192016
3404gmbrandtxwavecal0.0002019-09-11T23:15:01ZPython25587002019
3405soleneulmerbem0.0002019-07-22T12:39:08ZPython6140202019
3406shbhukmrexo0.0002018-04-20T15:21:01ZPython10400402018
3407Bo-NingPredicting-exoplanet-mass-and-radius-relationship0.0002017-11-15T20:36:42ZR8316902017
3408rodlugerLimbdark.jl0.0002018-04-23T16:28:45ZMathematica206652602018
3409rodlugerLimbdark.jl0.0002018-04-23T16:28:45ZJupyter Notebook157240202018
3410rodlugerLimbdark.jl0.0002018-04-23T16:28:45ZTeX85761802018
3411rodlugerLimbdark.jl0.0002018-04-23T16:28:45ZJulia41246602018
3412rodlugerLimbdark.jl0.0002018-04-23T16:28:45ZFortran3202602018
3413rodlugerLimbdark.jl0.0002018-04-23T16:28:45ZPython3106802018
3414rodlugerLimbdark.jl0.0002018-04-23T16:28:45ZIDL2230802018
3415rodlugerLimbdark.jl0.0002018-04-23T16:28:45ZShell538102018
3416rodlugerLimbdark.jl0.0002018-04-23T16:28:45ZProlog294402018
3417rodlugerLimbdark.jl0.0002018-04-23T16:28:45ZMakefile141802018
3418rodlugerplanetplanet0.0002017-05-09T23:33:16ZPython41581202017
3419rodlugerplanetplanet0.0002017-05-09T23:33:16ZC9471702017
3420rodlugerplanetplanet0.0002017-05-09T23:33:16ZJulia3324702017
3421rodlugerplanetplanet0.0002017-05-09T23:33:16ZShell49802017
3422mihankeathos0.0002018-09-03T07:19:26ZPython3414402018
3423pypeitPypeIt1911.0042015-06-05T22:25:37ZPython483655320192015
3424pypeitPypeIt1911.0042015-06-05T22:25:37ZTeX12933620192015
3425pypeitPypeIt1911.0042015-06-05T22:25:37ZJupyter Notebook10235520192015
3426pypeitPypeIt1911.0042015-06-05T22:25:37ZC1176720192015
3427pypeitPypeIt1911.0042015-06-05T22:25:37ZShell41220192015
3428pypeitPypeIt1911.0042015-06-05T22:25:37ZFLUX27520192015
\n", + "

3427 rows × 8 columns

\n", + "
" + ], + "text/plain": [ + " Author Repo \\\n", + "0 EdoardoCarlesi cmbeasy \n", + "1 EdoardoCarlesi cmbeasy \n", + "2 EdoardoCarlesi cmbeasy \n", + "3 daddeptr Needlets \n", + "4 daddeptr Needlets \n", + "5 daddeptr Needlets \n", + "6 piernik-dev piernik \n", + "7 piernik-dev piernik \n", + "8 piernik-dev piernik \n", + "9 piernik-dev piernik \n", + "10 piernik-dev piernik \n", + "11 piernik-dev piernik \n", + "12 piernik-dev piernik \n", + "13 piernik-dev piernik \n", + "14 Starlink starlink \n", + "15 Starlink starlink \n", + "16 Starlink starlink \n", + "17 Starlink starlink \n", + "18 Starlink starlink \n", + "19 Starlink starlink \n", + "20 Starlink starlink \n", + "21 Starlink starlink \n", + "22 Starlink starlink \n", + "23 Starlink starlink \n", + "24 Starlink starlink \n", + "25 Starlink starlink \n", + "26 Starlink starlink \n", + "27 Starlink starlink \n", + "28 Starlink starlink \n", + "29 Starlink starlink \n", + "... ... ... \n", + "3399 CobayaSampler cobaya \n", + "3400 AOtools aotools \n", + "3401 astroboylrx PLAN \n", + "3402 astroboylrx PLAN \n", + "3403 astroboylrx PLAN \n", + "3404 gmbrandt xwavecal \n", + "3405 soleneulmer bem \n", + "3406 shbhuk mrexo \n", + "3407 Bo-Ning Predicting-exoplanet-mass-and-radius-relationship \n", + "3408 rodluger Limbdark.jl \n", + "3409 rodluger Limbdark.jl \n", + "3410 rodluger Limbdark.jl \n", + "3411 rodluger Limbdark.jl \n", + "3412 rodluger Limbdark.jl \n", + "3413 rodluger Limbdark.jl \n", + "3414 rodluger Limbdark.jl \n", + "3415 rodluger Limbdark.jl \n", + "3416 rodluger Limbdark.jl \n", + "3417 rodluger Limbdark.jl \n", + "3418 rodluger planetplanet \n", + "3419 rodluger planetplanet \n", + "3420 rodluger planetplanet \n", + "3421 rodluger planetplanet \n", + "3422 mihanke athos \n", + "3423 pypeit PypeIt \n", + "3424 pypeit PypeIt \n", + "3425 pypeit PypeIt \n", + "3426 pypeit PypeIt \n", + "3427 pypeit PypeIt \n", + "3428 pypeit PypeIt \n", + "\n", + " ascl-id repo_date Language Bytes ascl_year \\\n", + "0 1007.004 2013-04-13T10:55:00Z C++ 2313919 2010 \n", + "1 1007.004 2013-04-13T10:55:00Z C 20287 2010 \n", + "2 1007.004 2013-04-13T10:55:00Z Objective-C 4294 2010 \n", + "3 1010.004 2014-02-24T18:28:03Z Fortran 63589 2010 \n", + "4 1010.004 2014-02-24T18:28:03Z IDL 7343 2010 \n", + "5 1010.004 2014-02-24T18:28:03Z Perl 1782 2010 \n", + "6 1010.005 2013-06-14T11:31:14Z Fortran 2863809 2010 \n", + "7 1010.005 2013-06-14T11:31:14Z Python 120477 2010 \n", + "8 1010.005 2013-06-14T11:31:14Z Shell 24446 2010 \n", + "9 1010.005 2013-06-14T11:31:14Z Roff 7201 2010 \n", + "10 1010.005 2013-06-14T11:31:14Z Gnuplot 5025 2010 \n", + "11 1010.005 2013-06-14T11:31:14Z Makefile 4482 2010 \n", + "12 1010.005 2013-06-14T11:31:14Z C 3171 2010 \n", + "13 1010.005 2013-06-14T11:31:14Z Perl 1060 2010 \n", + "14 1407.002 2012-07-24T18:15:25Z Fortran 98837524 2014 \n", + "15 1407.002 2012-07-24T18:15:25Z TeX 28588713 2014 \n", + "16 1407.002 2012-07-24T18:15:25Z C 27631397 2014 \n", + "17 1407.002 2012-07-24T18:15:25Z Tcl 7620923 2014 \n", + "18 1407.002 2012-07-24T18:15:25Z HTML 6488997 2014 \n", + "19 1407.002 2012-07-24T18:15:25Z Perl 3304262 2014 \n", + "20 1407.002 2012-07-24T18:15:25Z Shell 3156703 2014 \n", + "21 1407.002 2012-07-24T18:15:25Z PostScript 2682224 2014 \n", + "22 1407.002 2012-07-24T18:15:25Z Makefile 1867008 2014 \n", + "23 1407.002 2012-07-24T18:15:25Z C++ 1634877 2014 \n", + "24 1407.002 2012-07-24T18:15:25Z Emacs Lisp 1283122 2014 \n", + "25 1407.002 2012-07-24T18:15:25Z Python 1196629 2014 \n", + "26 1407.002 2012-07-24T18:15:25Z Clean 1016354 2014 \n", + "27 1407.002 2012-07-24T18:15:25Z M4 778622 2014 \n", + "28 1407.002 2012-07-24T18:15:25Z GAP 237324 2014 \n", + "29 1407.002 2012-07-24T18:15:25Z Arc 187478 2014 \n", + "... ... ... ... ... ... \n", + "3399 1910.019 2018-09-16T10:52:52Z Dockerfile 489 2019 \n", + "3400 1910.021 2016-03-09T15:00:56Z Python 236212 2019 \n", + "3401 1911.001 2016-03-11T17:40:38Z C++ 434938 2019 \n", + "3402 1911.001 2016-03-11T17:40:38Z Python 5159 2019 \n", + "3403 1911.001 2016-03-11T17:40:38Z CMake 3638 2019 \n", + "3404 0.000 2019-09-11T23:15:01Z Python 255870 0 \n", + "3405 0.000 2019-07-22T12:39:08Z Python 61402 0 \n", + "3406 0.000 2018-04-20T15:21:01Z Python 104004 0 \n", + "3407 0.000 2017-11-15T20:36:42Z R 83169 0 \n", + "3408 0.000 2018-04-23T16:28:45Z Mathematica 2066526 0 \n", + "3409 0.000 2018-04-23T16:28:45Z Jupyter Notebook 1572402 0 \n", + "3410 0.000 2018-04-23T16:28:45Z TeX 857618 0 \n", + "3411 0.000 2018-04-23T16:28:45Z Julia 412466 0 \n", + "3412 0.000 2018-04-23T16:28:45Z Fortran 32026 0 \n", + "3413 0.000 2018-04-23T16:28:45Z Python 31068 0 \n", + "3414 0.000 2018-04-23T16:28:45Z IDL 22308 0 \n", + "3415 0.000 2018-04-23T16:28:45Z Shell 5381 0 \n", + "3416 0.000 2018-04-23T16:28:45Z Prolog 2944 0 \n", + "3417 0.000 2018-04-23T16:28:45Z Makefile 1418 0 \n", + "3418 0.000 2017-05-09T23:33:16Z Python 415812 0 \n", + "3419 0.000 2017-05-09T23:33:16Z C 94717 0 \n", + "3420 0.000 2017-05-09T23:33:16Z Julia 33247 0 \n", + "3421 0.000 2017-05-09T23:33:16Z Shell 498 0 \n", + "3422 0.000 2018-09-03T07:19:26Z Python 34144 0 \n", + "3423 1911.004 2015-06-05T22:25:37Z Python 4836553 2019 \n", + "3424 1911.004 2015-06-05T22:25:37Z TeX 129336 2019 \n", + "3425 1911.004 2015-06-05T22:25:37Z Jupyter Notebook 102355 2019 \n", + "3426 1911.004 2015-06-05T22:25:37Z C 11767 2019 \n", + "3427 1911.004 2015-06-05T22:25:37Z Shell 412 2019 \n", + "3428 1911.004 2015-06-05T22:25:37Z FLUX 275 2019 \n", + "\n", + " repo_year \n", + "0 2013 \n", + "1 2013 \n", + "2 2013 \n", + "3 2014 \n", + "4 2014 \n", + "5 2014 \n", + "6 2013 \n", + "7 2013 \n", + "8 2013 \n", + "9 2013 \n", + "10 2013 \n", + "11 2013 \n", + "12 2013 \n", + "13 2013 \n", + "14 2012 \n", + "15 2012 \n", + "16 2012 \n", + "17 2012 \n", + "18 2012 \n", + "19 2012 \n", + "20 2012 \n", + "21 2012 \n", + "22 2012 \n", + "23 2012 \n", + "24 2012 \n", + "25 2012 \n", + "26 2012 \n", + "27 2012 \n", + "28 2012 \n", + "29 2012 \n", + "... ... \n", + "3399 2018 \n", + "3400 2016 \n", + "3401 2016 \n", + "3402 2016 \n", + "3403 2016 \n", + "3404 2019 \n", + "3405 2019 \n", + "3406 2018 \n", + "3407 2017 \n", + "3408 2018 \n", + "3409 2018 \n", + "3410 2018 \n", + "3411 2018 \n", + "3412 2018 \n", + "3413 2018 \n", + "3414 2018 \n", + "3415 2018 \n", + "3416 2018 \n", + "3417 2018 \n", + "3418 2017 \n", + "3419 2017 \n", + "3420 2017 \n", + "3421 2017 \n", + "3422 2018 \n", + "3423 2015 \n", + "3424 2015 \n", + "3425 2015 \n", + "3426 2015 \n", + "3427 2015 \n", + "3428 2015 \n", + "\n", + "[3427 rows x 8 columns]" + ] + }, + "execution_count": 52, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "#link to how to get stacked area chart\n", + "#https://python-graph-gallery.com/255-percentage-stacked-area-chart/\n", + "\n", + "#x axis - year\n", + "#y axis - percentage of the total\n", + "#for each language, we need an array of languages over years\n", + "\n", + "#display(df)\n", + "#print (len(df[df['ascl-id'] == 0]))\n", + "#insert ascl year and repo year field into the df\n", + "#ascl-year is '20' + first 2 digits of ascl-id\n", + "#repo-year is first 4 chars of repo-date\n", + "\n", + "#function to return the correct year depending on the first 2 digits of the ascl-id\n", + "def ascl_year(row):\n", + " year = str(row['ascl-id'])[0:2]\n", + " try:\n", + " year = int(year)\n", + " except:\n", + " year = float(year)\n", + " if year > 89:\n", + " return 1900+int(year)\n", + " elif year == 0:\n", + " return None\n", + " else:\n", + " return 2000+int(year)\n", + "\n", + "#now, a function to generate the repo year\n", + "def repo_year(row):\n", + " return row['repo_date'][0:4]\n", + "\n", + "df['ascl_year'] = df.apply (lambda row: ascl_year(row), axis=1)\n", + "df.ascl_year = df.ascl_year.fillna(0.0).astype(int)\n", + "df['repo_year'] = df.apply (lambda row: repo_year(row), axis=1)\n", + "df.repo_year = df.repo_year.fillna(\"0\").astype(int)" + ] } ], "metadata": {