Skip to content

Instantly share code, notes, and snippets.

@voteblake
Created December 23, 2021 06:59
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save voteblake/8245bff0b39d332cd897b30ec9f75323 to your computer and use it in GitHub Desktop.
Save voteblake/8245bff0b39d332cd897b30ec9f75323 to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"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