\n",
""
],
"text/plain": [
- " Language\n",
- "0 Java\n",
- "1 C\n",
- "2 C++\n",
- "3 Python\n",
- "4 R\n",
- "5 Fortran\n",
- "6 Ruby\n",
- "7 HTML\n",
- "8 Shell\n",
- "9 Others"
+ "Year Java C C++ Python Ruby Shell\n",
+ "2008 0.000000 0.578053 0.058089 0.361369 0.000000 0.002489\n",
+ "2009 0.000000 0.001607 0.417636 0.566579 0.000000 0.014178\n",
+ "2010 0.000000 0.009153 0.270674 0.716161 0.000000 0.004011\n",
+ "2011 0.000000 0.139155 0.024259 0.786091 0.000000 0.050494\n",
+ "2012 0.017804 0.456689 0.140129 0.333853 0.000000 0.051525\n",
+ "2013 0.240166 0.396410 0.165945 0.167947 0.014956 0.014577\n",
+ "2014 0.131448 0.373647 0.163997 0.316473 0.000000 0.014435\n",
+ "2015 0.001600 0.219418 0.209717 0.291359 0.269503 0.008403\n",
+ "2016 0.032361 0.205968 0.234869 0.489617 0.015521 0.021665\n",
+ "2017 0.000000 0.137536 0.425045 0.236715 0.000003 0.200702\n",
+ "2018 0.000708 0.186219 0.208667 0.570827 0.000005 0.033575\n",
+ "2019 0.192866 0.136325 0.153222 0.513684 0.000000 0.003903\n",
+ "2020 NaN NaN NaN NaN NaN NaN"
]
},
"metadata": {},
"output_type": "display_data"
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "trying Java in year 2008\n",
- "trying C in year 2008\n",
- "trying C++ in year 2008\n",
- "trying Python in year 2008\n",
- "trying R in year 2008\n",
- "trying Fortran in year 2008\n",
- "trying Ruby in year 2008\n",
- "trying HTML in year 2008\n",
- "trying Shell in year 2008\n",
- "trying Others in year 2008\n",
- "trying Java in year 2009\n",
- "trying C in year 2009\n",
- "trying C++ in year 2009\n",
- "trying Python in year 2009\n",
- "trying R in year 2009\n",
- "trying Fortran in year 2009\n",
- "trying Ruby in year 2009\n",
- "trying HTML in year 2009\n",
- "trying Shell in year 2009\n",
- "trying Others in year 2009\n",
- "trying Java in year 2010\n",
- "trying C in year 2010\n",
- "trying C++ in year 2010\n",
- "trying Python in year 2010\n",
- "trying R in year 2010\n",
- "trying Fortran in year 2010\n",
- "trying Ruby in year 2010\n",
- "trying HTML in year 2010\n",
- "trying Shell in year 2010\n",
- "trying Others in year 2010\n",
- "trying Java in year 2011\n",
- "trying C in year 2011\n",
- "trying C++ in year 2011\n",
- "trying Python in year 2011\n",
- "trying R in year 2011\n",
- "trying Fortran in year 2011\n",
- "trying Ruby in year 2011\n",
- "trying HTML in year 2011\n",
- "trying Shell in year 2011\n",
- "trying Others in year 2011\n",
- "trying Java in year 2012\n",
- "trying C in year 2012\n",
- "trying C++ in year 2012\n",
- "trying Python in year 2012\n",
- "trying R in year 2012\n",
- "trying Fortran in year 2012\n",
- "trying Ruby in year 2012\n",
- "trying HTML in year 2012\n",
- "trying Shell in year 2012\n",
- "trying Others in year 2012\n",
- "trying Java in year 2013\n",
- "trying C in year 2013\n",
- "trying C++ in year 2013\n",
- "trying Python in year 2013\n",
- "trying R in year 2013\n",
- "trying Fortran in year 2013\n",
- "trying Ruby in year 2013\n",
- "trying HTML in year 2013\n",
- "trying Shell in year 2013\n",
- "trying Others in year 2013\n",
- "trying Java in year 2014\n",
- "trying C in year 2014\n",
- "trying C++ in year 2014\n",
- "trying Python in year 2014\n",
- "trying R in year 2014\n",
- "trying Fortran in year 2014\n",
- "trying Ruby in year 2014\n",
- "trying HTML in year 2014\n",
- "trying Shell in year 2014\n",
- "trying Others in year 2014\n",
- "trying Java in year 2015\n",
- "trying C in year 2015\n",
- "trying C++ in year 2015\n",
- "trying Python in year 2015\n",
- "trying R in year 2015\n",
- "trying Fortran in year 2015\n",
- "trying Ruby in year 2015\n",
- "trying HTML in year 2015\n",
- "trying Shell in year 2015\n",
- "trying Others in year 2015\n",
- "trying Java in year 2016\n",
- "trying C in year 2016\n",
- "trying C++ in year 2016\n",
- "trying Python in year 2016\n",
- "trying R in year 2016\n",
- "trying Fortran in year 2016\n",
- "trying Ruby in year 2016\n",
- "trying HTML in year 2016\n",
- "trying Shell in year 2016\n",
- "trying Others in year 2016\n",
- "trying Java in year 2017\n",
- "trying C in year 2017\n",
- "trying C++ in year 2017\n",
- "trying Python in year 2017\n",
- "trying R in year 2017\n",
- "trying Fortran in year 2017\n",
- "trying Ruby in year 2017\n",
- "trying HTML in year 2017\n",
- "trying Shell in year 2017\n",
- "trying Others in year 2017\n",
- "trying Java in year 2018\n",
- "trying C in year 2018\n",
- "trying C++ in year 2018\n",
- "trying Python in year 2018\n",
- "trying R in year 2018\n",
- "trying Fortran in year 2018\n",
- "trying Ruby in year 2018\n",
- "trying HTML in year 2018\n",
- "trying Shell in year 2018\n",
- "trying Others in year 2018\n",
- "trying Java in year 2019\n",
- "trying C in year 2019\n",
- "trying C++ in year 2019\n",
- "trying Python in year 2019\n",
- "trying R in year 2019\n",
- "trying Fortran in year 2019\n",
- "trying Ruby in year 2019\n",
- "trying HTML in year 2019\n",
- "trying Shell in year 2019\n",
- "trying Others in year 2019\n",
- "trying Java in year 2020\n",
- "trying C in year 2020\n",
- "trying C++ in year 2020\n",
- "trying Python in year 2020\n",
- "trying R in year 2020\n",
- "trying Fortran in year 2020\n",
- "trying Ruby in year 2020\n",
- "trying HTML in year 2020\n",
- "trying Shell in year 2020\n",
- "trying Others in year 2020\n"
- ]
- },
+ }
+ ],
+ "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",
+ "#let's only take a look at the most popular languages\n",
+ "\n",
+ "#each language is a separate row\n",
+ "#each column is a year, and each cell represents the bytes of that language in that year\n",
+ "\n",
+ "repo_years = np.sort(df.repo_year.unique())\n",
+ "\n",
+ "#can use either of these, or define your own subset to get different information\n",
+ "most_bytes_langs = ['Java', 'C', 'C++', 'Python', 'R', 'Fortran', 'Ruby', 'HTML', 'Shell', 'Others']\n",
+ "language_subset = ['Java', 'C', 'C++', 'Python', 'Ruby', 'Shell']\n",
+ "\n",
+ "requested_langs = language_subset\n",
+ "repo_df = pd.DataFrame({'Language': requested_langs})\n",
+ "\n",
+ "def bytes_that_year(row, year):\n",
+ " #print('trying ' + row['Language'] + ' in year ' + str(year))\n",
+ " \n",
+ " if row['Language'] == 'Others':\n",
+ " #sum up all the non-request_langs bytes\n",
+ " return df[ ~(df['Language'].isin(requested_langs)) & (df['repo_year'] == year)]['Bytes'].sum()\n",
+ " lang = row['Language']\n",
+ " \n",
+ " try:\n",
+ " return df[df['repo_year'] == year].groupby('Language').sum().loc[lang]['Bytes']\n",
+ " except:\n",
+ " return 0\n",
+ "\n",
+ " \n",
+ "#for each year in repo_years, create a column\n",
+ "# each cell will be the number of bytes in that year for that language \n",
+ "\n",
+ "for year in repo_years:\n",
+ " #create columns for the total number of bytes\n",
+ " arr = repo_df.apply (lambda row: bytes_that_year(row, year), axis=1)\n",
+ " #col_name = str(year) + \" bytes\"\n",
+ " #repo_df[col_name] = arr\n",
+ " total_bytes = arr.sum()\n",
+ " pct_col_name = str(year) #+ \" pct\"\n",
+ " repo_df[pct_col_name] = arr.divide(total_bytes)\n",
+ "\n",
+ "#display(repo_df)\n",
+ "\n",
+ "\n",
+ "#need to get the whole df sideways to make the stackchart easy\n",
+ "repo_df = repo_df.T\n",
+ "new_header = repo_df.iloc[0] \n",
+ "repo_df = repo_df[1:]\n",
+ "repo_df.columns = new_header\n",
+ "\n",
+ "repo_df.columns.name = 'Year'\n",
+ "repo_df = repo_df.apply(pd.to_numeric, errors='coerce')\n",
+ "display(repo_df)\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 211,
+ "metadata": {},
+ "outputs": [
{
"data": {
"text/html": [
@@ -422,234 +439,152 @@
"
\n",
" \n",
"
\n",
- "
\n",
- "
Language
\n",
- "
2008 bytes
\n",
- "
2009 bytes
\n",
- "
2010 bytes
\n",
- "
2011 bytes
\n",
- "
2012 bytes
\n",
- "
2013 bytes
\n",
- "
2014 bytes
\n",
- "
2015 bytes
\n",
- "
2016 bytes
\n",
- "
2017 bytes
\n",
- "
2018 bytes
\n",
- "
2019 bytes
\n",
- "
2020 bytes
\n",
+ "
Year
\n",
+ "
Java
\n",
+ "
C
\n",
+ "
C++
\n",
+ "
Python
\n",
+ "
Ruby
\n",
+ "
Shell
\n",
"
\n",
" \n",
" \n",
"
\n",
- "
0
\n",
- "
Java
\n",
- "
0.0
\n",
- "
0.0
\n",
- "
0.0
\n",
- "
0.0
\n",
- "
1401162.0
\n",
- "
42933030.0
\n",
- "
14083813.0
\n",
- "
296924.0
\n",
- "
2638211.0
\n",
- "
0.0
\n",
- "
2.828600e+04
\n",
- "
1732024.0
\n",
- "
0.0
\n",
+ "
2008
\n",
+ "
0.000000
\n",
+ "
0.578053
\n",
+ "
0.058089
\n",
+ "
0.361369
\n",
+ "
0.000000
\n",
+ "
0.002489
\n",
+ "
\n",
+ "
\n",
+ "
2009
\n",
+ "
0.000000
\n",
+ "
0.001634
\n",
+ "
0.424616
\n",
+ "
0.559335
\n",
+ "
0.000000
\n",
+ "
0.014415
\n",
+ "
\n",
+ "
\n",
+ "
2010
\n",
+ "
0.000000
\n",
+ "
0.018108
\n",
+ "
0.742881
\n",
+ "
0.235232
\n",
+ "
0.000000
\n",
+ "
0.003779
\n",
+ "
\n",
+ "
\n",
+ "
2011
\n",
+ "
0.000000
\n",
+ "
0.132769
\n",
+ "
0.024802
\n",
+ "
0.790838
\n",
+ "
0.000000
\n",
+ "
0.051591
\n",
"
\n",
"
\n",
- "
1
\n",
- "
C
\n",
- "
732140.0
\n",
- "
5396.0
\n",
- "
134128.0
\n",
- "
2912534.0
\n",
- "
35940777.0
\n",
- "
70863794.0
\n",
- "
40033787.0
\n",
- "
40715157.0
\n",
- "
16791222.0
\n",
- "
27935931.0
\n",
- "
7.443884e+06
\n",
- "
1224262.0
\n",
- "
0.0
\n",
+ "
2012
\n",
+ "
0.018174
\n",
+ "
0.463017
\n",
+ "
0.135944
\n",
+ "
0.330277
\n",
+ "
0.000000
\n",
+ "
0.052587
\n",
"
\n",
"
\n",
- "
2
\n",
- "
C++
\n",
- "
73573.0
\n",
- "
1402452.0
\n",
- "
3966318.0
\n",
- "
507749.0
\n",
- "
11027923.0
\n",
- "
29664973.0
\n",
- "
17571170.0
\n",
- "
38915066.0
\n",
- "
19147323.0
\n",
- "
86334220.0
\n",
- "
8.341191e+06
\n",
- "
1376004.0
\n",
- "
0.0
\n",
+ "
2013
\n",
+ "
0.245234
\n",
+ "
0.394822
\n",
+ "
0.168273
\n",
+ "
0.161516
\n",
+ "
0.015271
\n",
+ "
0.014883
\n",
"
\n",
"
\n",
- "
3
\n",
- "
Python
\n",
- "
457697.0
\n",
- "
1902611.0
\n",
- "
10494246.0
\n",
- "
16452958.0
\n",
- "
26273713.0
\n",
- "
30022866.0
\n",
- "
33908005.0
\n",
- "
54064633.0
\n",
- "
39915315.0
\n",
- "
48081048.0
\n",
- "
2.281809e+07
\n",
- "
4613109.0
\n",
- "
0.0
\n",
+ "
2014
\n",
+ "
0.135650
\n",
+ "
0.384275
\n",
+ "
0.168759
\n",
+ "
0.296789
\n",
+ "
0.000000
\n",
+ "
0.014526
\n",
"
\n",
"
\n",
- "
4
\n",
- "
R
\n",
- "
0.0
\n",
- "
0.0
\n",
- "
0.0
\n",
- "
5473.0
\n",
- "
131963.0
\n",
- "
832599.0
\n",
- "
161349.0
\n",
- "
230893.0
\n",
- "
86513.0
\n",
- "
969179.0
\n",
- "
0.000000e+00
\n",
- "
870358.0
\n",
- "
0.0
\n",
+ "
2015
\n",
+ "
0.001723
\n",
+ "
0.214573
\n",
+ "
0.225117
\n",
+ "
0.259376
\n",
+ "
0.290272
\n",
+ "
0.008939
\n",
"
\n",
"
\n",
- "
5
\n",
- "
Fortran
\n",
- "
0.0
\n",
- "
2826100.0
\n",
- "
0.0
\n",
- "
3665668.0
\n",
- "
106958019.0
\n",
- "
10561397.0
\n",
- "
11857286.0
\n",
- "
59772042.0
\n",
- "
7302514.0
\n",
- "
25221003.0
\n",
- "
3.025633e+07
\n",
- "
4989103.0
\n",
- "
1782.0
\n",
+ "
2016
\n",
+ "
0.033668
\n",
+ "
0.212853
\n",
+ "
0.236641
\n",
+ "
0.478205
\n",
+ "
0.016147
\n",
+ "
0.022486
\n",
"
\n",
"
\n",
- "
6
\n",
- "
Ruby
\n",
- "
0.0
\n",
- "
0.0
\n",
- "
0.0
\n",
- "
0.0
\n",
- "
0.0
\n",
- "
2673561.0
\n",
- "
0.0
\n",
- "
50009073.0
\n",
- "
1265301.0
\n",
- "
522.0
\n",
- "
1.850000e+02
\n",
- "
0.0
\n",
- "
0.0
\n",
+ "
2017
\n",
+ "
0.000000
\n",
+ "
0.137341
\n",
+ "
0.412399
\n",
+ "
0.233996
\n",
+ "
0.000003
\n",
+ "
0.216262
\n",
"
\n",
"
\n",
- "
7
\n",
- "
HTML
\n",
- "
0.0
\n",
- "
0.0
\n",
- "
0.0
\n",
- "
3339.0
\n",
- "
7672931.0
\n",
- "
69808148.0
\n",
- "
2625860.0
\n",
- "
129641.0
\n",
- "
7977816.0
\n",
- "
5191228.0
\n",
- "
1.898321e+06
\n",
- "
0.0
\n",
- "
0.0
\n",
+ "
2018
\n",
+ "
0.000725
\n",
+ "
0.189609
\n",
+ "
0.213774
\n",
+ "
0.561629
\n",
+ "
0.000005
\n",
+ "
0.034258
\n",
"
\n",
"
\n",
- "
8
\n",
- "
Shell
\n",
- "
3153.0
\n",
- "
47612.0
\n",
- "
58778.0
\n",
- "
1056847.0
\n",
- "
4054943.0
\n",
- "
2605824.0
\n",
- "
1546652.0
\n",
- "
1559203.0
\n",
- "
1766204.0
\n",
- "
40766099.0
\n",
- "
1.342099e+06
\n",
- "
35050.0
\n",
- "
0.0
\n",
+ "
2019
\n",
+ "
0.255698
\n",
+ "
0.172278
\n",
+ "
0.070655
\n",
+ "
0.498916
\n",
+ "
0.000000
\n",
+ "
0.002454
\n",
"
\n",
"
\n",
- "
9
\n",
- "
Others
\n",
- "
3441.0
\n",
- "
222938.0
\n",
- "
817757.0
\n",
- "
3343580.0
\n",
- "
85308437.0
\n",
- "
34670998.0
\n",
- "
50389592.0
\n",
- "
169066350.0
\n",
- "
108228261.0
\n",
- "
138933263.0
\n",
- "
1.107641e+09
\n",
- "
21152630.0
\n",
- "
2501.0
\n",
+ "
2020
\n",
+ "
NaN
\n",
+ "
NaN
\n",
+ "
NaN
\n",
+ "
NaN
\n",
+ "
NaN
\n",
+ "
NaN
\n",
"
\n",
" \n",
"
\n",
""
],
"text/plain": [
- " Language 2008 bytes 2009 bytes 2010 bytes 2011 bytes 2012 bytes \\\n",
- "0 Java 0.0 0.0 0.0 0.0 1401162.0 \n",
- "1 C 732140.0 5396.0 134128.0 2912534.0 35940777.0 \n",
- "2 C++ 73573.0 1402452.0 3966318.0 507749.0 11027923.0 \n",
- "3 Python 457697.0 1902611.0 10494246.0 16452958.0 26273713.0 \n",
- "4 R 0.0 0.0 0.0 5473.0 131963.0 \n",
- "5 Fortran 0.0 2826100.0 0.0 3665668.0 106958019.0 \n",
- "6 Ruby 0.0 0.0 0.0 0.0 0.0 \n",
- "7 HTML 0.0 0.0 0.0 3339.0 7672931.0 \n",
- "8 Shell 3153.0 47612.0 58778.0 1056847.0 4054943.0 \n",
- "9 Others 3441.0 222938.0 817757.0 3343580.0 85308437.0 \n",
- "\n",
- " 2013 bytes 2014 bytes 2015 bytes 2016 bytes 2017 bytes \\\n",
- "0 42933030.0 14083813.0 296924.0 2638211.0 0.0 \n",
- "1 70863794.0 40033787.0 40715157.0 16791222.0 27935931.0 \n",
- "2 29664973.0 17571170.0 38915066.0 19147323.0 86334220.0 \n",
- "3 30022866.0 33908005.0 54064633.0 39915315.0 48081048.0 \n",
- "4 832599.0 161349.0 230893.0 86513.0 969179.0 \n",
- "5 10561397.0 11857286.0 59772042.0 7302514.0 25221003.0 \n",
- "6 2673561.0 0.0 50009073.0 1265301.0 522.0 \n",
- "7 69808148.0 2625860.0 129641.0 7977816.0 5191228.0 \n",
- "8 2605824.0 1546652.0 1559203.0 1766204.0 40766099.0 \n",
- "9 34670998.0 50389592.0 169066350.0 108228261.0 138933263.0 \n",
- "\n",
- " 2018 bytes 2019 bytes 2020 bytes \n",
- "0 2.828600e+04 1732024.0 0.0 \n",
- "1 7.443884e+06 1224262.0 0.0 \n",
- "2 8.341191e+06 1376004.0 0.0 \n",
- "3 2.281809e+07 4613109.0 0.0 \n",
- "4 0.000000e+00 870358.0 0.0 \n",
- "5 3.025633e+07 4989103.0 1782.0 \n",
- "6 1.850000e+02 0.0 0.0 \n",
- "7 1.898321e+06 0.0 0.0 \n",
- "8 1.342099e+06 35050.0 0.0 \n",
- "9 1.107641e+09 21152630.0 2501.0 "
+ "Year Java C C++ Python Ruby Shell\n",
+ "2008 0.000000 0.578053 0.058089 0.361369 0.000000 0.002489\n",
+ "2009 0.000000 0.001634 0.424616 0.559335 0.000000 0.014415\n",
+ "2010 0.000000 0.018108 0.742881 0.235232 0.000000 0.003779\n",
+ "2011 0.000000 0.132769 0.024802 0.790838 0.000000 0.051591\n",
+ "2012 0.018174 0.463017 0.135944 0.330277 0.000000 0.052587\n",
+ "2013 0.245234 0.394822 0.168273 0.161516 0.015271 0.014883\n",
+ "2014 0.135650 0.384275 0.168759 0.296789 0.000000 0.014526\n",
+ "2015 0.001723 0.214573 0.225117 0.259376 0.290272 0.008939\n",
+ "2016 0.033668 0.212853 0.236641 0.478205 0.016147 0.022486\n",
+ "2017 0.000000 0.137341 0.412399 0.233996 0.000003 0.216262\n",
+ "2018 0.000725 0.189609 0.213774 0.561629 0.000005 0.034258\n",
+ "2019 0.255698 0.172278 0.070655 0.498916 0.000000 0.002454\n",
+ "2020 NaN NaN NaN NaN NaN NaN"
]
},
"metadata": {},
@@ -657,36 +592,21 @@
}
],
"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",
- "#let's only take a look at the most popular languages\n",
- "\n",
- "#each language is a separate row\n",
- "#each column is a year, and each cell represents the bytes of that language in that year\n",
+ "#Now, do the same for ascl_year instead of github repo_year\n",
+ "ascl_years = np.sort(df.ascl_year.unique())\n",
"\n",
- "top_langs = most['Language']\n",
- "#display(top_langs)\n",
- "repo_years = np.sort(df.repo_year.unique())\n",
+ "#drop all the codes where the ascl_year is 0 (they have no ascl-id)\n",
+ "df = df[df['ascl_year'] != 0]\n",
"\n",
- "#repo_df = pd.DataFrame({'Language': top_langs})\n",
- "most_bytes_langs = ['Java', 'C', 'C++', 'Python', 'R', 'Fortran', 'Ruby', 'HTML', 'Shell', 'Others']\n",
- "repo_df = pd.DataFrame({'Language': most_bytes_langs})\n",
- "display(repo_df)\n",
+ "ascl_df = pd.DataFrame({'Language': requested_langs})\n",
"\n",
- "#for each year in repo_years, create a column\n",
- "# each cell will be the number of bytes in that year for that language\n",
"\n",
- "def bytes_that_year(row, year):\n",
- " print('trying ' + row['Language'] + ' in year ' + str(year))\n",
+ "def bytes_that_year_ascl(row, year):\n",
+ " #print('trying ' + row['Language'] + ' in year ' + str(year))\n",
" \n",
" if row['Language'] == 'Others':\n",
- " #sum up all the non-most_bytes_langs bytes\n",
- " return df[ ~(df['Language'].isin(most_bytes_langs)) & (df['repo_year'] == year)]['Bytes'].sum()\n",
+ " #sum up all the non-request_langs bytes\n",
+ " return df[ ~(df['Language'].isin(requested_langs)) & (df['ascl_year'] == year)]['Bytes'].sum()\n",
" lang = row['Language']\n",
" \n",
" try:\n",
@@ -696,33 +616,71 @@
"\n",
"for year in repo_years:\n",
" #create columns for the total number of bytes\n",
- " arr = repo_df.apply (lambda row: bytes_that_year(row, year), axis=1)\n",
- " col_name = str(year) + \" bytes\"\n",
- " repo_df[col_name] = arr\n",
- " \n",
- " \n",
+ " arr = ascl_df.apply (lambda row: bytes_that_year_ascl(row, year), axis=1)\n",
+ " total_bytes = arr.sum()\n",
+ " pct_col_name = str(year) #+ \" pct\"\n",
+ " ascl_df[pct_col_name] = arr.divide(total_bytes)\n",
"\n",
- " \n",
- "display(repo_df)\n",
- "#display(df[df['repo_year'] == 2019].groupby('Language').sum().loc['C']['Bytes'])"
+ "ascl_df = ascl_df.T\n",
+ "new_header = ascl_df.iloc[0] \n",
+ "ascl_df = ascl_df[1:]\n",
+ "ascl_df.columns = new_header\n",
+ "\n",
+ "ascl_df.columns.name = 'Year'\n",
+ "ascl_df = ascl_df.apply(pd.to_numeric, errors='coerce')\n",
+ "display(ascl_df)\n"
]
},
{
"cell_type": "code",
- "execution_count": 159,
+ "execution_count": 212,
"metadata": {},
"outputs": [
{
"data": {
+ "image/png": "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\n",
"text/plain": [
- "138933263"
+ "