Skip to content

Instantly share code, notes, and snippets.

@Noleli
Created December 22, 2019 18:10
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Noleli/d0af9372c6ee0c7d4b86894823ab6b45 to your computer and use it in GitHub Desktop.
Save Noleli/d0af9372c6ee0c7d4b86894823ab6b45 to your computer and use it in GitHub Desktop.
Sure seems like it’s been a while since Chanukah, doesn’t it.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"%matplotlib inline"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"import pandas as pd\n",
"import subprocess\n",
"import re\n",
"import datetime"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [],
"source": [
"def get_dates(year):\n",
" hebcal_str = subprocess.run('../hebcal-master/./hebcal ' + str(year), shell=True, stdout=subprocess.PIPE, encoding='utf8').stdout\n",
" date_search = re.search(r'(([0-9]{1,2})/([0-9]{1,2})/[0-9]{4}) ' + 'Chanukah: 1 Candle', hebcal_str)\n",
" month = int(date_search.group(2))\n",
" day = int(date_search.group(3))\n",
" return datetime.date(year, month, day)"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [],
"source": [
"df = pd.DataFrame([{'year': y, 'this_year': get_dates(y)} for y in range(1583, 2400)]).set_index('year')"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [],
"source": [
"df['last_year'] = df.set_index(df.index + 1)['this_year']"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [],
"source": [
"df['diff'] = df['this_year'] - df['last_year']"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [],
"source": [
"df['diff'] = df['diff'].apply(lambda td: td.days)"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"this_year 2019-12-22\n",
"last_year 2018-12-02\n",
"diff 385\n",
"Name: 2019, dtype: object"
]
},
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df.loc[2019]"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [],
"source": [
"diff_groups = df['diff'].groupby(df['diff']).size()"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"diff\n",
"353.0 0.052696\n",
"354.0 0.348039\n",
"355.0 0.230392\n",
"383.0 0.078431\n",
"384.0 0.194853\n",
"385.0 0.095588\n",
"Name: diff, dtype: float64"
]
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"diff_groups/diff_groups.sum()"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"Text(0,0.5,'Fraction of years')"
]
},
"execution_count": 11,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x107303e48>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"ax = (diff_groups/diff_groups.sum()).plot.bar(title='Days since the last Chanukah', figsize=(10, 6))\n",
"ax.set_xlabel('Days')\n",
"ax.set_ylabel('Fraction of years')"
]
}
],
"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.6.6"
}
},
"nbformat": 4,
"nbformat_minor": 4
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment