Created
December 23, 2021 06:59
-
-
Save voteblake/8245bff0b39d332cd897b30ec9f75323 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"cells": [ | |
{ | |
"cell_type": "code", | |
"execution_count": 1, | |
"id": "312323a2", | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"import requests\n", | |
"import zipfile\n", | |
"import tempfile\n", | |
"import pandas" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 2, | |
"id": "e9e6c41a", | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"rating_list = requests.get('http://ratings.fide.com/download/standard_rating_list_xml.zip')" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 3, | |
"id": "663994fd", | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"9405993" | |
] | |
}, | |
"execution_count": 3, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"temp = tempfile.TemporaryFile()\n", | |
"temp.write(rating_list.content)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 4, | |
"id": "d46aef4e", | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"rating_list = zipfile.ZipFile(temp).read('standard_rating_list.xml')" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 5, | |
"id": "313c2109", | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"df = pandas.read_xml(rating_list, parser='etree')" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 6, | |
"id": "11a8aabe", | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"df = df[df.flag != 'i']" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 7, | |
"id": "9a005bc0", | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"df.sort_values('rating', ascending=False, ignore_index=True, inplace=True)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 8, | |
"id": "b60a94eb", | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/html": [ | |
"<div>\n", | |
"<style scoped>\n", | |
" .dataframe tbody tr th:only-of-type {\n", | |
" vertical-align: middle;\n", | |
" }\n", | |
"\n", | |
" .dataframe tbody tr th {\n", | |
" vertical-align: top;\n", | |
" }\n", | |
"\n", | |
" .dataframe thead th {\n", | |
" text-align: right;\n", | |
" }\n", | |
"</style>\n", | |
"<table border=\"1\" class=\"dataframe\">\n", | |
" <thead>\n", | |
" <tr style=\"text-align: right;\">\n", | |
" <th></th>\n", | |
" <th>fideid</th>\n", | |
" <th>name</th>\n", | |
" <th>country</th>\n", | |
" <th>sex</th>\n", | |
" <th>title</th>\n", | |
" <th>w_title</th>\n", | |
" <th>o_title</th>\n", | |
" <th>foa_title</th>\n", | |
" <th>rating</th>\n", | |
" <th>games</th>\n", | |
" <th>k</th>\n", | |
" <th>birthday</th>\n", | |
" <th>flag</th>\n", | |
" </tr>\n", | |
" </thead>\n", | |
" <tbody>\n", | |
" <tr>\n", | |
" <th>0</th>\n", | |
" <td>1503014</td>\n", | |
" <td>Carlsen, Magnus</td>\n", | |
" <td>NOR</td>\n", | |
" <td>M</td>\n", | |
" <td>GM</td>\n", | |
" <td>None</td>\n", | |
" <td>None</td>\n", | |
" <td>None</td>\n", | |
" <td>2856</td>\n", | |
" <td>1</td>\n", | |
" <td>10</td>\n", | |
" <td>1990.0</td>\n", | |
" <td>None</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>1</th>\n", | |
" <td>12573981</td>\n", | |
" <td>Firouzja, Alireza</td>\n", | |
" <td>FRA</td>\n", | |
" <td>M</td>\n", | |
" <td>GM</td>\n", | |
" <td>None</td>\n", | |
" <td>None</td>\n", | |
" <td>None</td>\n", | |
" <td>2804</td>\n", | |
" <td>20</td>\n", | |
" <td>10</td>\n", | |
" <td>2003.0</td>\n", | |
" <td>None</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2</th>\n", | |
" <td>8603677</td>\n", | |
" <td>Ding, Liren</td>\n", | |
" <td>CHN</td>\n", | |
" <td>M</td>\n", | |
" <td>GM</td>\n", | |
" <td>None</td>\n", | |
" <td>None</td>\n", | |
" <td>None</td>\n", | |
" <td>2799</td>\n", | |
" <td>4</td>\n", | |
" <td>10</td>\n", | |
" <td>1992.0</td>\n", | |
" <td>None</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>3</th>\n", | |
" <td>2020009</td>\n", | |
" <td>Caruana, Fabiano</td>\n", | |
" <td>USA</td>\n", | |
" <td>M</td>\n", | |
" <td>GM</td>\n", | |
" <td>None</td>\n", | |
" <td>None</td>\n", | |
" <td>None</td>\n", | |
" <td>2792</td>\n", | |
" <td>11</td>\n", | |
" <td>10</td>\n", | |
" <td>1992.0</td>\n", | |
" <td>None</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>4</th>\n", | |
" <td>4168119</td>\n", | |
" <td>Nepomniachtchi, Ian</td>\n", | |
" <td>RUS</td>\n", | |
" <td>M</td>\n", | |
" <td>GM</td>\n", | |
" <td>None</td>\n", | |
" <td>None</td>\n", | |
" <td>None</td>\n", | |
" <td>2782</td>\n", | |
" <td>0</td>\n", | |
" <td>10</td>\n", | |
" <td>1990.0</td>\n", | |
" <td>None</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>...</th>\n", | |
" <td>...</td>\n", | |
" <td>...</td>\n", | |
" <td>...</td>\n", | |
" <td>...</td>\n", | |
" <td>...</td>\n", | |
" <td>...</td>\n", | |
" <td>...</td>\n", | |
" <td>...</td>\n", | |
" <td>...</td>\n", | |
" <td>...</td>\n", | |
" <td>...</td>\n", | |
" <td>...</td>\n", | |
" <td>...</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>178129</th>\n", | |
" <td>25901877</td>\n", | |
" <td>Smriti Rajesh Kumar</td>\n", | |
" <td>IND</td>\n", | |
" <td>F</td>\n", | |
" <td>None</td>\n", | |
" <td>None</td>\n", | |
" <td>None</td>\n", | |
" <td>None</td>\n", | |
" <td>1001</td>\n", | |
" <td>0</td>\n", | |
" <td>40</td>\n", | |
" <td>2005.0</td>\n", | |
" <td>wi</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>178130</th>\n", | |
" <td>9954708</td>\n", | |
" <td>Goonetilleke, Chanul</td>\n", | |
" <td>SRI</td>\n", | |
" <td>M</td>\n", | |
" <td>None</td>\n", | |
" <td>None</td>\n", | |
" <td>None</td>\n", | |
" <td>None</td>\n", | |
" <td>1001</td>\n", | |
" <td>0</td>\n", | |
" <td>40</td>\n", | |
" <td>2004.0</td>\n", | |
" <td>None</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>178131</th>\n", | |
" <td>55622976</td>\n", | |
" <td>Gulyaeva, Eseniya</td>\n", | |
" <td>RUS</td>\n", | |
" <td>F</td>\n", | |
" <td>None</td>\n", | |
" <td>None</td>\n", | |
" <td>None</td>\n", | |
" <td>None</td>\n", | |
" <td>1001</td>\n", | |
" <td>5</td>\n", | |
" <td>40</td>\n", | |
" <td>2011.0</td>\n", | |
" <td>w</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>178132</th>\n", | |
" <td>32738870</td>\n", | |
" <td>Salmani, Mohammad Parsa</td>\n", | |
" <td>IRI</td>\n", | |
" <td>M</td>\n", | |
" <td>None</td>\n", | |
" <td>None</td>\n", | |
" <td>None</td>\n", | |
" <td>None</td>\n", | |
" <td>1001</td>\n", | |
" <td>0</td>\n", | |
" <td>40</td>\n", | |
" <td>2011.0</td>\n", | |
" <td>None</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>178133</th>\n", | |
" <td>25600389</td>\n", | |
" <td>Samadrita Mukherjee (Rai)</td>\n", | |
" <td>IND</td>\n", | |
" <td>F</td>\n", | |
" <td>None</td>\n", | |
" <td>None</td>\n", | |
" <td>None</td>\n", | |
" <td>None</td>\n", | |
" <td>1001</td>\n", | |
" <td>0</td>\n", | |
" <td>40</td>\n", | |
" <td>2008.0</td>\n", | |
" <td>wi</td>\n", | |
" </tr>\n", | |
" </tbody>\n", | |
"</table>\n", | |
"<p>178134 rows × 13 columns</p>\n", | |
"</div>" | |
], | |
"text/plain": [ | |
" fideid name country sex title w_title o_title \\\n", | |
"0 1503014 Carlsen, Magnus NOR M GM None None \n", | |
"1 12573981 Firouzja, Alireza FRA M GM None None \n", | |
"2 8603677 Ding, Liren CHN M GM None None \n", | |
"3 2020009 Caruana, Fabiano USA M GM None None \n", | |
"4 4168119 Nepomniachtchi, Ian RUS M GM None None \n", | |
"... ... ... ... .. ... ... ... \n", | |
"178129 25901877 Smriti Rajesh Kumar IND F None None None \n", | |
"178130 9954708 Goonetilleke, Chanul SRI M None None None \n", | |
"178131 55622976 Gulyaeva, Eseniya RUS F None None None \n", | |
"178132 32738870 Salmani, Mohammad Parsa IRI M None None None \n", | |
"178133 25600389 Samadrita Mukherjee (Rai) IND F None None None \n", | |
"\n", | |
" foa_title rating games k birthday flag \n", | |
"0 None 2856 1 10 1990.0 None \n", | |
"1 None 2804 20 10 2003.0 None \n", | |
"2 None 2799 4 10 1992.0 None \n", | |
"3 None 2792 11 10 1992.0 None \n", | |
"4 None 2782 0 10 1990.0 None \n", | |
"... ... ... ... .. ... ... \n", | |
"178129 None 1001 0 40 2005.0 wi \n", | |
"178130 None 1001 0 40 2004.0 None \n", | |
"178131 None 1001 5 40 2011.0 w \n", | |
"178132 None 1001 0 40 2011.0 None \n", | |
"178133 None 1001 0 40 2008.0 wi \n", | |
"\n", | |
"[178134 rows x 13 columns]" | |
] | |
}, | |
"execution_count": 8, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"df" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 9, | |
"id": "20e0a604", | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/html": [ | |
"<div>\n", | |
"<style scoped>\n", | |
" .dataframe tbody tr th:only-of-type {\n", | |
" vertical-align: middle;\n", | |
" }\n", | |
"\n", | |
" .dataframe tbody tr th {\n", | |
" vertical-align: top;\n", | |
" }\n", | |
"\n", | |
" .dataframe thead th {\n", | |
" text-align: right;\n", | |
" }\n", | |
"</style>\n", | |
"<table border=\"1\" class=\"dataframe\">\n", | |
" <thead>\n", | |
" <tr style=\"text-align: right;\">\n", | |
" <th></th>\n", | |
" <th>fideid</th>\n", | |
" <th>name</th>\n", | |
" <th>country</th>\n", | |
" <th>sex</th>\n", | |
" <th>title</th>\n", | |
" <th>w_title</th>\n", | |
" <th>o_title</th>\n", | |
" <th>foa_title</th>\n", | |
" <th>rating</th>\n", | |
" <th>games</th>\n", | |
" <th>k</th>\n", | |
" <th>birthday</th>\n", | |
" <th>flag</th>\n", | |
" </tr>\n", | |
" </thead>\n", | |
" <tbody>\n", | |
" <tr>\n", | |
" <th>376</th>\n", | |
" <td>4120680</td>\n", | |
" <td>Sviridov, Valery</td>\n", | |
" <td>RUS</td>\n", | |
" <td>M</td>\n", | |
" <td>None</td>\n", | |
" <td>None</td>\n", | |
" <td>None</td>\n", | |
" <td>None</td>\n", | |
" <td>2562</td>\n", | |
" <td>0</td>\n", | |
" <td>10</td>\n", | |
" <td>1991.0</td>\n", | |
" <td>None</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>435</th>\n", | |
" <td>14531534</td>\n", | |
" <td>Livaic, Leon</td>\n", | |
" <td>CRO</td>\n", | |
" <td>M</td>\n", | |
" <td>IM</td>\n", | |
" <td>None</td>\n", | |
" <td>None</td>\n", | |
" <td>None</td>\n", | |
" <td>2547</td>\n", | |
" <td>3</td>\n", | |
" <td>10</td>\n", | |
" <td>2000.0</td>\n", | |
" <td>None</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>436</th>\n", | |
" <td>2911086</td>\n", | |
" <td>Petrov, Martin</td>\n", | |
" <td>BUL</td>\n", | |
" <td>M</td>\n", | |
" <td>IM</td>\n", | |
" <td>None</td>\n", | |
" <td>None</td>\n", | |
" <td>None</td>\n", | |
" <td>2547</td>\n", | |
" <td>9</td>\n", | |
" <td>10</td>\n", | |
" <td>2000.0</td>\n", | |
" <td>None</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>450</th>\n", | |
" <td>4156013</td>\n", | |
" <td>Obolenskikh, Dmitry</td>\n", | |
" <td>RUS</td>\n", | |
" <td>M</td>\n", | |
" <td>IM</td>\n", | |
" <td>None</td>\n", | |
" <td>None</td>\n", | |
" <td>None</td>\n", | |
" <td>2543</td>\n", | |
" <td>0</td>\n", | |
" <td>10</td>\n", | |
" <td>1985.0</td>\n", | |
" <td>None</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>453</th>\n", | |
" <td>121576</td>\n", | |
" <td>Sosa, Tomas</td>\n", | |
" <td>ARG</td>\n", | |
" <td>M</td>\n", | |
" <td>IM</td>\n", | |
" <td>None</td>\n", | |
" <td>None</td>\n", | |
" <td>None</td>\n", | |
" <td>2542</td>\n", | |
" <td>0</td>\n", | |
" <td>10</td>\n", | |
" <td>1998.0</td>\n", | |
" <td>None</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>...</th>\n", | |
" <td>...</td>\n", | |
" <td>...</td>\n", | |
" <td>...</td>\n", | |
" <td>...</td>\n", | |
" <td>...</td>\n", | |
" <td>...</td>\n", | |
" <td>...</td>\n", | |
" <td>...</td>\n", | |
" <td>...</td>\n", | |
" <td>...</td>\n", | |
" <td>...</td>\n", | |
" <td>...</td>\n", | |
" <td>...</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>178129</th>\n", | |
" <td>25901877</td>\n", | |
" <td>Smriti Rajesh Kumar</td>\n", | |
" <td>IND</td>\n", | |
" <td>F</td>\n", | |
" <td>None</td>\n", | |
" <td>None</td>\n", | |
" <td>None</td>\n", | |
" <td>None</td>\n", | |
" <td>1001</td>\n", | |
" <td>0</td>\n", | |
" <td>40</td>\n", | |
" <td>2005.0</td>\n", | |
" <td>wi</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>178130</th>\n", | |
" <td>9954708</td>\n", | |
" <td>Goonetilleke, Chanul</td>\n", | |
" <td>SRI</td>\n", | |
" <td>M</td>\n", | |
" <td>None</td>\n", | |
" <td>None</td>\n", | |
" <td>None</td>\n", | |
" <td>None</td>\n", | |
" <td>1001</td>\n", | |
" <td>0</td>\n", | |
" <td>40</td>\n", | |
" <td>2004.0</td>\n", | |
" <td>None</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>178131</th>\n", | |
" <td>55622976</td>\n", | |
" <td>Gulyaeva, Eseniya</td>\n", | |
" <td>RUS</td>\n", | |
" <td>F</td>\n", | |
" <td>None</td>\n", | |
" <td>None</td>\n", | |
" <td>None</td>\n", | |
" <td>None</td>\n", | |
" <td>1001</td>\n", | |
" <td>5</td>\n", | |
" <td>40</td>\n", | |
" <td>2011.0</td>\n", | |
" <td>w</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>178132</th>\n", | |
" <td>32738870</td>\n", | |
" <td>Salmani, Mohammad Parsa</td>\n", | |
" <td>IRI</td>\n", | |
" <td>M</td>\n", | |
" <td>None</td>\n", | |
" <td>None</td>\n", | |
" <td>None</td>\n", | |
" <td>None</td>\n", | |
" <td>1001</td>\n", | |
" <td>0</td>\n", | |
" <td>40</td>\n", | |
" <td>2011.0</td>\n", | |
" <td>None</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>178133</th>\n", | |
" <td>25600389</td>\n", | |
" <td>Samadrita Mukherjee (Rai)</td>\n", | |
" <td>IND</td>\n", | |
" <td>F</td>\n", | |
" <td>None</td>\n", | |
" <td>None</td>\n", | |
" <td>None</td>\n", | |
" <td>None</td>\n", | |
" <td>1001</td>\n", | |
" <td>0</td>\n", | |
" <td>40</td>\n", | |
" <td>2008.0</td>\n", | |
" <td>wi</td>\n", | |
" </tr>\n", | |
" </tbody>\n", | |
"</table>\n", | |
"<p>176823 rows × 13 columns</p>\n", | |
"</div>" | |
], | |
"text/plain": [ | |
" fideid name country sex title w_title o_title \\\n", | |
"376 4120680 Sviridov, Valery RUS M None None None \n", | |
"435 14531534 Livaic, Leon CRO M IM None None \n", | |
"436 2911086 Petrov, Martin BUL M IM None None \n", | |
"450 4156013 Obolenskikh, Dmitry RUS M IM None None \n", | |
"453 121576 Sosa, Tomas ARG M IM None None \n", | |
"... ... ... ... .. ... ... ... \n", | |
"178129 25901877 Smriti Rajesh Kumar IND F None None None \n", | |
"178130 9954708 Goonetilleke, Chanul SRI M None None None \n", | |
"178131 55622976 Gulyaeva, Eseniya RUS F None None None \n", | |
"178132 32738870 Salmani, Mohammad Parsa IRI M None None None \n", | |
"178133 25600389 Samadrita Mukherjee (Rai) IND F None None None \n", | |
"\n", | |
" foa_title rating games k birthday flag \n", | |
"376 None 2562 0 10 1991.0 None \n", | |
"435 None 2547 3 10 2000.0 None \n", | |
"436 None 2547 9 10 2000.0 None \n", | |
"450 None 2543 0 10 1985.0 None \n", | |
"453 None 2542 0 10 1998.0 None \n", | |
"... ... ... ... .. ... ... \n", | |
"178129 None 1001 0 40 2005.0 wi \n", | |
"178130 None 1001 0 40 2004.0 None \n", | |
"178131 None 1001 5 40 2011.0 w \n", | |
"178132 None 1001 0 40 2011.0 None \n", | |
"178133 None 1001 0 40 2008.0 wi \n", | |
"\n", | |
"[176823 rows x 13 columns]" | |
] | |
}, | |
"execution_count": 9, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"df[df.title != 'GM']" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"id": "5b27497f", | |
"metadata": {}, | |
"outputs": [], | |
"source": [] | |
} | |
], | |
"metadata": { | |
"kernelspec": { | |
"display_name": "Python 3 (ipykernel)", | |
"language": "python", | |
"name": "python3" | |
}, | |
"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.9.7" | |
} | |
}, | |
"nbformat": 4, | |
"nbformat_minor": 5 | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment