{
"cells": [
{
"cell_type": "code",
"execution_count": 39,
"metadata": {},
"outputs": [],
"source": [
"import pandas as pd \n",
"import numpy as np \n",
"import seaborn as sns \n",
"import matplotlib.pylab as plt \n",
"import sketch\n",
"#plt.style.use('ggplot')"
]
},
{
"attachments": {},
"cell_type": "markdown",
"metadata": {},
"source": [
"# First Import\n",
"\n",
"What we are doing here is importing some organizational data that we can compare to Heap's data. We need items like the Customer's Unique ID, the Instance ID, some ICP and use-case information, and the customer's customer name. \n",
"\n",
"Currently, I am pulling from [this look](https://northpasshq.looker.com/looks/125). Use this."
]
},
{
"cell_type": "code",
"execution_count": 40,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
"
\n",
"
\n",
"
Customers Customer ID
\n",
"
Mal Actuals School ID
\n",
"
Mal Actuals School Name
\n",
"
Chris Bookings ICP
\n",
"
Customers Organization
\n",
"
Customers Use Case
\n",
"
\n",
" \n",
" \n",
"
\n",
"
0
\n",
"
30799651
\n",
"
5365.0
\n",
"
CORE College
\n",
"
Non-CE
\n",
"
The CORE Group
\n",
"
Employees
\n",
"
\n",
"
\n",
"
1
\n",
"
30801577
\n",
"
5454.0
\n",
"
Serge
\n",
"
Non-CE
\n",
"
Serge
\n",
"
Employees
\n",
"
\n",
"
\n",
"
2
\n",
"
30857025
\n",
"
4581.0
\n",
"
Team Trudeau Training
\n",
"
CE Non-ICP
\n",
"
The Federal Liberal Agency of Canada
\n",
"
Customers
\n",
"
\n",
"
\n",
"
3
\n",
"
30857025
\n",
"
5265.0
\n",
"
Formation de l'Équipe Trudeau
\n",
"
CE Non-ICP
\n",
"
The Federal Liberal Agency of Canada
\n",
"
Customers
\n",
"
\n",
"
\n",
"
4
\n",
"
30861952
\n",
"
6097.0
\n",
"
ElderSource Internal
\n",
"
Non-CE
\n",
"
Eldersource
\n",
"
Employees
\n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" Customers Customer ID Mal Actuals School ID \n",
"0 30799651 5365.0 \\\n",
"1 30801577 5454.0 \n",
"2 30857025 4581.0 \n",
"3 30857025 5265.0 \n",
"4 30861952 6097.0 \n",
"\n",
" Mal Actuals School Name Chris Bookings ICP \n",
"0 CORE College Non-CE \\\n",
"1 Serge Non-CE \n",
"2 Team Trudeau Training CE Non-ICP \n",
"3 Formation de l'Équipe Trudeau CE Non-ICP \n",
"4 ElderSource Internal Non-CE \n",
"\n",
" Customers Organization Customers Use Case \n",
"0 The CORE Group Employees \n",
"1 Serge Employees \n",
"2 The Federal Liberal Agency of Canada Customers \n",
"3 The Federal Liberal Agency of Canada Customers \n",
"4 Eldersource Employees "
]
},
"execution_count": 40,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"ids= pd.read_csv(\"/Users/normrasmussen/Downloads/school_names_ids.csv\")\n",
"ids.head(5)"
]
},
{
"attachments": {},
"cell_type": "markdown",
"metadata": {},
"source": [
"### Next, we need to rename the columns for better and easier access. "
]
},
{
"cell_type": "code",
"execution_count": 41,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
"
\n",
"
\n",
"
customer_id
\n",
"
school_id
\n",
"
school_name
\n",
"
icp_boolean
\n",
"
customer_name
\n",
"
use_case
\n",
"
\n",
" \n",
" \n",
"
\n",
"
0
\n",
"
30799651
\n",
"
5365.0
\n",
"
CORE College
\n",
"
Non-CE
\n",
"
The CORE Group
\n",
"
Employees
\n",
"
\n",
"
\n",
"
1
\n",
"
30801577
\n",
"
5454.0
\n",
"
Serge
\n",
"
Non-CE
\n",
"
Serge
\n",
"
Employees
\n",
"
\n",
"
\n",
"
2
\n",
"
30857025
\n",
"
4581.0
\n",
"
Team Trudeau Training
\n",
"
CE Non-ICP
\n",
"
The Federal Liberal Agency of Canada
\n",
"
Customers
\n",
"
\n",
"
\n",
"
3
\n",
"
30857025
\n",
"
5265.0
\n",
"
Formation de l'Équipe Trudeau
\n",
"
CE Non-ICP
\n",
"
The Federal Liberal Agency of Canada
\n",
"
Customers
\n",
"
\n",
"
\n",
"
4
\n",
"
30861952
\n",
"
6097.0
\n",
"
ElderSource Internal
\n",
"
Non-CE
\n",
"
Eldersource
\n",
"
Employees
\n",
"
\n",
"
\n",
"
5
\n",
"
30861952
\n",
"
6099.0
\n",
"
ElderSource Ecommerce
\n",
"
Non-CE
\n",
"
Eldersource
\n",
"
Employees
\n",
"
\n",
"
\n",
"
6
\n",
"
30861952
\n",
"
6101.0
\n",
"
ElderSource Partner
\n",
"
Non-CE
\n",
"
Eldersource
\n",
"
Employees
\n",
"
\n",
"
\n",
"
7
\n",
"
30867042
\n",
"
4706.0
\n",
"
Givergy Academy
\n",
"
Non-CE
\n",
"
Givergy
\n",
"
Employees
\n",
"
\n",
"
\n",
"
8
\n",
"
30867043
\n",
"
3332.0
\n",
"
Access University
\n",
"
CE Non-ICP
\n",
"
Access E-Forms
\n",
"
Customers
\n",
"
\n",
"
\n",
"
9
\n",
"
30867046
\n",
"
5667.0
\n",
"
School of Rokt
\n",
"
Non-CE
\n",
"
Rokt Pte Ltd
\n",
"
Employees
\n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" customer_id school_id school_name icp_boolean \n",
"0 30799651 5365.0 CORE College Non-CE \\\n",
"1 30801577 5454.0 Serge Non-CE \n",
"2 30857025 4581.0 Team Trudeau Training CE Non-ICP \n",
"3 30857025 5265.0 Formation de l'Équipe Trudeau CE Non-ICP \n",
"4 30861952 6097.0 ElderSource Internal Non-CE \n",
"5 30861952 6099.0 ElderSource Ecommerce Non-CE \n",
"6 30861952 6101.0 ElderSource Partner Non-CE \n",
"7 30867042 4706.0 Givergy Academy Non-CE \n",
"8 30867043 3332.0 Access University CE Non-ICP \n",
"9 30867046 5667.0 School of Rokt Non-CE \n",
"\n",
" customer_name use_case \n",
"0 The CORE Group Employees \n",
"1 Serge Employees \n",
"2 The Federal Liberal Agency of Canada Customers \n",
"3 The Federal Liberal Agency of Canada Customers \n",
"4 Eldersource Employees \n",
"5 Eldersource Employees \n",
"6 Eldersource Employees \n",
"7 Givergy Employees \n",
"8 Access E-Forms Customers \n",
"9 Rokt Pte Ltd Employees "
]
},
"execution_count": 41,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"ids = ids.rename(\n",
" columns={\n",
" 'Customers Customer ID':'customer_id', \n",
" 'Customers Organization':'customer_name', \n",
" 'Mal Actuals School ID':'school_id', \n",
" 'Mal Actuals School Name':'school_name',\n",
" 'Chris Bookings ICP': 'icp_boolean',\n",
" 'Customers Use Case':'use_case',\n",
" },\n",
" )\n",
"ids.head(10)"
]
},
{
"cell_type": "code",
"execution_count": 42,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
"
\n",
"
\n",
"
customer_id
\n",
"
school_id
\n",
"
school_name
\n",
"
icp_boolean
\n",
"
customer_name
\n",
"
use_case
\n",
"
\n",
" \n",
" \n",
"
\n",
"
555
\n",
"
47167414
\n",
"
7684.0
\n",
"
Walmart Suppliers Onboarding
\n",
"
Non-CE
\n",
"
Volt Systems
\n",
"
Gig
\n",
"
\n",
"
\n",
"
585
\n",
"
47167440
\n",
"
7056.0
\n",
"
Spark Driver Resources Hub (MIGRATED TO AZURE)
\n",
"
CE Non-ICP
\n",
"
Walmart Inc.
\n",
"
Customers,Gig
\n",
"
\n",
"
\n",
"
586
\n",
"
47167440
\n",
"
7540.0
\n",
"
Walmart Sandbox (MIGRATED TO AZURE)
\n",
"
CE Non-ICP
\n",
"
Walmart Inc.
\n",
"
Customers,Gig
\n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" customer_id school_id school_name \n",
"555 47167414 7684.0 Walmart Suppliers Onboarding \\\n",
"585 47167440 7056.0 Spark Driver Resources Hub (MIGRATED TO AZURE) \n",
"586 47167440 7540.0 Walmart Sandbox (MIGRATED TO AZURE) \n",
"\n",
" icp_boolean customer_name use_case \n",
"555 Non-CE Volt Systems Gig \n",
"585 CE Non-ICP Walmart Inc. Customers,Gig \n",
"586 CE Non-ICP Walmart Inc. Customers,Gig "
]
},
"execution_count": 42,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# A quick little check to make sure Walmart is still on the list. Feel free to switch out different Academy names to find if a customer's school exists\n",
"search_for = ['walmart', 'spark', 'luminate']\n",
"ids.loc[ids.school_name.str.contains('|'.join(search_for), case=False, na=False)]"
]
},
{
"cell_type": "code",
"execution_count": 43,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"/var/folders/5l/fmyj8l8n74v0m3zfncrycj7m0000gn/T/ipykernel_47678/1163457763.py:1: UserWarning: This pattern is interpreted as a regular expression, and has match groups. To actually get the groups, use str.extract.\n",
" ids.loc[ids.school_name.str.contains(\"(migrated to azure)\", case=False, na=False)]\n"
]
},
{
"data": {
"text/html": [
"
"
],
"text/plain": [
" customer_id school_id school_name icp_boolean \n",
"555 47167414 7684.0 Walmart Suppliers Onboarding Non-CE \\\n",
"585 47167440 7056.0 Spark Driver Resources Hub CE Non-ICP \n",
"586 47167440 7540.0 Walmart Sandbox CE Non-ICP \n",
"\n",
" customer_name use_case \n",
"555 Volt Systems Gig \n",
"585 Walmart Inc. Customers,Gig \n",
"586 Walmart Inc. Customers,Gig "
]
},
"execution_count": 44,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Back to Walmart. If they aren't there, you need to go into the CSV and remove \"(MIGRATED TO AZURE)\" from the values. Uncomment the next line to find and remove.\n",
"ids.school_name = ids.school_name.str.replace('(MIGRATED TO AZURE)', '')\n",
"search_for = ['walmart', 'spark', 'luminate']\n",
"ids.loc[ids.school_name.str.contains('|'.join(search_for), case=False, na=False)]"
]
},
{
"cell_type": "code",
"execution_count": 47,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"
"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"no_outliers.plot(kind='scatter', x='total_views', y='arr')\n",
"plt.show()"
]
},
{
"attachments": {},
"cell_type": "markdown",
"metadata": {},
"source": [
"TODO: It would be interesting to next compare the page views with the number of admins, or the number of MALs to admins, etc. "
]
},
{
"attachments": {},
"cell_type": "markdown",
"metadata": {},
"source": [
"### The following plot _contains_ outliers. \n",
"The `cust_groups` dataframe has all the data. Look for `no_outliers` for the dataframe with outliers removed."
]
},
{
"cell_type": "code",
"execution_count": 58,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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fqq28UzVpy1oCbV1Fb55zwiN7de13kDlK9cBAEBT0f3npxo69UFzaepM5L5yHQAANBWhyk81dOqD5pYQ1bhlXXztOgAAaCy6//xUQ6Y+8GWt5ToAACBU+TFPpz7wda3lOgAAbRtv/7Wg5lpQubHjmXxNa7kOAEDrwoLKbUhjxzP5mtZyHQCAtonuPwAAABsQqgAAAGxAqAIAALABoQoAAMAGhCoAAAAbEKoAAABsQKgCAACwAaEKAADABoQqAAAAGxCqAAAAbMAyNUArcbCgWN+cPs/aiQDgJT7dUvX000/L4XC4fPr372/t//777zV9+nR16dJFHTt21O23367jx4+7nCMvL0/jx49XWFiYunbtqrlz56q8vNylzPr163XVVVcpJCREffr00dKlSy+qy+LFi9WrVy+1b99eSUlJ2rJlS7NcszcdLCjWutwTOnTynLerggYoPF+qe97aoh+9uEFTlmzV2N+v1z1vbVHR+TJvVw0A2hSfDlWSdMUVV+jYsWPW5/PPP7f2PfLII/rrX/+qFStWaMOGDTp69KgmTpxo7a+oqND48eNVWlqqL774Qm+//baWLl2qBQsWWGUOHTqk8ePHa+zYscrOztasWbP0i1/8Qp999plV5v3339fs2bP11FNP6csvv9TgwYOVmpqqEydOtMxNaGY8lP3bQ8uytenASZdtmw6c1MxlO7xUIwBomxzGGOPtStTm6aef1scff6zs7OyL9hUVFSk6OlrvvfeefvKTn0iS9u3bpwEDBigzM1NXX321Pv30U9188806evSoYmJiJEmvv/665s2bp4KCAgUHB2vevHlauXKlcnJyrHPfddddKiws1OrVqyVJSUlJGjFihF555RVJUmVlpeLj4zVz5kw99thjHl+P0+lURESEioqKFB4e3tjbYrt73tqiTQdOqqLaPwqBDodG9YnSO+kjvVgz1OdgQbF+9OKGWvevmzOGrkAAaCJPn98+31K1f/9+xcXFqXfv3po0aZLy8vIkSdu3b1dZWZlSUlKssv3791ePHj2UmZkpScrMzFRiYqIVqCQpNTVVTqdTu3fvtspUP0dVmapzlJaWavv27S5lAgIClJKSYpWpTUlJiZxOp8vH1xwsKNbG/QUugUqSKozRxv0FdAX6uG9On69z/+FT/P8HAC3Fp0NVUlKSli5dqtWrV+u1117ToUOHdN111+ns2bPKz89XcHCwIiMjXY6JiYlRfn6+JCk/P98lUFXtr9pXVxmn06kLFy7o5MmTqqiocFum6hy1WbhwoSIiIqxPfHx8g++Bpxo7HoqHsn/r2Tmszv29utBKBQAtxaff/rvpppus/33llVcqKSlJPXv21AcffKDQ0FAv1swz8+fP1+zZs63vTqfT9mBVeL5UDy3L1sb9Bda20X2jtShtqCLCguo9vjkeyryF1nJ6R3fU6L7RtXbfcv8BoOX4dEtVTZGRkbr88st14MABxcbGqrS0VIWFhS5ljh8/rtjYWElSbGzsRW8DVn2vr0x4eLhCQ0MVFRWlwMBAt2WqzlGbkJAQhYeHu3zs1tRBylUP5UCHw2V7oMOh0X2jG/RQZsC7dyxKG6pRfaJcto3qE6VFaUO9VCMAaJv8KlQVFxfr66+/Vrdu3TRs2DAFBQUpIyPD2p+bm6u8vDwlJydLkpKTk7Vr1y6Xt/TWrFmj8PBwDRw40CpT/RxVZarOERwcrGHDhrmUqaysVEZGhlXGW+waD2XXQ5m30LwjIixI76SP1Lo5Y7RkygitmzNG76SP9KilEgBgH5/u/pszZ45uueUW9ezZU0ePHtVTTz2lwMBApaWlKSIiQunp6Zo9e7Y6d+6s8PBwzZw5U8nJybr66qslSePGjdPAgQP1s5/9TM8//7zy8/P1xBNPaPr06QoJCZEkTZ06Va+88op++ctf6uc//7nWrl2rDz74QCtXrrTqMXv2bE2ePFnDhw/XyJEj9dJLL+ncuXOaMmWKV+5LFU/GQ3nS0lT1UD508pwOnzrXqG67qoBXU/WAR1dU80qIorsVALzJp0PVt99+q7S0NJ06dUrR0dG69tprtXnzZkVHR0uS/uM//kMBAQG6/fbbVVJSotTUVL366qvW8YGBgfrkk080bdo0JScnq0OHDpo8ebJ+/etfW2USEhK0cuVKPfLII3r55ZfVvXt3vfnmm0pNTbXK3HnnnSooKNCCBQuUn5+vIUOGaPXq1RcNXm9pdo+HaspD2a6ABwCAv/Lpeapam+aYp6ol55iqawA68yUBAForT5/fPt1ShfotShuqmct2uHS92T1I2ZM3DHkLDQDQ1tFS1YKac0b1poyHqo+nrWFF58suCngNmd4BAABfREtVG2PXIOWaXXwNGYBux4B3AAD8FaGqjaltXFRtXXx3jOhe5/ncDUDnLTQAQFtEqGqlaoan+sZF1TbH1IWy8jp/h2VQAAD4AaGqlaktPJVXVirr4GmXslUTcz79LwNr7eLbeviMRvTspC/zCm0fgM5yNgCA1oRQ1cq4a3H6fH+BKt2UrRoXteXQaTd7/+nea3opNPhb294wbOp6hQB8E/+hhLaOUNWK1Dao3F2gqq6+1z8HXhqhdwbH2TYAva7lbOyeWwtA8+M/lIAf+NXaf6hbfbOa1+bq3l08WlQ5IaqDxvbr2uQuPzvWKwTgO1j3E/gBoaoVqW/ZmgDXzOQSmtwtqnxVz0jdMaK7rUEn69CpOvcfPkWoAvwJ/6EE/BPdf23IsJ6dtPXwGet79XFR1eeY2v1dkd7+4rC2Hj5jlW9qU7677gF3eJsQ8C+s+wn8E6GqFanvj9uDY/uoV5cOdY6LSojqoKf+vFtf5hW6bG/qmCd33QPVsZwN4J/sXtgd8Gd0/7Uinvxxq29cVHM05dd2zursXq8QQMuoWvezvjGZQFtAqGpF7Pjj5klTfkPVd86FExP1TvpI3hIC/JS7MZn8hxLaIrr/WplFaUMvWtS4IX/cmqMpv75zXt27S4PPCcB3sO4n8ANCVStRfdK9pvxxq2rt2nTgpG0zqDfHOQH4Htb9RFvnMKaOgS6wldPpVEREhIqKihQeHm7LOZtj0r2i82UXtXb54jkBAGgJnj6/CVUtqDlC1T1vbbmoBShA0sC4cC26+yoZYxq9bERzNOXTPQAA8DeEKh9kd6g6WFCsH724wePytAwBANBwnj6/efvPjzV0WRqWjQAAoPkQqvxYfW/V1VQ119TyLXksHQEAgM14+8+P1fZWXX0e+3CXJLoDAQCwEy1Vfs7dpHue8kZ34MGCYq3LPUFLGQCg1aGlys9Vn3Tv3iVb9M0pz8dZVV96JiGqg8tcV3a/mdccUz8AAOBLCFWtQOH5Uv3qw10NClTV7f6uSE/9eXezBh53Cyo3dZFmAAB8Cd1/rcBDy7KVefBUo49/8/NDLoFKkjbuL9DUP21vatUkNc8izQAA+BpClZ+rCiyNEehwaESvTso+Uuh2f+bBU00KPFXjp7IOna6zXGMWaQYAwNfQ/efnGjJXVaewIJ05X2Z9H9UnSmP6RWvr4TO1HrP54KkGj69yN36qLvUt0tycY70AALALocrPeTJX1cKJibq6dxclRHW4aJmYZVu+qfNYRyPq5G78lDv1LajM4HYAgD+h+8/PVc1VVZvRfaOVNrKHFVwSojpobL+u1vekhC51nt9IVhegJ9Mh1DZ+yp1RfaK0KG1orfvrGtwOAICvoaWqFViUNlRT/7T9osHq11zWpc7QIv0Qyq65rIu++Nr9QPf5/zdRaM2uw9pajOrrjnxuYqJiItrX25VX21ixmtNAAADgKwhVrUBEWJCmXt9bsRHtde77cl0ZH6HxV8ZZoaNqTFKgw6EKYy4KNK9NGqaZy3bUOQaqeqCSap8Oob7uyKT/64asT33h7PCplglV3hjP1dy/yRg1AK2RL/xtI1T5uW9OndO/vLJJRRf+GXr+tve4Nv6jQL//6WA98fFut2GpektT9QlENx88qfkf5tT7u7W1GNW2dE5946dqqi+cvbrugK6K79RsY6u8MZ6ruX+TMWoAWiNf+tvGmCo/N2Gxa6CqsuXwGd26eFOtA8bdjU1KiOqg2IjQBv2+u+kQ3C2dU9/4qZqqwlmgw/1Q+S+/KWzWsVXeGM/V3L/JGDUArZEv/W2jpcqPbcg9cVG3XHV17autpcmTtwmrczcdQvWWr+pvGjbUorShSn97q7Z9c/GUD805tsob47ma+zc9Ob8xxutN5wDQEL42/paWKj+W/W1hk89Rs6WpqoWovn8wAh0Oje4b7fYf1qq3BCW5vGnYUBFhQZr+oz51lmmOiUM9Gc/lb79Z3/lnLvtSP3pxg6Ys2aqxv1+ve97aoqI6QjkA+AJv/L2uCy1VfmxI98gmn6NmS1Ph+VKVV1aqska5iNAgl25Gd915zdGvXV/LWX0Th/Kbnp1/z1Gny3fWZQTgD7zx97outFT5sev7dVW7gNqn5+wUFlTr/8G1tTQ9tCxbWQddl5UJcEiDu0dq3ZwxWjJlhNbNGaN30kdeFJSao1+7trFVdbWUNVVr/M3azl/1z0dljWnFWJcRgD/wxt/ruhCq/NjBgmKV13waVtO9U+hFLU5VBsRdojmpl190PncTd1YaWa1PtXXnbcg90ahFk6u6Cjf+40StE4vWN/Ddk0lJG8qOwfa+9pvuzj8wLrzOY1iXEYCv88bf69o4jPFg6mvYwul0KiIiQkVFRQoPr/th5ol1uSc0ZcnWJp2jevdcfedbMmWExvbr6rLN03X+ah5b13G1dRnWHPjeEq/RNnWwvS/+ZvXzG2P0oxc31Fp23ZwxDFoH4Bea82+np89vWqr8mB3/51XvnmtM37Sn6/zVPLau42rrMqy5xE5LvEZb8zdbQnP/ZvXz+1rTOQA0ljf+XtdEqPJjO214+69691zv6I4a3rPTRf9Q1PaA9WSdP3fH1necJ+N5ajsHY4EazpeazgHAn/H2nx87fc6+V97X7juuDbkn3c4JVdsDtr5XWWs71pPjpLqXovGVZWzs4s3lFeyaVwwA2jpClR8b2y9aS784bMu5/u2TvRdtC3BIw3p2qvW1+vq6C/87faSu6xutgwXF+vLIGeth7ekEo3W9ClvfOfKLvveLRZd9aXmFhCjCFAA0BaHKj13fr6vC27eT8/vyZjl/pZG2Hj5TazipbZ2/AMcPb5WFtw/SPW9tcRsY3B1XpeY6gf9cEFqqMD+Erdp+u8r8D3e5/J6vrm1X17gw5ogCAP/C238tyO63/yTpp699oa1uuuzs5O6tvypF58s0c9mOet/+q1IVmBalDa31uKogZGTqfEPw2QmD9PjHOXX+dtXv+WJAOVhQzJt3zcQXVqsH0Hp4+vympcqPHSwoblSgCm7nUGm551m6rm646uNxZr73pfYcddY6N5b0z4Hkq3KO6Zlbr5D0w/indgEOlVcal4fgPW9tqfMNwcc/zrF++687v9O/r9lf6+/5YldgaxsX5gt8qTsVQNtDqPJjng74rsnTQBUg6VoPX6s3xiinxlIndamve662RTKrVIWlnUcK9eLf/lFvS1ljAkpzt3b42vIKdvB2CxHdqQC8iVDlxzwd8N1YEWFBLrOW1/WwbGzAq+2B5+n5Hv94l/YePVtvuYYElJZq7ahtXFjNMWX+wBdaiHxttXoAbQ/zVKFWZ86X6fCpYt3z1hb96MUNmrJkq8b+fr3ueWuLis67TufQ2IBX27xSnp4v5ztng+fJqk9LTCpapbXMEdWS96w2vrZaPYC2h5YqP9bY1qGGePyjHO095toSVLN1qaoVa2j3CO34tqhRv1Oze66+t/sCHQ4N6HZJvV2OdQUUd61vLd3a0RrmiPKVFqLW2J0KwL8QqvxYc3f/SXIbWqoelp/mHNOyrCMevfnXt2tH7T9RXOt+dw+8ut4QHNUnSo+Ou1y3Lt5U6zmr5smqqa6uKk9aO4wxLmHMjnFE/jxHlK8MuG9N3akA/BOhyo8daYGWqrpM+9OXHpfdf6K41jm1OoUFuX3g1WzFcfeGYF3zZHXv5D501tVV9fS/DKzzOl5de8DljctOYUE6U60rtC2+aeZLLUTugrg/dqcC8E+EKj+2evcxb1ehQWqbpPTM+bI6u4jqasVx9xCtND+MtRr7+/UXhZz6uqoc/zcGy11rR3hoO32ZV3hR3atri2+a+VILUWvoTgXgvxio7se+OHDa21WwTWMHEVc9RNfNGaNBceEX/QNdc7C0J11V7gaPX9UzUmfOl9U5KF5quws6+9qAe19YrR5A20NLlZ+qGsfTWjS1i6i2ebJqDpb2pKvKXWvH4VPnNGXJVo/r09Ym7qSFCAAIVX6rtQQqu7qIPB0s3ZCuqurdjg1dzamtvmnmzwPuAaCp6P7zUy3x5l9jjO4brb9MH6WFExM15Zpe9Za3q4uoIYOlG9NVVRXGAh2OOn+nMfNiAQBaB1qq/FTv6I4adGm4cr7zfGkYd2q+kTe6b7TmpF6uU+dK1SUsWL/3YAmYKtWnMLgyPlIHC4q15IvDHpVvqoa0QDW2q8rdoPiab//xphkAtF0O09B+jTZu8eLFeuGFF5Sfn6/Bgwdr0aJFGjnSsze9PF3l2lM7j5zRrYu/aNI5/jJ9lC4JDaozXFQPH0/9ebc+P1Cgymr/1FQFF3dvvFUtiuwu6Nj9hlzR+bKLQk9zTHFQM4wxjggAWjdPn9+EqgZ4//33dc899+j1119XUlKSXnrpJa1YsUK5ubnq2rVrvcfbHaqkH0KLpy1J7iyZMkJj+9Vf9yoNDS4tFXSqI+QAAOxEqGoGSUlJGjFihF555RVJUmVlpeLj4zVz5kw99thj9R7fHKFq55HCOmcVr8+6OWMaFTwaGlwIOgAAf+Xp85sxVR4qLS3V9u3bNX/+fGtbQECAUlJSlJmZ6faYkpISlZSUWN+dzqaNf3Ln9PnSOvfXNu6qqW/dNfQtL94KAwC0drz956GTJ0+qoqJCMTExLttjYmKUn5/v9piFCxcqIiLC+sTHx9ter/reeluUdpX+MmOUBl3qmqwZUA0AgL1oqWpG8+fP1+zZs63vTqfT9mDl6Vtvn8y8ji44AACaEaHKQ1FRUQoMDNTx48ddth8/flyxsbFujwkJCVFISEiz183TRWTpggMAoPkQqjwUHBysYcOGKSMjQxMmTJD0w0D1jIwMzZgxw6t1Y4kQAAC8j1DVALNnz9bkyZM1fPhwjRw5Ui+99JLOnTunKVOmeLtqkmiJAgDAmwhVDXDnnXeqoKBACxYsUH5+voYMGaLVq1dfNHgdAAC0PcxT1YKaY54qAADQvDx9fjOlAgAAgA0IVQAAADYgVAEAANiAUAUAAGADQhUAAIANCFUAAAA2IFQBAADYgFAFAABgA2ZUb0FV86w6nU4v1wQAAHiq6rld33zphKoWdPbsWUlSfHy8l2sCAAAa6uzZs4qIiKh1P8vUtKDKykodPXpUl1xyiRwOh23ndTqdio+P15EjR1j+ppG4h03HPWw67mHTcQ+bjnt4MWOMzp49q7i4OAUE1D5yipaqFhQQEKDu3bs32/nDw8P5F6CJuIdNxz1sOu5h03EPm4576KquFqoqDFQHAACwAaEKAADABoSqViAkJERPPfWUQkJCvF0Vv8U9bDruYdNxD5uOe9h03MPGY6A6AACADWipAgAAsAGhCgAAwAaEKgAAABsQqlqBxYsXq1evXmrfvr2SkpK0ZcsWb1fJKxYuXKgRI0bokksuUdeuXTVhwgTl5ua6lPn+++81ffp0denSRR07dtTtt9+u48ePu5TJy8vT+PHjFRYWpq5du2ru3LkqLy93KbN+/XpdddVVCgkJUZ8+fbR06dLmvjyveO655+RwODRr1ixrG/ewft99953+9V//VV26dFFoaKgSExO1bds2a78xRgsWLFC3bt0UGhqqlJQU7d+/3+Ucp0+f1qRJkxQeHq7IyEilp6eruLjYpcxXX32l6667Tu3bt1d8fLyef/75Frm+5lZRUaEnn3xSCQkJCg0N1WWXXaZ/+7d/c1kihHvoauPGjbrlllsUFxcnh8Ohjz/+2GV/S96vFStWqH///mrfvr0SExO1atUq26/XZxn4teXLl5vg4GDzX//1X2b37t3mvvvuM5GRkeb48ePerlqLS01NNUuWLDE5OTkmOzvb/PjHPzY9evQwxcXFVpmpU6ea+Ph4k5GRYbZt22auvvpqc80111j7y8vLzaBBg0xKSorZsWOHWbVqlYmKijLz58+3yhw8eNCEhYWZ2bNnmz179phFixaZwMBAs3r16ha93ua2ZcsW06tXL3PllVeahx9+2NrOPazb6dOnTc+ePc29995rsrKyzMGDB81nn31mDhw4YJV57rnnTEREhPn444/Nzp07zb/8y7+YhIQEc+HCBavMjTfeaAYPHmw2b95s/v73v5s+ffqYtLQ0a39RUZGJiYkxkyZNMjk5OWbZsmUmNDTU/Od//meLXm9zePbZZ02XLl3MJ598Yg4dOmRWrFhhOnbsaF5++WWrDPfQ1apVq8zjjz9uPvzwQyPJfPTRRy77W+p+bdq0yQQGBprnn3/e7NmzxzzxxBMmKCjI7Nq1q9nvgS8gVPm5kSNHmunTp1vfKyoqTFxcnFm4cKEXa+UbTpw4YSSZDRs2GGOMKSwsNEFBQWbFihVWmb179xpJJjMz0xjzwx+mgIAAk5+fb5V57bXXTHh4uCkpKTHGGPPLX/7SXHHFFS6/deedd5rU1NTmvqQWc/bsWdO3b1+zZs0ac/3111uhintYv3nz5plrr7221v2VlZUmNjbWvPDCC9a2wsJCExISYpYtW2aMMWbPnj1Gktm6datV5tNPPzUOh8N89913xhhjXn31VdOpUyfrnlb9dr9+/ey+pBY3fvx48/Of/9xl28SJE82kSZOMMdzD+tQMVS15v+644w4zfvx4l/okJSWZBx54wNZr9FV0//mx0tJSbd++XSkpKda2gIAApaSkKDMz04s18w1FRUWSpM6dO0uStm/frrKyMpf71b9/f/Xo0cO6X5mZmUpMTFRMTIxVJjU1VU6nU7t377bKVD9HVZnWdM+nT5+u8ePHX3Sd3MP6/eUvf9Hw4cP105/+VF27dtXQoUP1xz/+0dp/6NAh5efnu1x/RESEkpKSXO5hZGSkhg8fbpVJSUlRQECAsrKyrDKjR49WcHCwVSY1NVW5ubk6c+ZMc19ms7rmmmuUkZGhf/zjH5KknTt36vPPP9dNN90kiXvYUC15v1rzv9ueIFT5sZMnT6qiosLl4SVJMTExys/P91KtfENlZaVmzZqlUaNGadCgQZKk/Px8BQcHKzIy0qVs9fuVn5/v9n5W7aurjNPp1IULF5rjclrU8uXL9eWXX2rhwoUX7eMe1u/gwYN67bXX1LdvX3322WeaNm2aHnroIb399tuS/nkP6vr3Nj8/X127dnXZ365dO3Xu3LlB99lfPfbYY7rrrrvUv39/BQUFaejQoZo1a5YmTZokiXvYUC15v2or05ruZ11YUBmt0vTp05WTk6PPP//c21XxK0eOHNHDDz+sNWvWqH379t6ujl+qrKzU8OHD9dvf/laSNHToUOXk5Oj111/X5MmTvVw7//DBBx/o3Xff1XvvvacrrrhC2dnZmjVrluLi4riH8Gm0VPmxqKgoBQYGXvTm1fHjxxUbG+ulWnnfjBkz9Mknn2jdunXq3r27tT02NlalpaUqLCx0KV/9fsXGxrq9n1X76ioTHh6u0NBQuy+nRW3fvl0nTpzQVVddpXbt2qldu3basGGD/vCHP6hdu3aKiYnhHtajW7duGjhwoMu2AQMGKC8vT9I/70Fd/97GxsbqxIkTLvvLy8t1+vTpBt1nfzV37lyrtSoxMVE/+9nP9Mgjj1itp9zDhmnJ+1VbmdZ0P+tCqPJjwcHBGjZsmDIyMqxtlZWVysjIUHJyshdr5h3GGM2YMUMfffSR1q5dq4SEBJf9w4YNU1BQkMv9ys3NVV5ennW/kpOTtWvXLpc/LmvWrFF4eLj1oExOTnY5R1WZ1nDPb7jhBu3atUvZ2dnWZ/jw4Zo0aZL1v7mHdRs1atRFU3n84x//UM+ePSVJCQkJio2Ndbl+p9OprKwsl3tYWFio7du3W2XWrl2ryspKJSUlWWU2btyosrIyq8yaNWvUr18/derUqdmuryWcP39eAQGuj6fAwEBVVlZK4h42VEver9b877ZHvD1SHk2zfPlyExISYpYuXWr27Nlj7r//fhMZGeny5lVbMW3aNBMREWHWr19vjh07Zn3Onz9vlZk6darp0aOHWbt2rdm2bZtJTk42ycnJ1v6q6QDGjRtnsrOzzerVq010dLTb6QDmzp1r9u7daxYvXtxqpgNwp/rbf8ZwD+uzZcsW065dO/Pss8+a/fv3m3fffdeEhYWZP/3pT1aZ5557zkRGRpo///nP5quvvjK33nqr29fbhw4darKyssznn39u+vbt6/J6e2FhoYmJiTE/+9nPTE5Ojlm+fLkJCwvzy+kAapo8ebK59NJLrSkVPvzwQxMVFWV++ctfWmW4h67Onj1rduzYYXbs2GEkmX//9383O3bsMN98840xpuXu16ZNm0y7du3M73//e7N3717z1FNPMaUC/MuiRYtMjx49THBwsBk5cqTZvHmzt6vkFZLcfpYsWWKVuXDhgnnwwQdNp06dTFhYmLntttvMsWPHXM5z+PBhc9NNN5nQ0FATFRVlHn30UVNWVuZSZt26dWbIkCEmODjY9O7d2+U3WpuaoYp7WL+//vWvZtCgQSYkJMT079/fvPHGGy77KysrzZNPPmliYmJMSEiIueGGG0xubq5LmVOnTpm0tDTTsWNHEx4ebqZMmWLOnj3rUmbnzp3m2muvNSEhIebSSy81zz33XLNfW0twOp3m4YcfNj169DDt27c3vXv3No8//rjLq/zcQ1fr1q1z+/dv8uTJxpiWvV8ffPCBufzyy01wcLC54oorzMqVK5vtun2Nw5hqU9QCAACgURhTBQAAYANCFQAAgA0IVQAAADYgVAEAANiAUAUAAGADQhUAAIANCFUAAAA2IFQBAADYgFAFAHW49957NWHCBFvO9fTTT2vIkCG2nAuA7yFUAfA7Y8aM0axZs5r9GLvNmTPnosVmAbQe7bxdAQBoKzp27KiOHTt6uxoAmgktVQD8yr333qsNGzbo5ZdflsPhkMPh0OHDh7VhwwaNHDlSISEh6tatmx577DGVl5fXeUxFRYXS09OVkJCg0NBQ9evXTy+//HKj6vXGG28oLi5OlZWVLttvvfVW/fznP5fkvvvvzTff1IABA9S+fXv1799fr776qrXvJz/5iWbMmGF9nzVrlhwOh/bt2ydJKi0tVYcOHfT//t//kyT9z//8jxITExUaGqouXbooJSVF586da9T1AGg4QhUAv/Lyyy8rOTlZ9913n44dO6Zjx44pKChIP/7xjzVixAjt3LlTr732mt566y395je/qfWY+Ph4VVZWqnv37lqxYoX27NmjBQsW6Fe/+pU++OCDBtfrpz/9qU6dOqV169ZZ206fPq3Vq1dr0qRJbo959913tWDBAj377LPau3evfvvb3+rJJ5/U22+/LUm6/vrrtX79eqv8hg0bFBUVZW3bunWrysrKdM011+jYsWNKS0vTz3/+c+3du1fr16/XxIkTZYxp8LUAaBy6/wD4lYiICAUHByssLEyxsbGSpMcff1zx8fF65ZVX5HA41L9/fx09elTz5s3TggUL3B4jSYGBgXrmmWes7wkJCcrMzNQHH3ygO+64o0H16tSpk2666Sa99957uuGGGyT90HIUFRWlsWPHuj3mqaee0osvvqiJEydav79nzx7953/+pyZPnqwxY8bo4YcfVkFBgdq1a6c9e/boySef1Pr16zV16lStX79eI0aMUFhYmPbt26fy8nJNnDhRPXv2lCQlJiY26BoANA0tVQD83t69e5WcnCyHw2FtGzVqlIqLi/Xtt9/WeezixYs1bNgwRUdHq2PHjnrjjTeUl5fXqHpMmjRJ//u//6uSkhJJP7RE3XXXXQoIuPhP7blz5/T1118rPT3dGmvVsWNH/eY3v9HXX38tSRo0aJA6d+6sDRs26O9//7uGDh2qm2++WRs2bJD0Q8vVmDFjJEmDBw/WDTfcoMTERP30pz/VH//4R505c6ZR1wGgcQhVANqs5cuXa86cOUpPT9ff/vY3ZWdna8qUKSotLW3U+W655RYZY7Ry5UodOXJEf//732vt+isuLpYk/fGPf1R2drb1ycnJ0ebNmyVJDodDo0eP1vr1660AdeWVV6qkpEQ5OTn64osvdP3110v6odVtzZo1+vTTTzVw4EAtWrRI/fr106FDhxp1LQAaju4/AH4nODhYFRUV1vcBAwbof//3f2WMsVqrNm3apEsuuUTdu3d3e0xVmWuuuUYPPvigta2qlagx2rdvr4kTJ+rdd9/VgQMH1K9fP1111VVuy8bExCguLk4HDx6sNXhJP4yr+uMf/6iQkBA9++yzCggI0OjRo/XCCy+opKREo0aNsso6HA6NGjVKo0aN0oIFC9SzZ0999NFHmj17dqOvCYDnCFUA/E6vXr2UlZWlw4cPq2PHjnrwwQf10ksvaebMmZoxY4Zyc3P11FNPafbs2VbXW81jOnfurL59++qdd97RZ599poSEBP33f/+3tm7dqoSEhEbXbdKkSbr55pu1e/du/eu//mudZZ955hk99NBDioiI0I033qiSkhJt27ZNZ86csYLQmDFj9Mgjjyg4OFjXXnuttW3OnDkaMWKEOnToIEnKyspSRkaGxo0bp65duyorK0sFBQUaMGBAo68FQMPQ/QfA78yZM0eBgYEaOHCgoqOjVVZWplWrVmnLli0aPHiwpk6dqvT0dD3xxBO1HpOXl6cHHnhAEydO1J133qmkpCSdOnXKpdWqMX70ox+pc+fOys3N1d13311n2V/84hd68803tWTJEiUmJur666/X0qVLXUJdYmKiIiMjNWTIEGuOqzFjxqiiosIaTyVJ4eHh2rhxo3784x/r8ssv1xNPPKEXX3xRN910U5OuB4DnHIb3bQEAAJqMlioAAAAbEKoAwAN5eXkuUx/U/DR2GgYArQfdfwDggfLych0+fLjW/b169VK7drz7A7RlhCoAAAAb0P0HAABgA0IVAACADQhVAAAANiBUAQAA2IBQBQAAYANCFQAAgA0IVQAAADYgVAEAANjg/wPw5N9cqSdeHAAAAABJRU5ErkJggg==",
"text/plain": [
"
"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"cust_groups.plot(kind='scatter', x='total_views', y='arr')\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"Yes, there appears to be a relationship between the arr column and total_views column. To further analyze this relationship, we can use a correlation coefficient to measure the strength of the relationship between the two variables. We can also use a scatter plot to visualize the relationship between the two variables. Additionally, we can use linear regression to determine if there is a linear relationship between the two variables. \n"
],
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"cust_groups.sketch.ask(\"Is there a relationships between arr column and total_views column? Conduct further analysis on the relationship\")"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"
\n",
"
\n",
"import pandas as pd\n",
"import numpy as np\n",
"from sklearn.linear_model import LinearRegression\n",
"\n",
"# Create the X and y data sets\n",
"X = cust_groups[['arr']]\n",
"y = cust_groups['total_views']\n",
"\n",
"# Fit the linear regression model\n",
"model = LinearRegression().fit(X, y)\n",
"\n",
"# Print the coefficients\n",
"print('Coefficient: ', model.coef_)\n",
"print('Intercept: ', model.intercept_)\n",
"
\n",
" \n",
"
"
],
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"cust_groups.sketch.howto(\"Apply linear regression to determine if there is a linear relationships between arr and total_views\")"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"LinearRegression()\n",
"Coefficient: [0.00205744]\n",
"Intercept: 788.6409091789558\n"
]
}
],
"source": [
"from sklearn.linear_model import LinearRegression\n",
"\n",
"# Create the X and y data sets\n",
"X = cust_groups[['arr']]\n",
"y = cust_groups['total_views']\n",
"\n",
"# Fit the linear regression model\n",
"model = LinearRegression().fit(X, y)\n",
"\n",
"# Print the coefficients\n",
"print('Coefficient: ', model.coef_)\n",
"print('Intercept: ', model.intercept_)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"total_views int64\n",
"arr int64\n",
"dtype: object"
]
},
"execution_count": 960,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Create new dataframe with only some columns. \n",
"corrspd = cust_groups[['total_views', 'arr']]\n",
"corrspd.plot.scatter(x=corrspd.total_views, y=corrspd.arr)\n",
"\n",
"\n",
"# Correlation Matrix. Not useful here. \n",
"# corrs = corrspd.corr()\n",
"# fig = plt.figure(figsize=(10,10))\n",
"# plt.matshow(corrs, cmap='RdBu')\n",
"# plt.xticks(range(len(corrs.columns)), corrs.columns, rotation='vertical')\n",
"# plt.yticks(range(len(corrs.columns)), corrs.columns)\n",
"# plt.show()"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAl4AAAGdCAYAAADDtX0BAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAABiSklEQVR4nO3de3xU1bn/8c/OjVwgF5CYYCAXkhCBQEQDiqgg1CJSEKqWQntaUmKtUm1r9edBtNYaNaV6lIPaqFClViHlSJGrbSlYNVQFBBJuIQQM4RqESUgCuc3+/RGzYUiAhFxmMvN9v155ZWbvtfc8zwxJHtZae23DNE0TEREREWl3Xs4OQERERMRTqPASERER6SAqvEREREQ6iAovERERkQ6iwktERESkg6jwEhEREekgKrxEREREOogKLxEREZEOosJLREREpIOo8BIRERHpID7ODkAaO3nyJLW1tc4Oo1317NmTkpISZ4fRYTwpX+XqvjwpX+XqvtojXx8fH8LCwprXtk1fuY2sWbOG5cuXY7PZiI6OJi0tjfj4+Au237BhA4sXL6akpISIiAimTZvGkCFDrP2maZKdnc3atWupqKggKSmJGTNmEBkZabUpLy9nwYIFbNq0CcMwGDZsGNOnT8ff3x+AQ4cO8cYbb1BcXExlZSVhYWGMGDGCu+66Cx+f+rdx/fr1vPrqqw6x+fr68pe//KVF+dfW1lJTU9OiYzoTwzCA+jw94VahnpSvcnVfnpSvcnVfrpCvyxVeOTk5LFy4kPT0dBISEli5ciUZGRm89NJLhISENGq/e/duXn75ZaZOncqQIUP45JNPmDNnDpmZmfTp0weAZcuWsXr1ah544AHCw8NZvHgxGRkZvPjii/j5+QEwd+5cTp48yezZs6mrq+PVV18lKyuLhx56CABvb29uvvlmYmNjCQoK4quvviIrKwu73c7UqVOteAICAnj55Zc74J0SERGRzsbl5nitWLGC0aNHM2rUKKKiokhPT8fPz49169Y12X7VqlWkpKQwYcIEoqKimDJlCnFxcaxZswao7+1atWoVkydPJjU1lejoaGbOnMnJkyf54osvACguLmbLli3cd999JCQkkJSURFpaGjk5OZw4cQKAK6+8klGjRhETE0PPnj257rrrGDFiBLt27XKIxzAMQkNDHb5EREREwMV6vGprayksLOTOO++0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zvz58x0WUE1LS7vgAqrdunVj7NixjZa4uFQszVFSUuJwtaO7aVhy4LAHdW17Sr7K1X15Ur7K1X21V76+vr7NnuPlkoWXp1Ph5V48KV/l6r48KV/l6r5cofByuaFGEREREXelwktERESkg6jwEhEREekgKrxEREREOogKLxEREZEOosJLREREpIOo8BIRERHpICq8RERERDqICi8RERGRDuLj7ACkMR8fz/hYPCXPBp6Ur3J1X56Ur3J1X22db0vOp1sGiYiIiHQQDTVKhzt9+jT/7//9P06fPu3sUDqEJ+WrXN2XJ+WrXN2XK+Srwks6nGma7Nu3zyNuyAqela9ydV+elK9ydV+ukK8KLxEREZEOosJLREREpIOo8JIO5+vry1133YWvr6+zQ+kQnpSvcnVfnpSvcnVfrpCvrmoUERER6SDq8RIRERHpICq8RERERDqICi8RERGRDqLCS0RERKSDeNbNmaTNLF26lM8//5yDBw/i5+dHYmIiP/jBD+jVq5fV5qmnnmLHjh0Ox40ZM4Z7773Xen78+HHeeOMNtm/fjr+/P7fccgtTp07F29vbarN9+3YWLlzIgQMH6NGjB9/97ncZOXJku+fYIDs7myVLljhs69WrFy+99BIA1dXVLFy4kJycHGpqahg8eDAzZswgNDTUat8Z8mzwwAMPUFJS0mj7bbfdxowZMzr157pjxw4++OAD9u3bx8mTJ/n1r3/N0KFDrf2maZKdnc3atWupqKggKSmJGTNmEBkZabUpLy9nwYIFbNq0CcMwGDZsGNOnT8ff399q89VXXzF//nz27t1LcHAwY8eOZeLEiQ6xbNiwgcWLF1NSUkJERATTpk1jyJAhHZJrbW0tixYt4ssvv+TYsWMEBgaSnJzM1KlT6d69u3WOpv4tTJ06lTvvvNOlcr1UvgCvvPIKH330kcMxgwcP5vHHH7eeu8NnC3DPPfc0edwPfvADJkyYAHSez7Y5f2s68nfwmjVrWL58OTabjejoaNLS0oiPj29RTiq85LLs2LGDb3/72/Tt25e6ujree+89nnnmGV588UWHX1KjR4/me9/7nvXcz8/Pemy323nuuecIDQ3lmWee4eTJk8ybNw9vb2+mTp0KwLFjx3j++ef51re+xc9//nPy8vL44x//SGhoKCkpKR2Wb+/evXniiSes515eZzuL3377bTZv3syvfvUrAgMDmT9/Pi+88AK/+93vOl2eAM899xx2u916XlRUxDPPPMMNN9xgbeusn2tVVRUxMTHceuut/OEPf2i0f9myZaxevZoHHniA8PBwFi9eTEZGBi+++KKV49y5czl58iSzZ8+mrq6OV199laysLB566CEAKisreeaZZ0hOTiY9PZ2ioiJee+01goKCGDNmDAC7d+/m5ZdfZurUqQwZMoRPPvmEOXPmkJmZSZ8+fdo91+rqavbt28d3v/tdYmJiKC8v56233uL3v/89zz//vEPbe+65x4obcPj5dpVcL5Vvg5SUFO6//37r+fk3NnaHzxbg9ddfd3j+5Zdf8sc//pFhw4Y5bO8Mn21z/tZ01O/gnJwcFi5cSHp6OgkJCaxcuZKMjAxeeuklQkJCmp+UKdIGSktLzbvvvtvcvn27te03v/mN+ac//emCx2zevNm85557zJMnT1rbPvzwQ/O//uu/zJqaGtM0TfPPf/6z+atf/crhuP/5n/8xn3nmmTaN/2IWL15s/vrXv25yX0VFhTllyhRzw4YN1rbi4mLz7rvvNnfv3m2aZufJ80L+9Kc/mTNnzjTtdrtpmu7zud59993mZ599Zj232+1menq6uWzZMmtbRUWFOXXqVPOTTz4xTdM0Dxw4YN59991mQUGB1ebLL78077nnHvPrr782TbM+1x//+MdWrqZpmu+884750EMPWc9ffPFF87nnnnOIZ9asWWZWVlab5tjg/FybsmfPHvPuu+82S0pKrG3333+/uWLFigse44q5mmbT+c6bN8/MzMy84DHu/NlmZmaav/3tbx22ddbP9vy/NR35O/i///u/zTfffNN6XldXZ957773m0qVLW5SD5nhJm6isrASga9euDts//vhjfvKTn/Dwww/z7rvvUlVVZe3Lz8+nT58+Dt3BKSkpnD59mgMHDgCwZ88ekpOTHc45ePBg8vPz2ymTph05coSf/vSnzJw5k7lz53L8+HEACgsLqaurc4jxqquu4oorrrBi7Ex5nq+2tpaPP/6YUaNGYRiGtd1dPtdzHTt2DJvNxqBBg6xtgYGBxMfHO3yWQUFB9O3b12qTnJyMYRgUFBRYba6++mqH3pTBgwdz6NAhysvLrTZN5b9nz552y+9SKisrMQyDwMBAh+1/+9vfSEtL49FHH+WDDz6grq7O2tfZct2xYwczZszgoYce4o033uDUqVPWPnf9bG02G19++SW33npro32d8bM9/29NR/0Orq2tpbCw0KGNl5cXycnJLf69paFGaTW73c5bb71Fv379HLqXR4wYwRVXXEH37t356quv+Mtf/sKhQ4f49a9/DdT/Qjj3BwGwumttNpv1/fwu3JCQEE6fPk11dbXDEFd7SUhI4P7776dXr16cPHmSJUuW8OSTT/LCCy9gs9nw8fEhKCioUYzn5tAZ8mzK559/TkVFhcM8B3f5XM/XEFtTcZ0bd3BwsMN+b29vunbt6tAmPDzcoU3D+2Gz2ay2F3udjlZdXc1f/vIXbrzxRofC6/bbbyc2NpauXbuye/du3nvvPU6ePMmPfvQjoHPlmpKSwrBhwwgPD+fIkSO89957PPvss2RkZODl5eW2n+1HH32Ev7+/wxww6JyfbVN/azrqd3B5eTl2u73ReUJDQzl06FCL8lDhJa02f/58Dhw4wNNPP+2w/dy5A3369CEsLIynn36aI0eOEBER0dFhXrZrrrnGehwdHW0VYhs2bHBaQdRR1q1bR0pKisOEa3f5XKVebW0t//M//wPAjBkzHPaNHz/eehwdHY2Pjw9vvPEGU6dO7XS3mLnxxhutx3369CE6Opqf//znbN++vVFPhztZt24dN910U6PfVZ3xs73Q35rORkON0irz589n8+bN/OY3v6FHjx4Xbdtw5ceRI0eA+v8pnP8/o9LSUmtfw/eGbee2CQgIcFrRExQURK9evThy5AihoaHU1tZSUVHRKMZzc+iMeZaUlLBt2zZGjx590Xbu8rk2xNZUXOfGXVZW5rC/rq6O8vLyi37eDc8vlf/5/5tubw1F1/Hjx5k9e3ajYcbzJSQkUFdXZ10N15lyPd+VV15Jt27dHP7dutNnC7Bz504OHTrU5DDj+Vz9s73Q35qO+h0cHBxs9Yyeq6netEtR4SWXxTRN5s+fz+eff86TTz7ZqEu6Kfv37wcgLCwMgMTERIqKihz+sW/bto2AgACioqKA+l8Gubm5DufZtm0biYmJbZRJy505c8YquuLi4vD29naI8dChQxw/ftyKsbPmuW7dOkJCQi55abi7fK7h4eGEhoY6xFVZWUlBQYHDZ1lRUUFhYaHVJi8vD9M0rQI0MTGRnTt3Ultba7XZtm0bvXr1sualJCYmNpl/QkJCu+V3voai68iRIzzxxBN069btksfs378fwzCsIbnOkmtTvv76a8rLyx3+3brLZ9vgX//6F3FxccTExFyyrat+tpf6W9NRv4N9fHyIi4sjLy/P2m+328nLy2vx7y0VXnJZ5s+fz8cff8xDDz1EQEAANpsNm81GdXU1UN/7sWTJEgoLCzl27BgbN27klVde4eqrryY6Ohqon7gYFRXFvHnz2L9/P1u2bGHRokV8+9vftrq6b7vtNo4dO8Y777zDwYMH+fDDD9mwYQN33HFHh+W6cOFCduzYwbFjx9i9ezdz5szBy8uLESNGEBgYyK233srChQvJy8ujsLCQV199lcTEROuHsbPkeS673c769eu55ZZbHNa56eyf65kzZ9i/f79VLB47doz9+/dz/PhxDMNg3LhxvP/++2zcuJGioiLmzZtHWFgYqampAERFRZGSkkJWVhYFBQXs2rWLBQsWMHz4cGs4dsSIEfj4+PDHP/6RAwcOkJOTw+rVqx2GdsaNG8fWrVtZvnw5Bw8eJDs7m7179zJ27NgOybW2tpYXX3yRwsJCfv7zn2O3262f4YY/tPn5+axcuZL9+/dz9OhRPv74Y95++21uuukm6w+vq+R6qXzPnDnDn//8Z/Lz8zl27Bi5ubn8/ve/JyIigsGDBwPu89k2qKys5D//+U+TvV2d6bO91N+ajvwdPH78eNauXcv69espLi7mzTffpKqqqsXrDxqmaZpt8/aIJ7nQAn33338/I0eO5Pjx4/zv//4vBw4coKqqih49ejB06FAmT57sMJxRUlLCm2++yfbt2+nSpQu33HIL06ZNa7So3dtvv01xcbFTFhZ96aWX2LlzJ6dOnSI4OJikpCSmTJlizWdqWLzv008/pba2tsnF+zpDnufaunWrtT7NuQsVdvbPdfv27fz2t79ttP2WW27hgQcesBZQ/ec//0llZSVJSUn85Cc/cXgPysvLmT9/vsMim2lpaRdcZLNbt26MHTvWYWFKqF94ctGiRZSUlBAZGdnmC09eLNe7776bmTNnNnncb37zGwYMGEBhYSHz58/n4MGD1NTUEB4ezs0338z48eMd5gC5Qq6Xyjc9PZ05c+awb98+Kioq6N69O4MGDeJ73/uew8+pO3y2DzzwAAD//Oc/eeutt3j99dcbDSF3ps/2Un9roGN/B69Zs4YPPvgAm81GTEwM06dPb3EPnwovERERkQ6ioUYRERGRDqLCS0RERKSDqPASERER6SAqvEREREQ6iAovERERkQ6iwktERESkg6jwEhEREekgKrxEREREOogKLxEREZEOosJLREREpIOo8BIRERHpICq8RERERDrI/wdfiUFIxT8ozgAAAABJRU5ErkJggg==",
"text/plain": [
"
"
],
"text/plain": [
" total_views arr\n",
"csm \n",
"Support 34553 616466\n",
"Tracy McMahon 25921 961379\n",
"Nergis Tepeli 18085 1571381\n",
"Courtney Donargo 17237 351893\n",
"Norm Rasmussen 16190 1440882"
]
},
"execution_count": 862,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"csm_groups = newpd.groupby('csm').agg({'total_views':'sum','arr':'sum'})\n",
"csm_groups.nlargest(25, 'total_views')"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"# This is a just a test. It's ugly formatting. \n",
"\n",
"# newpd[['total_views']].style.format('{:.3f}', na_rep=\"\") \\\n",
"# .bar(align=2, vmin=0, vmax=2000, cmap='bwr', height=60,\n",
"# width=100, props=\"width:1520px, border-right: 1px solid green;\") \\\n",
"# .text_gradient(cmap=\"bwr\", vmin=0, vmax=2000)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Stored 'newpd' (DataFrame)\n"
]
}
],
"source": [
"newpd.to_csv('/Users/normrasmussen/Downloads/total_views_with_acctdata.csv')\n",
"%store newpd"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"/var/folders/5l/fmyj8l8n74v0m3zfncrycj7m0000gn/T/ipykernel_24478/1696825021.py:5: SettingWithCopyWarning: \n",
"A value is trying to be set on a copy of a slice from a DataFrame.\n",
"Try using .loc[row_indexer,col_indexer] = value instead\n",
"\n",
"See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n",
" plotpd['school_name']=plotpd['school_name'].astype('category').cat.codes\n",
"/var/folders/5l/fmyj8l8n74v0m3zfncrycj7m0000gn/T/ipykernel_24478/1696825021.py:6: SettingWithCopyWarning: \n",
"A value is trying to be set on a copy of a slice from a DataFrame.\n",
"Try using .loc[row_indexer,col_indexer] = value instead\n",
"\n",
"See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n",
" plotpd['customer_name']=plotpd['customer_name'].astype('category').cat.codes\n",
"/var/folders/5l/fmyj8l8n74v0m3zfncrycj7m0000gn/T/ipykernel_24478/1696825021.py:7: SettingWithCopyWarning: \n",
"A value is trying to be set on a copy of a slice from a DataFrame.\n",
"Try using .loc[row_indexer,col_indexer] = value instead\n",
"\n",
"See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n",
" plotpd['use_case']=plotpd['use_case'].astype('category').cat.codes\n",
"/var/folders/5l/fmyj8l8n74v0m3zfncrycj7m0000gn/T/ipykernel_24478/1696825021.py:8: SettingWithCopyWarning: \n",
"A value is trying to be set on a copy of a slice from a DataFrame.\n",
"Try using .loc[row_indexer,col_indexer] = value instead\n",
"\n",
"See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n",
" plotpd['icp_boolean']=plotpd['icp_boolean'].astype('category').cat.codes\n",
"/var/folders/5l/fmyj8l8n74v0m3zfncrycj7m0000gn/T/ipykernel_24478/1696825021.py:9: SettingWithCopyWarning: \n",
"A value is trying to be set on a copy of a slice from a DataFrame.\n",
"Try using .loc[row_indexer,col_indexer] = value instead\n",
"\n",
"See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n",
" plotpd['product']=plotpd['product'].astype('category').cat.codes\n"
]
},
{
"data": {
"text/plain": [
"