Spaces:
Sleeping
Sleeping
Upload webpanel.ipynb
Browse files- webpanel.ipynb +15 -22
webpanel.ipynb
CHANGED
|
@@ -69,34 +69,30 @@
|
|
| 69 |
},
|
| 70 |
{
|
| 71 |
"cell_type": "code",
|
| 72 |
-
"execution_count":
|
| 73 |
"id": "7a7f9587-a4d9-4d78-8d57-24cec677dfd0",
|
| 74 |
"metadata": {
|
| 75 |
"tags": []
|
| 76 |
},
|
| 77 |
"outputs": [
|
| 78 |
{
|
| 79 |
-
"
|
| 80 |
-
"
|
| 81 |
-
"
|
| 82 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
| 83 |
]
|
| 84 |
-
},
|
| 85 |
-
{
|
| 86 |
-
"data": {
|
| 87 |
-
"text/plain": [
|
| 88 |
-
"<panel.io.server.Server at 0x7f64052afb90>"
|
| 89 |
-
]
|
| 90 |
-
},
|
| 91 |
-
"execution_count": 13,
|
| 92 |
-
"metadata": {},
|
| 93 |
-
"output_type": "execute_result"
|
| 94 |
}
|
| 95 |
],
|
| 96 |
"source": [
|
| 97 |
"import pandas as pd\n",
|
| 98 |
"import matplotlib.pyplot as plt\n",
|
| 99 |
"import panel as pn\n",
|
|
|
|
|
|
|
| 100 |
"\n",
|
| 101 |
"# Load customer churn data\n",
|
| 102 |
"data_url = 'train.csv'\n",
|
|
@@ -106,15 +102,12 @@
|
|
| 106 |
"# Calculate churn rate\n",
|
| 107 |
"churn_rate = df['churn'].value_counts() / len(df)\n",
|
| 108 |
"\n",
|
| 109 |
-
"# Create a
|
| 110 |
-
"
|
| 111 |
-
"
|
| 112 |
-
"ax.set_title('Customer Churn Rate')\n",
|
| 113 |
-
"ax.set_xlabel('churn')\n",
|
| 114 |
-
"ax.set_ylabel('Rate')\n",
|
| 115 |
"\n",
|
| 116 |
"# Create a Panel plot\n",
|
| 117 |
-
"plot_pane = pn.pane.
|
| 118 |
"\n",
|
| 119 |
"# Create a Panel app layout\n",
|
| 120 |
"app_layout = pn.Column(\n",
|
|
|
|
| 69 |
},
|
| 70 |
{
|
| 71 |
"cell_type": "code",
|
| 72 |
+
"execution_count": 14,
|
| 73 |
"id": "7a7f9587-a4d9-4d78-8d57-24cec677dfd0",
|
| 74 |
"metadata": {
|
| 75 |
"tags": []
|
| 76 |
},
|
| 77 |
"outputs": [
|
| 78 |
{
|
| 79 |
+
"ename": "NameError",
|
| 80 |
+
"evalue": "name 'figure' is not defined",
|
| 81 |
+
"output_type": "error",
|
| 82 |
+
"traceback": [
|
| 83 |
+
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
|
| 84 |
+
"\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)",
|
| 85 |
+
"\u001b[0;32m<ipython-input-14-25e59633d8a6>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[1;32m 12\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 13\u001b[0m \u001b[0;31m# Create a Bokeh figure\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 14\u001b[0;31m \u001b[0mp\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mfigure\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mx_range\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mchurn_rate\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mindex\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mtolist\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mplot_height\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;36m400\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mtitle\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m\"Customer Churn Rate\"\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 15\u001b[0m \u001b[0mp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mvbar\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mx\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mchurn_rate\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mindex\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mtolist\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mtop\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mchurn_rate\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mvalues\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mtolist\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mwidth\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;36m0.5\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 16\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n",
|
| 86 |
+
"\u001b[0;31mNameError\u001b[0m: name 'figure' is not defined"
|
| 87 |
]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 88 |
}
|
| 89 |
],
|
| 90 |
"source": [
|
| 91 |
"import pandas as pd\n",
|
| 92 |
"import matplotlib.pyplot as plt\n",
|
| 93 |
"import panel as pn\n",
|
| 94 |
+
"from bokeh.plotting import figure\n",
|
| 95 |
+
"from bokeh.models import ColumnDataSource\n",
|
| 96 |
"\n",
|
| 97 |
"# Load customer churn data\n",
|
| 98 |
"data_url = 'train.csv'\n",
|
|
|
|
| 102 |
"# Calculate churn rate\n",
|
| 103 |
"churn_rate = df['churn'].value_counts() / len(df)\n",
|
| 104 |
"\n",
|
| 105 |
+
"# Create a Bokeh figure\n",
|
| 106 |
+
"p = figure(x_range=churn_rate.index.tolist(), plot_height=400, title=\"Customer Churn Rate\")\n",
|
| 107 |
+
"p.vbar(x=churn_rate.index.tolist(), top=churn_rate.values.tolist(), width=0.5)\n",
|
|
|
|
|
|
|
|
|
|
| 108 |
"\n",
|
| 109 |
"# Create a Panel plot\n",
|
| 110 |
+
"plot_pane = pn.pane.Bokeh(p)\n",
|
| 111 |
"\n",
|
| 112 |
"# Create a Panel app layout\n",
|
| 113 |
"app_layout = pn.Column(\n",
|