{ "cells": [ { "cell_type": "markdown", "id": "0d66ce88", "metadata": {}, "source": [ "# 2026 / 2027\n", "\n", "Progress points for the Ligue 1 2026 / 2027 season." ] }, { "cell_type": "code", "execution_count": 1, "id": "9ccc0fa9", "metadata": { "execution": { "iopub.execute_input": "2026-08-25T19:23:17.206329Z", "iopub.status.busy": "2026-08-25T19:23:17.206209Z", "iopub.status.idle": "2026-08-25T19:23:17.532323Z", "shell.execute_reply": "2026-08-25T19:23:17.531873Z" } }, "outputs": [], "source": [ "%config InlineBackend.figure_formats = ['svg']\n", "from proggyleg import proggyleg\n", "\n", "year = 2026\n", "league = \"FR1\"" ] }, { "cell_type": "markdown", "id": "3a2078dc", "metadata": {}, "source": [ "## Cumulative Points\n", "\n", "The sum of points up to a given game played." ] }, { "cell_type": "code", "execution_count": 2, "id": "916f660e", "metadata": { "execution": { "iopub.execute_input": "2026-08-25T19:23:17.533892Z", "iopub.status.busy": "2026-08-25T19:23:17.533732Z", "iopub.status.idle": "2026-08-25T19:23:18.604437Z", "shell.execute_reply": "2026-08-25T19:23:18.603862Z" } }, "outputs": [ { "data": { "image/svg+xml": [ "" ], "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "proggyleg.autoplot(year, league, which=\"cumulative\");" ] }, { "cell_type": "markdown", "id": "20fa5a2d", "metadata": {}, "source": [ "## Extrapolated Points\n", "\n", "Final points assuming each team continues to score points at the same rate as they have so far." ] }, { "cell_type": "code", "execution_count": 3, "id": "1c9ca546", "metadata": { "execution": { "iopub.execute_input": "2026-08-25T19:23:18.605927Z", "iopub.status.busy": "2026-08-25T19:23:18.605799Z", "iopub.status.idle": "2026-08-25T19:23:18.753320Z", "shell.execute_reply": "2026-08-25T19:23:18.752872Z" } }, "outputs": [ { "data": { "image/svg+xml": [ "" ], "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "proggyleg.autoplot(year, league, which=\"extrapolated\");" ] }, { "cell_type": "markdown", "id": "816718a9", "metadata": {}, "source": [ "## Position" ] }, { "cell_type": "code", "execution_count": 4, "id": "d75a3c1a", "metadata": { "execution": { "iopub.execute_input": "2026-08-25T19:23:18.754702Z", "iopub.status.busy": "2026-08-25T19:23:18.754527Z", "iopub.status.idle": "2026-08-25T19:23:18.871894Z", "shell.execute_reply": "2026-08-25T19:23:18.871481Z" } }, "outputs": [ { "data": { "image/svg+xml": [ "" ], "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "proggyleg.autoplot(year, league, which=\"position\");" ] }, { "cell_type": "markdown", "id": "b6838603", "metadata": {}, "source": [ "## Rolling Form\n", "\n", "Exponential weighted moving average of points won per game." ] }, { "cell_type": "code", "execution_count": 5, "id": "bd7e9ce2", "metadata": { "execution": { "iopub.execute_input": "2026-08-25T19:23:18.873185Z", "iopub.status.busy": "2026-08-25T19:23:18.873063Z", "iopub.status.idle": "2026-08-25T19:23:19.034309Z", "shell.execute_reply": "2026-08-25T19:23:19.033931Z" } }, "outputs": [ { "data": { "image/svg+xml": [ "" ], "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "proggyleg.autoplot(year, league, which=\"form\");" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "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" }, "mystnb": { "execution_mode": "force" } }, "nbformat": 4, "nbformat_minor": 5 }