{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "ff89532e",
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/home/ec2-user/anaconda3/envs/python3/lib/python3.10/site-packages/pandas/core/computation/expressions.py:21: UserWarning: Pandas requires version '2.8.0' or newer of 'numexpr' (version '2.7.3' currently installed).\n",
      "  from pandas.core.computation.check import NUMEXPR_INSTALLED\n",
      "Matplotlib is building the font cache; this may take a moment.\n"
     ]
    }
   ],
   "source": [
    "import pandas as pd\n",
    "import seaborn as sns\n",
    "import matplotlib.pyplot as plt\n",
    "import boto3 \n",
    "from datetime import datetime"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "45be338b",
   "metadata": {},
   "outputs": [],
   "source": [
    "s3 = boto3.resource('s3')\n",
    "bucket_name = 'dev-cucumbers'\n",
    "bucket = s3.Bucket(bucket_name)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "a17770f1",
   "metadata": {},
   "outputs": [],
   "source": [
    "path = 'eimpara/TikTok_analysis/Lags'\n",
    "table_names = []\n",
    "\n",
    "for obj in bucket.objects.filter(Prefix=path):\n",
    "    table_name = obj.key.split('/')[-1]\n",
    "    if len(table_name) > 0:\n",
    "        table_names.append(table_name)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "992e3f11",
   "metadata": {},
   "outputs": [],
   "source": [
    "merged_df = pd.DataFrame() \n",
    "\n",
    "for table_name in table_names:\n",
    "    obj = bucket.Object(f'{path}/{table_name}')\n",
    "    table_data = pd.read_csv(obj.get()['Body'])\n",
    "    merged_df = pd.concat([merged_df,table_data])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "d0925ebe",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(38462, 3)"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "merged_df.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "cc564c69",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(38462, 3)"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "merged_df = merged_df.drop_duplicates()\n",
    "merged_df.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "ec98087d",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.frame.DataFrame'>\n",
      "Index: 38462 entries, 0 to 195\n",
      "Data columns (total 3 columns):\n",
      " #   Column         Non-Null Count  Dtype \n",
      "---  ------         --------------  ----- \n",
      " 0   ISRC           38462 non-null  object\n",
      " 1   lag_creations  38462 non-null  int64 \n",
      " 2   lag_views      38462 non-null  int64 \n",
      "dtypes: int64(2), object(1)\n",
      "memory usage: 1.2+ MB\n"
     ]
    }
   ],
   "source": [
    "merged_df.info()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "6a33ffbc",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "count    19135.000000\n",
       "mean         0.319519\n",
       "std         36.591575\n",
       "min        -90.000000\n",
       "25%        -21.000000\n",
       "50%          0.000000\n",
       "75%         22.000000\n",
       "max         90.000000\n",
       "Name: lag_creations, dtype: float64"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "under_3_month_creations = merged_df[(merged_df['lag_creations'] <= 90) & (merged_df['lag_creations'] >= -90)].copy()\n",
    "\n",
    "under_3_month_creations['lag_creations'].describe()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "id": "d0ea486b",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<seaborn.axisgrid.FacetGrid at 0x7fd435364d00>"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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56qwLWa6lrZFura2h20xk7+//2XHNIigDgoKUuPGjZWdne3WnpOTo5CQkArf43Q65XQ63dquv/762iqxTrVo0aLe/+Uuw7aY6VraFuna2h62pf5pEBeT+fr6qnv37kpJSXFrT0lJUd++fb1UFQAAl9cg9qglKSEhQXFxcerRo4f69Omj9957T8eOHdMvf/lLb5cGAIBHDSaoH374YZ09e1YvvviisrKyFB0drY8//liRkZHeLq3OOJ1OzZw5s9wh/fqIbTHTtbQt0rW1PWxL/eWwLMvydhEAAKBiDeIcNQAA9RVBDQCAwQhqAAAMRlADAGAwgroBWLdunRwOR4WvtLQ0e1xF/e+++64XK69YmzZtytX54+e4Hzt2TMOGDZOfn5+CgoI0adIkFRUVeaniih05ckTjx49XVFSUmjVrpptuukkzZ84sV2d9+V6k+jmV7KxZs9SzZ0/5+/srODhYDzzwgA4cOOA2Zty4ceW+g969e3upYs8SExPL1RkaGmr3W5alxMREhYeHq1mzZurfv7/27t3rxYo9q+jfucPh0NNPPy2p/nwnNaHB3J7VkPXt21dZWVlubTNmzFBqaqp69Ojh1p6UlKQhQ4bYyy6Xq05qrKoXX3xR8fHx9vJ1111n/1xSUqL77rtPrVq10saNG3X27FmNHTtWlmVp3rx53ii3Ql9++aVKS0s1f/58tW3bVnv27FF8fLwuXryo119/3W1sffheyqaSffvtt3XHHXdo/vz5io2N1b59+9S6dWtvl+fR+vXr9fTTT6tnz576/vvvNX36dMXExGjfvn3y8/Ozxw0ZMkRJSUn2sq+vrzfKvaxbbrlFqamp9nLjxo3tn1977TXNnTtXixYtUvv27fXyyy9r0KBBOnDgwBU9yrIupaWlqaSkxF7es2ePBg0apIceeshuqy/fyVW72gkvUP8UFRVZwcHB1osvvujWLslauXKld4qqgsjISOuNN97w2P/xxx9bjRo1sk6ePGm3/eUvf7GcTucVPQDfm1577TUrKirKra2+fC+333679ctf/tKt7eabb7aee+45L1VUPTk5OZYka/369Xbb2LFjrfvvv997RV2hmTNnWrfddluFfaWlpVZoaKg1e/Zsu+27776zXC6X9e6779ZRhdX3zDPPWDfddJNVWlpqWVb9+U5qAoe+G6DVq1frzJkzGjduXLm+CRMmKCgoSD179tS7776r0tLSui/wCvz+979XYGCgunTpoldeecXtcPGWLVsUHR2t8PBwu23w4MEqLCxUenq6N8q9Ynl5eQoICCjXbvr3UjaVbExMjFt7ZVPJmqpsStsffw/r1q1TcHCw2rdvr/j4eOXk5HijvMs6ePCgwsPDFRUVpdGjR+vw4cOSpMzMTGVnZ7t9R06nU/369TP+OyoqKtKSJUv02GOPuU2KVF++k6vFoe8GaOHChRo8eLAiIiLc2l966SUNHDhQzZo109q1azVlyhSdOXNGv/vd77xUacWeeeYZdevWTS1bttT27ds1bdo0ZWZm6r//+78lSdnZ2eUmW2nZsqV8fX3LTcxikq+//lrz5s3TnDlz3Nrrw/dy5swZlZSUlPtzDwkJMfrP/Mcsy1JCQoLuvPNORUdH2+2xsbF66KGHFBkZqczMTM2YMUN333230tPTjXo6Vq9evfT++++rffv2OnXqlF5++WX17dtXe/futb+Hir6jo0ePeqPcK7Zq1SqdP3/ebeeivnwnNcLbu/SoviuZMzstLc3tPcePH7caNWpk/e1vf7vs+l9//XWrRYsWtVW+m+psS5m//e1vliTrzJkzlmVZVnx8vBUTE1NunI+Pj/WXv/ylVrfDsqq3LSdPnrTatm1rjR8//rLrr8vv5UqVzfm+efNmt/aXX37Z6tChg5eqqrqnnnrKioyMtI4fP17puG+++cby8fGx/v73v9dRZdVTUFBghYSEWHPmzLE2bdpkSbK++eYbtzGPP/64NXjwYC9VeGViYmKsoUOHVjqmvnwn1cEedT02YcIEjR49utIxbdq0cVtOSkpSYGCghg8fftn19+7dW/n5+Tp16pTH6UBrSnW2pUzZlZ6HDh1SYGCgQkNDtW3bNrcxubm5Ki4urvXtkKq+Ld98840GDBhgTxZzOXX5vVyp6kwla5qJEydq9erV2rBhg2644YZKx4aFhSkyMlIHDx6so+qqx8/PT507d9bBgwf1wAMPSPrhiFNYWJg9xvTv6OjRo0pNTdWKFSsqHVdfvpPqIKjrsaCgIAUFBV3xeMuylJSUpF/84hfy8fG57Phdu3apadOmdTIPd1W35d/t2rVLkuxfPn369NErr7yirKwsu23NmjVyOp3q3r17zRRciapsy8mTJzVgwAB1795dSUlJatTo8peN1OX3cqX+fSrZBx980G5PSUnR/fff78XKLs+yLE2cOFErV67UunXrFBUVddn3nD17VsePH3cLPBMVFhZq//79+ulPf6qoqCiFhoYqJSVFXbt2lfTDud/169fr97//vZcr9SwpKUnBwcG67777Kh1XX76TavH2Lj3qTmpqqiXJ2rdvX7m+1atXW++99561e/du69ChQ9aCBQusFi1aWJMmTfJCpZ5t3rzZmjt3rrVr1y7r8OHD1vLly63w8HBr+PDh9pjvv//eio6OtgYOHGjt3LnTSk1NtW644QZrwoQJXqy8vLLD3Xfffbd14sQJKysry36VqS/fi2VZ1rJlyywfHx9r4cKF1r59+6zJkydbfn5+1pEjR7xdWqV+9atfWS6Xy1q3bp3bd/Dtt99almVZFy5csKZMmWJt3rzZyszMtD777DOrT58+1k9+8hMrPz/fy9W7mzJlirVu3Trr8OHD1tatW62hQ4da/v7+9ncwe/Zsy+VyWStWrLB2795tPfLII1ZYWJhx21GmpKTEat26tfXss8+6tden76QmENQNyCOPPGL17du3wr7/+7//s7p06WJdd911VvPmza3o6GjrzTfftIqLi+u4ysqlp6dbvXr1slwul9W0aVOrQ4cO1syZM62LFy+6jTt69Kh13333Wc2aNbMCAgKsCRMmWN99952Xqq5YUlKSx3PYZerL91LmT3/6kxUZGWn5+vpa3bp1c7vFyVSevoOkpCTLsizr22+/tWJiYqxWrVpZPj4+VuvWra2xY8dax44d827hFXj44YetsLAwy8fHxwoPD7dGjBhh7d271+4vLS21Zs6caYWGhlpOp9O66667rN27d3ux4sp98sknliTrwIEDbu316TupCUxzCQCAwbiPGgAAgxHUAAAYjKAGAMBgBDUAAAYjqAEAMBhBDQCAwQhqAAAMRlADAGAwghowWP/+/TV58mRvl+EV48aNsyeSABoyJuUA4FVHjhxRVFSUdu3apS5dutjtf/zjH8WDEwGCGkA1FRUVydfXt9bW73K5am3dQH3CoW+gnliyZIl69Oghf39/hYaGasyYMcrJyXEbs3r1arVr107NmjXTgAEDtHjxYjkcDp0/f/6KPmPTpk3q16+fmjdvrpYtW2rw4MHKzc2V9MNh+AkTJighIUFBQUEaNGiQJGnfvn269957dd111ykkJERxcXE6c+aMvc7k5GTdeeed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",
      "text/plain": [
       "<Figure size 500x500 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "sns.displot(under_3_month_creations['lag_creations'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "id": "690b5349",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "count    20554.000000\n",
       "mean         0.157925\n",
       "std         38.804797\n",
       "min        -90.000000\n",
       "25%        -24.000000\n",
       "50%          0.000000\n",
       "75%         25.000000\n",
       "max         90.000000\n",
       "Name: lag_views, dtype: float64"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "under_3_month_views = merged_df[(merged_df['lag_views'] <= 90) & (merged_df['lag_views'] >= -90)].copy()\n",
    "\n",
    "under_3_month_views['lag_views'].describe()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "id": "c2bfa9d9",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<seaborn.axisgrid.FacetGrid at 0x7fd435868460>"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 500x500 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "sns.displot(under_3_month_views['lag_views'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "id": "c5185f54",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "4505"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "len(merged_df[(merged_df['lag_views'] <= 7) & (merged_df['lag_views'] >= -7)])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "id": "c1110c49",
   "metadata": {},
   "outputs": [],
   "source": [
    "sub = merged_df[((merged_df['lag_views'] <= 90) & (merged_df['lag_views'] >= -90)) | ((merged_df['lag_creations'] <= 90) & (merged_df['lag_creations'] >= -90))]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "id": "9a872422",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(21711, 3)"
      ]
     },
     "execution_count": 16,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "sub.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "id": "208ede4a",
   "metadata": {},
   "outputs": [],
   "source": [
    "def save_dataframe_s3(df):\n",
    "    \n",
    "    '''Saving table to S3'''\n",
    "    \n",
    "    s3 = boto3.client('s3')\n",
    "    bucket_name = 'dev-cucumbers'\n",
    "    today = datetime.today().strftime('%Y%m%d-%H%M%S')\n",
    "    filepath = \"eimpara/TikTok_analysis/lags_data_{}.csv\".format(today)\n",
    "    csv_buffer = df.to_csv(index=False).encode('utf-8')\n",
    "    s3.put_object(Body=csv_buffer, Bucket=bucket_name, Key=filepath)\n",
    "    print(f\"Table saved to S3 bucket: {bucket_name}, with file name: {filepath}\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "id": "4da96692",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Table saved to S3 bucket: dev-cucumbers, with file name: eimpara/TikTok_analysis/lags_data_20240201-172505.csv\n"
     ]
    }
   ],
   "source": [
    "save_dataframe_s3(sub)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "id": "970e1d3b",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "139"
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "a36d467f",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "conda_python3",
   "language": "python",
   "name": "conda_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.10.13"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
