Skip to content

Instantly share code, notes, and snippets.

@markkernke
Last active July 28, 2020 13:37
Show Gist options
  • Select an option

  • Save markkernke/94d7820338b0be12f80e84e534f6e87e to your computer and use it in GitHub Desktop.

Select an option

Save markkernke/94d7820338b0be12f80e84e534f6e87e to your computer and use it in GitHub Desktop.
A simulation of distribution of coffee bean doses when there is a blend of two beans.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"import math\n",
"import random"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"############################\n",
"#\n",
"# Inputs\n",
"#\n",
"############################\n",
"\n",
"bag_size = 1000 # grams\n",
"avg_bean_weight = 0.15 # grams\n",
"type_a = 0.70 # percentage\n",
"#dose_size = 30 # grams - this is ignored later\n",
"\n",
"bags = 10000 # let's see how this works over thousands of bags"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [],
"source": [
"def bean_dose_distribution(bag_size, avg_bean_weight, type_a, dose_size, bags):\n",
" total_beans = math.floor(bag_size / avg_bean_weight)\n",
" type_a_beans = math.floor(total_beans * type_a)\n",
" type_b_beans = total_beans - type_a_beans\n",
"\n",
" beans_per_dose = math.floor(dose_size / avg_bean_weight)\n",
" doses_per_bag = math.floor(bag_size / dose_size)\n",
"\n",
" beans_lst = [1] * type_a_beans + [0] * type_b_beans # make out bag/list of beans\n",
"\n",
" x = [] # a list of what percentage of each dose is Type A\n",
" for bag in range(bags):\n",
" random.shuffle(beans_lst) # mix up the bag to make it random\n",
" for dose in range(doses_per_bag):\n",
" x.append( sum(beans_lst[dose*beans_per_dose:(dose+1)*beans_per_dose]) / beans_per_dose )\n",
" return x"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [],
"source": [
"x_15 = bean_dose_distribution(bag_size=bag_size, avg_bean_weight=avg_bean_weight, type_a=type_a, dose_size=15, bags=bags)\n",
"x_30 = bean_dose_distribution(bag_size=bag_size, avg_bean_weight=avg_bean_weight, type_a=type_a, dose_size=30, bags=bags)\n",
"x_60 = bean_dose_distribution(bag_size=bag_size, avg_bean_weight=avg_bean_weight, type_a=type_a, dose_size=60, bags=bags)\n",
"x_100 = bean_dose_distribution(bag_size=bag_size, avg_bean_weight=avg_bean_weight, type_a=type_a, dose_size=100, bags=bags)"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"Text(0.5, 1.0, '100g dose')"
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 4 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# Plot the results\n",
"\n",
"import seaborn as sns\n",
"import matplotlib.pyplot as plt\n",
"\n",
"sns.set(color_codes=True)\n",
"\n",
"f, axes = plt.subplots(2, 2, sharex=True, sharey=True)\n",
"sns.despine(left=True)\n",
"\n",
"sns.distplot(x_15, ax=axes[0,0], color='r').set_title(\"15g dose\")\n",
"sns.distplot(x_30, ax=axes[0,1], color='b').set_title(\"30g dose\")\n",
"sns.distplot(x_60, ax=axes[1,0], color='g').set_title(\"60g dose\")\n",
"sns.distplot(x_100, ax=axes[1,1], color='m').set_title(\"100g dose\")"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"Text(0.5, 1.0, '100g dose')"
]
},
"execution_count": 7,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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StES0ra9sG2r4rLOnTun3nHHHWpZWZlqMpnUsWPHqseOHXM+73A41LvvvltNS0tTVVVV//znP6uvvvqqu8p1mYb2W1VV9aGHHlK/+uorVVVV9ZVXXlGXLFnijlJFM0nb9s62LUfmV/DzicQCAgKcE4nVO3LkCAEBAc4LpZ588kkefvhhd5XrMg3tN4DD4cBkMgFQU1ODn5+fO0oVzSRt2zvbtoT5FVxuIrGCgp/ucJKbm0tUVBTPP/88Y8eOZc6cOQQEBLijVJdqaL8BZsyYwQsvvEBycjLp6elMmjSprcsULSBtu463tW0J8ytQG5hIzGazsWfPHn71q1/x2Wef0alTJxYuXNiWJbaKhva7traWF154gffee4+vv/6aX/7ylzz//PNtWaJoIWnbP/Gmti1hfgUNTSRmMBhISEigb9++AIwZM6bRUwC3Zw3td1ZWFr6+vs6pGyZOnMiePXvavE7RfNK263hb25Ywv4KGJhK74YYbKC0t5ejRowB88cUXXH/99e4q12Ua2u+EhATOnTvHyZN1N4j+/PPPnR964RmkbXtp23bv+df2bf369WpKSop69913q++8846qqqr6xBNPqAcPHlRVVVW///57dcKECero0aPVX//612pxcbE7y3WZhvb7q6++UseOHauOGTNGffTRR9Xc3Fx3liuaQdq297VtmWhLCCG8gHSzCCGEF5AwF0IILyBhLoQQXkDCXAghvICEuRBCeAEJcyGE8AIS5kII4QUkzIUQwgv8f7fT1bmPu+d9AAAAAElFTkSuQmCC\n",
"text/plain": [
"<Figure size 432x288 with 4 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# 250g bag\n",
"\n",
"x_15 = bean_dose_distribution(bag_size=250, avg_bean_weight=avg_bean_weight, type_a=type_a, dose_size=15, bags=bags)\n",
"x_30 = bean_dose_distribution(bag_size=250, avg_bean_weight=avg_bean_weight, type_a=type_a, dose_size=30, bags=bags)\n",
"x_60 = bean_dose_distribution(bag_size=250, avg_bean_weight=avg_bean_weight, type_a=type_a, dose_size=60, bags=bags)\n",
"x_100 = bean_dose_distribution(bag_size=250, avg_bean_weight=avg_bean_weight, type_a=type_a, dose_size=100, bags=bags)\n",
"\n",
"import seaborn as sns\n",
"import matplotlib.pyplot as plt\n",
"\n",
"sns.set(color_codes=True)\n",
"\n",
"f, axes = plt.subplots(2, 2, sharex=True, sharey=True)\n",
"sns.despine(left=True)\n",
"\n",
"sns.distplot(x_15, ax=axes[0,0], color='r').set_title(\"15g dose\")\n",
"sns.distplot(x_30, ax=axes[0,1], color='b').set_title(\"30g dose\")\n",
"sns.distplot(x_60, ax=axes[1,0], color='g').set_title(\"60g dose\")\n",
"sns.distplot(x_100, ax=axes[1,1], color='m').set_title(\"100g dose\")"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"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.8.4"
}
},
"nbformat": 4,
"nbformat_minor": 4
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment