Skip to content

Instantly share code, notes, and snippets.

@christopheredsall
Created July 24, 2024 08:53
Show Gist options
  • Save christopheredsall/2f3e6157f5c404b86df442b2b9f4cbc2 to your computer and use it in GitHub Desktop.
Save christopheredsall/2f3e6157f5c404b86df442b2b9f4cbc2 to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"id": "25260cde-cced-4639-ae33-e5cb629dfb55",
"metadata": {},
"source": [
"# Google Mailing List Stats"
]
},
{
"cell_type": "code",
"execution_count": 1,
"id": "ff6db00b-33fc-43f6-8a94-d93d9403d90f",
"metadata": {},
"outputs": [],
"source": [
"import pandas as pd\n",
"import matplotlib as mpl\n",
"from pathlib import Path"
]
},
{
"cell_type": "code",
"execution_count": 2,
"id": "591bf075-f253-483f-af08-b53f8de36f14",
"metadata": {},
"outputs": [],
"source": [
"stats_csv_filename = 'east-england.csv'\n",
"\n",
"# \"Works on my machine! (tm)\" which is a mac\n",
"csv_path = Path.home().joinpath('Downloads').joinpath(stats_csv_filename)\n"
]
},
{
"cell_type": "code",
"execution_count": 3,
"id": "be270fd6-0b1e-4de6-bc9e-88332d5a2903",
"metadata": {},
"outputs": [],
"source": [
"date_cols = [ f\"Join {x}\" for x in [\"year\", \"month\", \"day\", \"hour\", \"minute\", \"second\"] ]\n",
"date_fmt = \"%Y %m %d %H %M %S\""
]
},
{
"cell_type": "code",
"execution_count": 4,
"id": "dd0565cc-61ec-4d61-b5c8-53987314ed7b",
"metadata": {},
"outputs": [],
"source": [
"data = pd.read_csv(csv_path, \n",
" header = 1,\n",
" parse_dates = { 'datetime' : date_cols},\n",
" date_format = date_fmt,\n",
" keep_date_col = True)\n"
]
},
{
"cell_type": "code",
"execution_count": 5,
"id": "215b7a9b-7362-4ce3-b47f-f4e89c3196ba",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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AMaOHQs3NzdERUUBAKZPn47evXtj6dKlGDRoELZv346EhASsW7dOnzEAANb2NpgRsxRZKdeQnXoDjq3duOaHiIhITwy6Abp+/TrCwsJw584dODg4oEePHjhx4gQcHBwAABkZGZDL/7cSq1u3bti6dSs++OADzJ8/H97e3tizZ4/ezwH0KCdvdzY+REREeiYTQgh9F2FolEol7OzskJeXV+v7AxEREVHdqM73t1HtA0RERERUG9gAERERkeSwASIiIiLJYQNEREREksMGiIiIiCSHDRARERFJDhsgIiIikhw2QERERCQ5bICIiIhIctgAERERkeSwASIiIiLJYQNEREREksMGiIiIiCSHDRARERFJDhsgIiIikhw2QERERCQ5bICIiIhIctgAERERkeSwASIiIiLJYQNEREREksMGiIiIiCSHDRARERFJDhsgIiIikhw2QERERCQ5bICIiIhIctgAERERkeSwASIiIiLJYQNEREREksMGiIiIiCSHDRARERFJDhsgIiIikhw2QERERCQ5bICIiIhIctgAERERkeSwASIiIiLJMegGKCoqCs8++yxsbGzg6OiI0NBQJCcnV/qYjRs3QiaT6dysrKzqqWIiIiIyBgbdAB0+fBhTp07FiRMn8Ntvv6G4uBj9+/dHQUFBpY+ztbXFrVu3tLerV6/WU8VERERkDMz1XUBlYmJidO5v3LgRjo6OOHXqFHr16lXh42QyGZydneu6PCIiIjJSBr0G6HF5eXkAgCZNmlQ6X35+Plq2bAl3d3cMGzYMiYmJlc6vUqmgVCp1bkRERGS6jKYB0mg0mDFjBrp374727dtXOF/btm2xfv167N27F5s3b4ZGo0G3bt1w/fr1Ch8TFRUFOzs77c3d3b0uIhAREZGBkAkhhL6LqIopU6Zg3759OHr0KJo3b17lxxUXF8PX1xdhYWFYvHhxufOoVCqoVCrtfaVSCXd3d+Tl5cHW1vapayciIqK6p1QqYWdnV6Xvb4PeB6jUtGnT8PPPP+PIkSPVan4AwMLCAp07d0ZqamqF8ygUCigUiqctk4iIiIyEQW8CE0Jg2rRp2L17Nw4cOAAPD49qL0OtVuPChQtwcXGpgwqJiIjIGBn0GqCpU6di69at2Lt3L2xsbJCZmQkAsLOzQ4MGDQAAY8eOhZubG6KiogAAH374IZ577jm0bt0aubm5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",
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"df = data.sort_values('datetime').reset_index()\n",
"df['count'] = df.index\n",
"df['count'] = df['count'] + 1\n",
"\n",
"RSE_plum_RGB = '#64003c'\n",
"end_of_boring_epoch = '2024-07-01'\n",
"df[df.datetime > end_of_boring_epoch].plot(x='datetime', \n",
" xlabel=\"Date\",\n",
" y='count',\n",
" ylabel='Count',\n",
" ylim=(0,20),\n",
" kind='scatter', \n",
" rot=45, \n",
" color=RSE_plum_RGB,\n",
" title='Count of Subscribers to east-england Mailing List').get_figure().savefig('mailliststats')\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "271ea732-b1a9-4abe-bb74-d9bb9994e86f",
"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.2"
}
},
"nbformat": 4,
"nbformat_minor": 5
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment