{"metadata":{"kernelspec":{"language":"python","display_name":"Python 3","name":"python3"},"language_info":{"pygments_lexer":"ipython3","nbconvert_exporter":"python","version":"3.6.4","file_extension":".py","codemirror_mode":{"name":"ipython","version":3},"name":"python","mimetype":"text/x-python"}},"nbformat_minor":4,"nbformat":4,"cells":[{"cell_type":"code","source":"# This Python 3 environment comes with many helpful analytics libraries installed\n# It is defined by the kaggle/python Docker image: https://github.com/kaggle/docker-python\n# For example, here's several helpful packages to load\n\nimport numpy as np # linear algebra\nimport pandas as pd # data processing, CSV file I/O (e.g. pd.read_csv)\n\n# Input data files are available in the read-only \"../input/\" directory\n# For example, running this (by clicking run or pressing Shift+Enter) will list all files under the input directory\n\nimport os\nfor dirname, _, filenames in os.walk('/kaggle/input'):\n    for filename in filenames:\n        print(os.path.join(dirname, filename))\n\n# You can write up to 20GB to the current directory (/kaggle/working/) that gets preserved as output when you create a version using \"Save & Run All\" \n# You can also write temporary files to /kaggle/temp/, but they won't be saved outside of the current session","metadata":{"_uuid":"8f2839f25d086af736a60e9eeb907d3b93b6e0e5","_cell_guid":"b1076dfc-b9ad-4769-8c92-a6c4dae69d19","execution":{"iopub.status.busy":"2022-08-14T07:56:19.064846Z","iopub.execute_input":"2022-08-14T07:56:19.065280Z","iopub.status.idle":"2022-08-14T07:56:19.074634Z","shell.execute_reply.started":"2022-08-14T07:56:19.065245Z","shell.execute_reply":"2022-08-14T07:56:19.073584Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"df = pd.read_csv('/kaggle/input/big-data-derby-2022/nyra_2019_complete.csv')","metadata":{"execution":{"iopub.status.busy":"2022-08-14T07:56:19.076388Z","iopub.execute_input":"2022-08-14T07:56:19.076928Z","iopub.status.idle":"2022-08-14T07:56:33.442391Z","shell.execute_reply.started":"2022-08-14T07:56:19.076893Z","shell.execute_reply":"2022-08-14T07:56:33.441122Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"df_aqu_newyears = df[(df['track_id'] == 'AQU') & (df['race_date'] == \"2019-01-01\")]\ndf_small = df_aqu_newyears[(df_aqu_newyears['race_number'] == 9)].sort_values(by=['trakus_index']).reset_index(drop=True)\ndf_small.head()","metadata":{"execution":{"iopub.status.busy":"2022-08-14T07:56:33.444408Z","iopub.execute_input":"2022-08-14T07:56:33.444919Z","iopub.status.idle":"2022-08-14T07:56:34.197245Z","shell.execute_reply.started":"2022-08-14T07:56:33.444874Z","shell.execute_reply":"2022-08-14T07:56:34.195953Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"!pip install celluloid","metadata":{"execution":{"iopub.status.busy":"2022-08-14T07:56:34.198429Z","iopub.execute_input":"2022-08-14T07:56:34.198762Z","iopub.status.idle":"2022-08-14T07:56:47.100667Z","shell.execute_reply.started":"2022-08-14T07:56:34.198730Z","shell.execute_reply":"2022-08-14T07:56:47.098966Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"import matplotlib.pyplot as plt\nfrom matplotlib import cm\nimport numpy as np\nfrom celluloid import Camera\n\ncamera = Camera(plt.figure())\nfor i in range(1,len(df_small['trakus_index'].unique())+1):\n    df_i = df_small[df_small['trakus_index'] == i]\n    plt.scatter(df_i['latitude'],df_i['longitude'], s=50)\n    for j in df_i.index:\n        plt.annotate(df_i['program_number'][j], (df_i['latitude'][j], df_i['longitude'][j]))\n    camera.snap()\nanim = camera.animate(blit=True)\nanim.save('scatter_all_horses.mp4')","metadata":{"execution":{"iopub.status.busy":"2022-08-14T07:56:47.103243Z","iopub.execute_input":"2022-08-14T07:56:47.103721Z","iopub.status.idle":"2022-08-14T07:57:21.739420Z","shell.execute_reply.started":"2022-08-14T07:56:47.103682Z","shell.execute_reply":"2022-08-14T07:57:21.737862Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"","metadata":{},"execution_count":null,"outputs":[]}]}