{ "cells": [ { "cell_type": "code", "execution_count": 1, "id": "d8185790-0793-4881-99e8-6730f95a8006", "metadata": { "execution": { "iopub.execute_input": "2022-06-23T23:01:31.065905Z", "iopub.status.busy": "2022-06-23T23:01:31.065496Z", "iopub.status.idle": "2022-06-23T23:01:31.544067Z", "shell.execute_reply": "2022-06-23T23:01:31.542907Z", "shell.execute_reply.started": "2022-06-23T23:01:31.065831Z" }, "tags": [] }, "outputs": [], "source": [ "import json\n", "import pathlib\n", "\n", "import pandas as pd" ] }, { "cell_type": "code", "execution_count": 2, "id": "ea2b3e33-d58e-4e30-a0cc-8218a1f252c9", "metadata": { "execution": { "iopub.execute_input": "2022-06-23T23:01:31.792796Z", "iopub.status.busy": "2022-06-23T23:01:31.792121Z", "iopub.status.idle": "2022-06-23T23:01:31.808265Z", "shell.execute_reply": "2022-06-23T23:01:31.807317Z", "shell.execute_reply.started": "2022-06-23T23:01:31.792751Z" }, "tags": [] }, "outputs": [ { "data": { "text/plain": [ "[None]" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "pd_options = {\n", " \"display.max_rows\": None,\n", "}\n", "\n", "[pd.set_option(option, value) for option, value in pd_options.items()]" ] }, { "cell_type": "code", "execution_count": 3, "id": "36149580-91d9-431d-99c3-51feee829e79", "metadata": { "execution": { "iopub.execute_input": "2022-06-23T23:01:32.912901Z", "iopub.status.busy": "2022-06-23T23:01:32.912446Z", "iopub.status.idle": "2022-06-23T23:01:32.917561Z", "shell.execute_reply": "2022-06-23T23:01:32.916608Z", "shell.execute_reply.started": "2022-06-23T23:01:32.912867Z" }, "tags": [] }, "outputs": [], "source": [ "data_directory = (\n", " pathlib.Path(\".\").resolve().parents[1] / \"data\" / \"scrapy\" / \"raw_country_data\"\n", ")" ] }, { "cell_type": "code", "execution_count": 23, "id": "d03be94e-8642-4916-8a43-1711e0c21b36", "metadata": { "execution": { "iopub.execute_input": "2022-06-24T00:14:02.657283Z", "iopub.status.busy": "2022-06-24T00:14:02.656916Z", "iopub.status.idle": "2022-06-24T00:14:02.728545Z", "shell.execute_reply": "2022-06-24T00:14:02.726698Z", "shell.execute_reply.started": "2022-06-24T00:14:02.657254Z" }, "tags": [] }, "outputs": [ { "ename": "JSONDecodeError", "evalue": "Extra data: line 83 column 2 (char 2276290)", "output_type": "error", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mJSONDecodeError\u001b[0m Traceback (most recent call last)", "Input \u001b[0;32mIn [23]\u001b[0m, in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[1;32m 1\u001b[0m countries_file \u001b[38;5;241m=\u001b[39m data_directory \u001b[38;5;241m/\u001b[39m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mcountries.json\u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[0;32m----> 2\u001b[0m countries \u001b[38;5;241m=\u001b[39m \u001b[43mjson\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mloads\u001b[49m\u001b[43m(\u001b[49m\u001b[43mcountries_file\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mread_text\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 3\u001b[0m countries\n", "File \u001b[0;32m~/.pyenv/versions/3.8.12/lib/python3.8/json/__init__.py:357\u001b[0m, in \u001b[0;36mloads\u001b[0;34m(s, cls, object_hook, parse_float, parse_int, parse_constant, object_pairs_hook, **kw)\u001b[0m\n\u001b[1;32m 352\u001b[0m \u001b[38;5;28;01mdel\u001b[39;00m kw[\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mencoding\u001b[39m\u001b[38;5;124m'\u001b[39m]\n\u001b[1;32m 354\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m (\u001b[38;5;28mcls\u001b[39m \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m \u001b[38;5;129;01mand\u001b[39;00m object_hook \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m \u001b[38;5;129;01mand\u001b[39;00m\n\u001b[1;32m 355\u001b[0m parse_int \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m \u001b[38;5;129;01mand\u001b[39;00m parse_float \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m \u001b[38;5;129;01mand\u001b[39;00m\n\u001b[1;32m 356\u001b[0m parse_constant \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m \u001b[38;5;129;01mand\u001b[39;00m object_pairs_hook \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m \u001b[38;5;129;01mand\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m kw):\n\u001b[0;32m--> 357\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43m_default_decoder\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mdecode\u001b[49m\u001b[43m(\u001b[49m\u001b[43ms\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 358\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mcls\u001b[39m \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n\u001b[1;32m 359\u001b[0m \u001b[38;5;28mcls\u001b[39m \u001b[38;5;241m=\u001b[39m JSONDecoder\n", "File \u001b[0;32m~/.pyenv/versions/3.8.12/lib/python3.8/json/decoder.py:340\u001b[0m, in \u001b[0;36mJSONDecoder.decode\u001b[0;34m(self, s, _w)\u001b[0m\n\u001b[1;32m 338\u001b[0m end \u001b[38;5;241m=\u001b[39m _w(s, end)\u001b[38;5;241m.\u001b[39mend()\n\u001b[1;32m 339\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m end \u001b[38;5;241m!=\u001b[39m \u001b[38;5;28mlen\u001b[39m(s):\n\u001b[0;32m--> 340\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m JSONDecodeError(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mExtra data\u001b[39m\u001b[38;5;124m\"\u001b[39m, s, end)\n\u001b[1;32m 341\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m obj\n", "\u001b[0;31mJSONDecodeError\u001b[0m: Extra data: line 83 column 2 (char 2276290)" ] } ], "source": [ "countries_file = data_directory / \"countries.json\"\n", "countries = json.loads(countries_file.read_text())\n", "countries" ] }, { "cell_type": "code", "execution_count": 21, "id": "29cca9ea-16d3-4534-8c9e-49fde37f8cdd", "metadata": { "execution": { "iopub.execute_input": "2022-06-24T00:13:20.594318Z", "iopub.status.busy": "2022-06-24T00:13:20.593642Z", "iopub.status.idle": "2022-06-24T00:13:20.718607Z", "shell.execute_reply": "2022-06-24T00:13:20.717214Z", "shell.execute_reply.started": "2022-06-24T00:13:20.594287Z" }, "tags": [] }, "outputs": [ { "ename": "ValueError", "evalue": "Trailing data", "output_type": "error", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mValueError\u001b[0m Traceback (most recent call last)", "Input \u001b[0;32mIn [21]\u001b[0m, in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0m df \u001b[38;5;241m=\u001b[39m \u001b[43mpd\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mread_json\u001b[49m\u001b[43m(\u001b[49m\u001b[43mcountries_file\u001b[49m\u001b[43m)\u001b[49m\n", "File \u001b[0;32m~/git-repos/geography-anki/playground/downloaded_data_inspection/.venv/lib/python3.8/site-packages/pandas/util/_decorators.py:207\u001b[0m, in \u001b[0;36mdeprecate_kwarg.._deprecate_kwarg..wrapper\u001b[0;34m(*args, **kwargs)\u001b[0m\n\u001b[1;32m 205\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[1;32m 206\u001b[0m kwargs[new_arg_name] \u001b[38;5;241m=\u001b[39m new_arg_value\n\u001b[0;32m--> 207\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mfunc\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n", "File \u001b[0;32m~/git-repos/geography-anki/playground/downloaded_data_inspection/.venv/lib/python3.8/site-packages/pandas/util/_decorators.py:311\u001b[0m, in \u001b[0;36mdeprecate_nonkeyword_arguments..decorate..wrapper\u001b[0;34m(*args, **kwargs)\u001b[0m\n\u001b[1;32m 305\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mlen\u001b[39m(args) \u001b[38;5;241m>\u001b[39m num_allow_args:\n\u001b[1;32m 306\u001b[0m warnings\u001b[38;5;241m.\u001b[39mwarn(\n\u001b[1;32m 307\u001b[0m msg\u001b[38;5;241m.\u001b[39mformat(arguments\u001b[38;5;241m=\u001b[39marguments),\n\u001b[1;32m 308\u001b[0m \u001b[38;5;167;01mFutureWarning\u001b[39;00m,\n\u001b[1;32m 309\u001b[0m stacklevel\u001b[38;5;241m=\u001b[39mstacklevel,\n\u001b[1;32m 310\u001b[0m )\n\u001b[0;32m--> 311\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mfunc\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n", "File \u001b[0;32m~/git-repos/geography-anki/playground/downloaded_data_inspection/.venv/lib/python3.8/site-packages/pandas/io/json/_json.py:612\u001b[0m, in \u001b[0;36mread_json\u001b[0;34m(path_or_buf, orient, typ, dtype, convert_axes, convert_dates, keep_default_dates, numpy, precise_float, date_unit, encoding, encoding_errors, lines, chunksize, compression, nrows, storage_options)\u001b[0m\n\u001b[1;32m 609\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m json_reader\n\u001b[1;32m 611\u001b[0m \u001b[38;5;28;01mwith\u001b[39;00m json_reader:\n\u001b[0;32m--> 612\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mjson_reader\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mread\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n", "File \u001b[0;32m~/git-repos/geography-anki/playground/downloaded_data_inspection/.venv/lib/python3.8/site-packages/pandas/io/json/_json.py:746\u001b[0m, in \u001b[0;36mJsonReader.read\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 744\u001b[0m obj \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_get_object_parser(\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_combine_lines(data_lines))\n\u001b[1;32m 745\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[0;32m--> 746\u001b[0m obj \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_get_object_parser\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mdata\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 747\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mclose()\n\u001b[1;32m 748\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m obj\n", "File \u001b[0;32m~/git-repos/geography-anki/playground/downloaded_data_inspection/.venv/lib/python3.8/site-packages/pandas/io/json/_json.py:768\u001b[0m, in \u001b[0;36mJsonReader._get_object_parser\u001b[0;34m(self, json)\u001b[0m\n\u001b[1;32m 766\u001b[0m obj \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mNone\u001b[39;00m\n\u001b[1;32m 767\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m typ \u001b[38;5;241m==\u001b[39m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mframe\u001b[39m\u001b[38;5;124m\"\u001b[39m:\n\u001b[0;32m--> 768\u001b[0m obj \u001b[38;5;241m=\u001b[39m \u001b[43mFrameParser\u001b[49m\u001b[43m(\u001b[49m\u001b[43mjson\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mparse\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 770\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m typ \u001b[38;5;241m==\u001b[39m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mseries\u001b[39m\u001b[38;5;124m\"\u001b[39m \u001b[38;5;129;01mor\u001b[39;00m obj \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n\u001b[1;32m 771\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28misinstance\u001b[39m(dtype, \u001b[38;5;28mbool\u001b[39m):\n", "File \u001b[0;32m~/git-repos/geography-anki/playground/downloaded_data_inspection/.venv/lib/python3.8/site-packages/pandas/io/json/_json.py:880\u001b[0m, in \u001b[0;36mParser.parse\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 878\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_parse_numpy()\n\u001b[1;32m 879\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[0;32m--> 880\u001b[0m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_parse_no_numpy\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 882\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mobj \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n\u001b[1;32m 883\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m\n", "File \u001b[0;32m~/git-repos/geography-anki/playground/downloaded_data_inspection/.venv/lib/python3.8/site-packages/pandas/io/json/_json.py:1133\u001b[0m, in \u001b[0;36mFrameParser._parse_no_numpy\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 1129\u001b[0m orient \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39morient\n\u001b[1;32m 1131\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m orient \u001b[38;5;241m==\u001b[39m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mcolumns\u001b[39m\u001b[38;5;124m\"\u001b[39m:\n\u001b[1;32m 1132\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mobj \u001b[38;5;241m=\u001b[39m DataFrame(\n\u001b[0;32m-> 1133\u001b[0m \u001b[43mloads\u001b[49m\u001b[43m(\u001b[49m\u001b[43mjson\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mprecise_float\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mprecise_float\u001b[49m\u001b[43m)\u001b[49m, dtype\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mNone\u001b[39;00m\n\u001b[1;32m 1134\u001b[0m )\n\u001b[1;32m 1135\u001b[0m \u001b[38;5;28;01melif\u001b[39;00m orient \u001b[38;5;241m==\u001b[39m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124msplit\u001b[39m\u001b[38;5;124m\"\u001b[39m:\n\u001b[1;32m 1136\u001b[0m decoded \u001b[38;5;241m=\u001b[39m {\n\u001b[1;32m 1137\u001b[0m \u001b[38;5;28mstr\u001b[39m(k): v\n\u001b[1;32m 1138\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m k, v \u001b[38;5;129;01min\u001b[39;00m loads(json, precise_float\u001b[38;5;241m=\u001b[39m\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mprecise_float)\u001b[38;5;241m.\u001b[39mitems()\n\u001b[1;32m 1139\u001b[0m }\n", "\u001b[0;31mValueError\u001b[0m: Trailing data" ] } ], "source": [ "df = pd.read_json(countries_file)" ] }, { "cell_type": "code", "execution_count": 14, "id": "ef8bc3ce-08dd-4260-807c-2616b2e1c1ba", "metadata": { "execution": { "iopub.execute_input": "2022-06-23T23:05:33.776164Z", "iopub.status.busy": "2022-06-23T23:05:33.775761Z", "iopub.status.idle": "2022-06-23T23:05:33.782482Z", "shell.execute_reply": "2022-06-23T23:05:33.781523Z", "shell.execute_reply.started": "2022-06-23T23:05:33.776132Z" }, "tags": [] }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "(206,)\n", "[False]\n", "[False]\n" ] } ], "source": [ "country_url = df[\"country_url\"]\n", "print(country_url.shape)\n", "print(country_url.isnull().unique())\n", "print(country_url.isna().unique())" ] }, { "cell_type": "code", "execution_count": 15, "id": "48db8f93-659b-45a4-8477-a7cec139bebc", "metadata": { "execution": { "iopub.execute_input": "2022-06-23T23:05:34.455157Z", "iopub.status.busy": "2022-06-23T23:05:34.454626Z", "iopub.status.idle": "2022-06-23T23:05:34.464728Z", "shell.execute_reply": "2022-06-23T23:05:34.463338Z", "shell.execute_reply.started": "2022-06-23T23:05:34.455117Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "(206,)\n", "[False]\n", "[False]\n" ] } ], "source": [ "short_country_name = df[\"short_country_name\"]\n", "print(short_country_name.shape)\n", "print(short_country_name.isnull().unique())\n", "print(short_country_name.isna().unique())" ] }, { "cell_type": "code", "execution_count": 16, "id": "a52f6aa2-5bbd-46e4-9b2f-cdbd7269cb6e", "metadata": { "execution": { "iopub.execute_input": "2022-06-23T23:05:35.088529Z", "iopub.status.busy": "2022-06-23T23:05:35.088020Z", "iopub.status.idle": "2022-06-23T23:05:35.096880Z", "shell.execute_reply": "2022-06-23T23:05:35.095870Z", "shell.execute_reply.started": "2022-06-23T23:05:35.088490Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "(206,)\n", "[False]\n", "[False]\n" ] } ], "source": [ "flag_description = df[\"flag_description\"]\n", "print(flag_description.shape)\n", "print(flag_description.isnull().unique())\n", "print(flag_description.isna().unique())" ] }, { "cell_type": "code", "execution_count": 17, "id": "643e6512-1e5b-4eb2-9f0a-6b680ada787b", "metadata": { "execution": { "iopub.execute_input": "2022-06-23T23:05:35.979818Z", "iopub.status.busy": "2022-06-23T23:05:35.979064Z", "iopub.status.idle": "2022-06-23T23:05:35.993588Z", "shell.execute_reply": "2022-06-23T23:05:35.992386Z", "shell.execute_reply.started": "2022-06-23T23:05:35.979769Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "11\n" ] }, { "data": { "text/plain": [ "[[{'url': 'https://upload.wikimedia.org/wikipedia/commons/5/5c/Flag_of_the_Taliban.svg',\n", " 'path': 'files/flags/Flag_of_the_Taliban.svg',\n", " 'checksum': '153b7b9dc8133d542e744f5ff6102710',\n", " 'status': 'downloaded'}],\n", " [{'url': 'https://upload.wikimedia.org/wikipedia/commons/5/50/Flag_of_Burundi.svg',\n", " 'path': 'files/flags/Flag_of_Burundi.svg',\n", " 'checksum': '08f6719ece3f3a45661e629e8a7a3dc4',\n", " 'status': 'downloaded'}],\n", " [{'url': 'https://upload.wikimedia.org/wikipedia/commons/b/bf/Flag_of_Bosnia_and_Herzegovina.svg',\n", " 'path': 'files/flags/Flag_of_Bosnia_and_Herzegovina.svg',\n", " 'checksum': '38a248a0da355ec7d6591e67489ed08b',\n", " 'status': 'downloaded'}],\n", " [{'url': 'https://upload.wikimedia.org/wikipedia/commons/b/bc/Flag_of_Transnistria_%28state%29.svg',\n", " 'path': 'files/flags/Flag_of_Transnistria_%28state%29.svg',\n", " 'checksum': 'b94340e38c45f716216d05968158ee9c',\n", " 'status': 'downloaded'}],\n", " [{'url': 'https://upload.wikimedia.org/wikipedia/commons/3/38/Flag_of_Tuvalu.svg',\n", " 'path': 'files/flags/Flag_of_Tuvalu.svg',\n", " 'checksum': '096e1716f1863eb3fddc1291434907f7',\n", " 'status': 'downloaded'}],\n", " [{'url': 'https://upload.wikimedia.org/wikipedia/commons/f/f4/Flag_of_Niger.svg',\n", " 'path': 'files/flags/Flag_of_Niger.svg',\n", " 'checksum': '0c4322271e2aecc54aec87a8935228f0',\n", " 'status': 'downloaded'}],\n", " [{'url': 'https://upload.wikimedia.org/wikipedia/commons/3/3e/Flag_of_New_Zealand.svg',\n", " 'path': 'files/flags/Flag_of_New_Zealand.svg',\n", " 'checksum': '7d1ea3d5c1fee2c14d81152169da672b',\n", " 'status': 'downloaded'}],\n", " [{'url': 'https://upload.wikimedia.org/wikipedia/commons/3/30/Flag_of_Nauru.svg',\n", " 'path': 'files/flags/Flag_of_Nauru.svg',\n", " 'checksum': '2526a443e0f48c0a8ee7c3314bf15f85',\n", " 'status': 'downloaded'}],\n", " [{'url': 'https://upload.wikimedia.org/wikipedia/commons/5/51/Flag_of_North_Korea.svg',\n", " 'path': 'files/flags/Flag_of_North_Korea.svg',\n", " 'checksum': 'a9f988e5c3b8644f1555b6830600581c',\n", " 'status': 'downloaded'}],\n", " [{'url': 'https://upload.wikimedia.org/wikipedia/commons/c/c1/Flag_of_Hungary.svg',\n", " 'path': 'files/flags/Flag_of_Hungary.svg',\n", " 'checksum': '164af2ef3ec9e4ddd560d6eb0fe982a2',\n", " 'status': 'downloaded'}],\n", " [{'url': 'https://upload.wikimedia.org/wikipedia/commons/f/f6/Flag_of_Denmark_%28state%29.svg',\n", " 'path': 'files/flags/Flag_of_Denmark_%28state%29.svg',\n", " 'checksum': 'c39cfa20d6a4bb16e0dadc83c0214013',\n", " 'status': 'downloaded'}]]" ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" } ], "source": [ "no_anthem = [item for item in [df[\"files\"]][0] if len(item) == 1]\n", "print(len(no_anthem))\n", "no_anthem" ] }, { "cell_type": "code", "execution_count": null, "id": "227b0c76-9e45-4849-849e-36355976cba9", "metadata": { "tags": [] }, "outputs": [], "source": [ "df[\"short_country_name\"]" ] }, { "cell_type": "code", "execution_count": null, "id": "f7712d7d-9074-4fc5-89f2-6e5f47c57d20", "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.8.12" }, "toc-autonumbering": true, "toc-showcode": false }, "nbformat": 4, "nbformat_minor": 5 }