{
 "cells": [
  {
   "attachments": {},
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Limpieza y creacion de la base de datos"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [],
   "source": [
    "#Importar librerias\n",
    "import numpy as np\n",
    "import pandas as pd\n",
    "import os\n",
    "import csv\n",
    "import matplotlib\n",
    "from datetime import datetime, timedelta\n",
    "import seaborn as sns\n",
    "import matplotlib.pyplot as plt\n",
    "#sns.set(style=\"darkgrid\")\n",
    "#sns.set(style=\"whitegrid\")\n",
    "#sns.set_style(\"white\")\n",
    "sns.set(style=\"whitegrid\",font_scale=2)\n",
    "import matplotlib.collections as clt\n",
    "import ptitprince as pt\n",
    "import pyodbc\n",
    "import openpyxl\n",
    "import pickle\n",
    "\n",
    "#Librerias para la construccion de la red neuronal\n",
    "from tensorflow.keras.models import Sequential\n",
    "from tensorflow.keras.layers import *\n",
    "from tensorflow.keras.callbacks import ModelCheckpoint\n",
    "from tensorflow.keras.losses import MeanSquaredError\n",
    "from tensorflow.keras.metrics import RootMeanSquaredError\n",
    "from tensorflow.keras.optimizers import Adam\n",
    "from tensorflow.keras.models import load_model"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Falló para el archivo C:\\Users\\Anderson Mosquera\\Desktop\\Datos\\Paciente 20\\12.csv\n",
      "Falló para el archivo C:\\Users\\Anderson Mosquera\\Desktop\\Datos\\Paciente 22\\00.csv\n",
      "Falló para el archivo C:\\Users\\Anderson Mosquera\\Desktop\\Datos\\Paciente 28\\12.csv\n"
     ]
    }
   ],
   "source": [
    "directory = r'C:\\Users\\Anderson Mosquera\\Desktop\\Datos'\n",
    "\n",
    "MasterDF = pd.DataFrame()\n",
    "for filename in os.listdir(directory):\n",
    "    for file in os.listdir(os.path.join(directory, filename)):\n",
    "        f= os.path.join(directory, filename, file)\n",
    "        if os.path.isfile(f):\n",
    "            try:\n",
    "                if (f ==r\"C:\\Users\\Anderson Mosquera\\Desktop\\Datos\\Paciente 04\\06.csv\"):\n",
    "                    archivo = pd.read_csv(f, sep=';', header=0, skiprows=[0,1,2,3,4,5,6,7,8,9], low_memory = False)                \n",
    "                else:\n",
    "                    archivo = pd.read_csv(f, sep=';', header=0, skiprows=[0,1,2,3,4,5], low_memory = False)\n",
    "\n",
    "                A = archivo.index[archivo['Index'] == 'Index'].tolist()[0]\n",
    "                df = archivo[['Index','Date','Time', 'Sensor Glucose (mg/dL)']]\n",
    "                df = df.iloc[A+2:]\n",
    "                df = df[df['Date'].str.len() <= 10]\n",
    "                #Corrige formatos\n",
    "                df['Datetime'] = df['Date']+\" \"+df['Time']\n",
    "                df['Datetime'] = pd.to_datetime(df['Datetime'], infer_datetime_format=True)\n",
    "                df['Sensor Glucose (mg/dL)'] = df['Sensor Glucose (mg/dL)'].str.replace(',','.')\n",
    "                df['Sensor Glucose (mg/dL)'] = pd.to_numeric(df['Sensor Glucose (mg/dL)'])\n",
    "                df['Paciente'] = filename\n",
    "                df['Meses'] = file[0:2]\n",
    "                df.sort_values(by=['Datetime'], ascending = False)\n",
    "                df['Sensor Glucose (mg/dL)'].interpolate(method ='linear', limit_direction ='forward')\n",
    "                MasterDF = pd.concat([MasterDF,df])\n",
    "            except:\n",
    "                print(\"Falló para el archivo \" + f)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [],
   "source": [
    "MasterDF['Posicion'] = MasterDF['Time'].str.find(':')\n",
    "MasterDF['Hora'] = MasterDF.Datetime.apply(lambda x: x.hour)\n",
    "MasterDF['Sensor Glucose (mg/dL)']=MasterDF['Sensor Glucose (mg/dL)'].interpolate(method='linear', axis=0, limit=None, inplace=False, limit_direction='forward', limit_area=None, downcast=None)\n",
    "MasterDF['Rango'] = np.where(MasterDF['Sensor Glucose (mg/dL)']<70, 'Bajo', np.where(MasterDF['Sensor Glucose (mg/dL)']<180, 'Normal', 'Alto'))\n",
    "MasterDF.drop(MasterDF[MasterDF['Date']=='01/01/2009'].index, inplace=True)\n",
    "MasterDF.drop(MasterDF[MasterDF['Date']=='1/01/09'].index, inplace=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\Anderson Mosquera\\AppData\\Local\\Temp\\ipykernel_14464\\3476703242.py:2: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame\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",
      "  MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 01') & (MasterDF['Meses'] == '00')] = 'Paradigm Veo - 754'\n",
      "C:\\Users\\Anderson Mosquera\\AppData\\Local\\Temp\\ipykernel_14464\\3476703242.py:3: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame\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",
      "  MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 01') & (MasterDF['Meses'] == '06')] = 'MiniMed 640G, MMT-1512/1712'\n",
      "C:\\Users\\Anderson Mosquera\\AppData\\Local\\Temp\\ipykernel_14464\\3476703242.py:4: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame\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",
      "  MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 01') & (MasterDF['Meses'] == '12')] = 'MiniMed 640G, MMT-1512/1712'\n",
      "C:\\Users\\Anderson Mosquera\\AppData\\Local\\Temp\\ipykernel_14464\\3476703242.py:5: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame\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",
      "  MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 02') & (MasterDF['Meses'] == '00')] = 'Paradigm Veo - 754'\n",
      "C:\\Users\\Anderson Mosquera\\AppData\\Local\\Temp\\ipykernel_14464\\3476703242.py:6: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame\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",
      "  MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 02') & (MasterDF['Meses'] == '06')] = 'MiniMed 640G, MMT-1512/1712'\n",
      "C:\\Users\\Anderson Mosquera\\AppData\\Local\\Temp\\ipykernel_14464\\3476703242.py:7: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame\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",
      "  MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 02') & (MasterDF['Meses'] == '12')] = 'MiniMed 640G, MMT-1512/1712'\n",
      "C:\\Users\\Anderson Mosquera\\AppData\\Local\\Temp\\ipykernel_14464\\3476703242.py:8: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame\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",
      "  MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 03') & (MasterDF['Meses'] == '00')] = 'Paradigm Veo - 754'\n",
      "C:\\Users\\Anderson Mosquera\\AppData\\Local\\Temp\\ipykernel_14464\\3476703242.py:9: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame\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",
      "  MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 03') & (MasterDF['Meses'] == '06')] = 'MiniMed 640G, MMT-1512/1712'\n",
      "C:\\Users\\Anderson Mosquera\\AppData\\Local\\Temp\\ipykernel_14464\\3476703242.py:10: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame\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",
      "  MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 03') & (MasterDF['Meses'] == '12')] = 'MiniMed 640G, MMT-1512/1712'\n",
      "C:\\Users\\Anderson Mosquera\\AppData\\Local\\Temp\\ipykernel_14464\\3476703242.py:11: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame\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",
      "  MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 04') & (MasterDF['Meses'] == '00')] = 'Paradigm Veo - 754'\n",
      "C:\\Users\\Anderson Mosquera\\AppData\\Local\\Temp\\ipykernel_14464\\3476703242.py:12: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame\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",
      "  MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 04') & (MasterDF['Meses'] == '06')] = 'MiniMed 640G, MMT-1512/1712'\n",
      "C:\\Users\\Anderson Mosquera\\AppData\\Local\\Temp\\ipykernel_14464\\3476703242.py:13: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame\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",
      "  MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 04') & (MasterDF['Meses'] == '12')] = 'MiniMed 640G, MMT-1512/1712'\n",
      "C:\\Users\\Anderson Mosquera\\AppData\\Local\\Temp\\ipykernel_14464\\3476703242.py:14: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame\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",
      "  MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 05') & (MasterDF['Meses'] == '00')] = 'Paradigm Veo - 754'\n",
      "C:\\Users\\Anderson Mosquera\\AppData\\Local\\Temp\\ipykernel_14464\\3476703242.py:15: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame\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",
      "  MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 05') & (MasterDF['Meses'] == '06')] = 'MiniMed 640G, MMT-1512/1712'\n",
      "C:\\Users\\Anderson Mosquera\\AppData\\Local\\Temp\\ipykernel_14464\\3476703242.py:16: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame\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",
      "  MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 05') & (MasterDF['Meses'] == '12')] = 'MiniMed 640G, MMT-1512/1712'\n",
      "C:\\Users\\Anderson Mosquera\\AppData\\Local\\Temp\\ipykernel_14464\\3476703242.py:17: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame\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",
      "  MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 06') & (MasterDF['Meses'] == '00')] = 'Paradigm Veo - 754'\n",
      "C:\\Users\\Anderson Mosquera\\AppData\\Local\\Temp\\ipykernel_14464\\3476703242.py:18: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame\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",
      "  MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 06') & (MasterDF['Meses'] == '06')] = 'MiniMed 640G, MMT-1512/1712'\n",
      "C:\\Users\\Anderson Mosquera\\AppData\\Local\\Temp\\ipykernel_14464\\3476703242.py:19: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame\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",
      "  MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 06') & (MasterDF['Meses'] == '12')] = 'MiniMed 640G, MMT-1512/1712'\n",
      "C:\\Users\\Anderson Mosquera\\AppData\\Local\\Temp\\ipykernel_14464\\3476703242.py:20: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame\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",
      "  MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 07') & (MasterDF['Meses'] == '00')] = 'Paradigm Veo - 754'\n",
      "C:\\Users\\Anderson Mosquera\\AppData\\Local\\Temp\\ipykernel_14464\\3476703242.py:21: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame\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",
      "  MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 07') & (MasterDF['Meses'] == '06')] = 'MiniMed 640G, MMT-1512/1712'\n",
      "C:\\Users\\Anderson Mosquera\\AppData\\Local\\Temp\\ipykernel_14464\\3476703242.py:22: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame\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",
      "  MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 07') & (MasterDF['Meses'] == '12')] = 'MiniMed 640G, MMT-1512/1712'\n",
      "C:\\Users\\Anderson Mosquera\\AppData\\Local\\Temp\\ipykernel_14464\\3476703242.py:23: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame\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",
      "  MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 08') & (MasterDF['Meses'] == '00')] = 'Paradigm Veo - 754'\n",
      "C:\\Users\\Anderson Mosquera\\AppData\\Local\\Temp\\ipykernel_14464\\3476703242.py:24: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame\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",
      "  MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 08') & (MasterDF['Meses'] == '06')] = 'MiniMed 640G, MMT-1512/1712'\n",
      "C:\\Users\\Anderson Mosquera\\AppData\\Local\\Temp\\ipykernel_14464\\3476703242.py:25: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame\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",
      "  MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 08') & (MasterDF['Meses'] == '12')] = 'MiniMed 640G, MMT-1512/1712'\n",
      "C:\\Users\\Anderson Mosquera\\AppData\\Local\\Temp\\ipykernel_14464\\3476703242.py:26: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame\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",
      "  MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 09') & (MasterDF['Meses'] == '00')] = 'Paradigm Veo - 754'\n",
      "C:\\Users\\Anderson Mosquera\\AppData\\Local\\Temp\\ipykernel_14464\\3476703242.py:27: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame\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",
      "  MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 09') & (MasterDF['Meses'] == '06')] = 'MiniMed 640G, MMT-1512/1712'\n",
      "C:\\Users\\Anderson Mosquera\\AppData\\Local\\Temp\\ipykernel_14464\\3476703242.py:28: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame\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",
      "  MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 09') & (MasterDF['Meses'] == '12')] = 'MiniMed 640G, MMT-1512/1712'\n",
      "C:\\Users\\Anderson Mosquera\\AppData\\Local\\Temp\\ipykernel_14464\\3476703242.py:29: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame\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",
      "  MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 10') & (MasterDF['Meses'] == '00')] = 'Paradigm Veo - 754'\n",
      "C:\\Users\\Anderson Mosquera\\AppData\\Local\\Temp\\ipykernel_14464\\3476703242.py:30: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame\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",
      "  MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 10') & (MasterDF['Meses'] == '06')] = 'MiniMed 640G, MMT-1512/1712'\n",
      "C:\\Users\\Anderson Mosquera\\AppData\\Local\\Temp\\ipykernel_14464\\3476703242.py:31: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame\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",
      "  MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 10') & (MasterDF['Meses'] == '12')] = 'MiniMed 640G, MMT-1512/1712'\n",
      "C:\\Users\\Anderson Mosquera\\AppData\\Local\\Temp\\ipykernel_14464\\3476703242.py:32: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame\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",
      "  MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 11') & (MasterDF['Meses'] == '00')] = 'Paradigm Veo - 754'\n",
      "C:\\Users\\Anderson Mosquera\\AppData\\Local\\Temp\\ipykernel_14464\\3476703242.py:33: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame\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",
      "  MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 11') & (MasterDF['Meses'] == '06')] = 'MiniMed 640G, MMT-1512/1712'\n",
      "C:\\Users\\Anderson Mosquera\\AppData\\Local\\Temp\\ipykernel_14464\\3476703242.py:34: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame\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",
      "  MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 11') & (MasterDF['Meses'] == '12')] = 'MiniMed 640G, MMT-1512/1712'\n",
      "C:\\Users\\Anderson Mosquera\\AppData\\Local\\Temp\\ipykernel_14464\\3476703242.py:35: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame\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",
      "  MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 12') & (MasterDF['Meses'] == '00')] = 'Paradigm Veo - 754'\n",
      "C:\\Users\\Anderson Mosquera\\AppData\\Local\\Temp\\ipykernel_14464\\3476703242.py:36: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame\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",
      "  MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 12') & (MasterDF['Meses'] == '06')] = 'MiniMed 640G, MMT-1512/1712'\n",
      "C:\\Users\\Anderson Mosquera\\AppData\\Local\\Temp\\ipykernel_14464\\3476703242.py:37: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame\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",
      "  MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 12') & (MasterDF['Meses'] == '12')] = 'MiniMed 640G, MMT-1512/1712'\n",
      "C:\\Users\\Anderson Mosquera\\AppData\\Local\\Temp\\ipykernel_14464\\3476703242.py:38: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame\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",
      "  MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 13') & (MasterDF['Meses'] == '00')] = 'Paradigm Veo - 754'\n",
      "C:\\Users\\Anderson Mosquera\\AppData\\Local\\Temp\\ipykernel_14464\\3476703242.py:39: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame\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",
      "  MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 13') & (MasterDF['Meses'] == '06')] = 'MiniMed 640G, MMT-1512/1712'\n",
      "C:\\Users\\Anderson Mosquera\\AppData\\Local\\Temp\\ipykernel_14464\\3476703242.py:40: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame\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",
      "  MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 13') & (MasterDF['Meses'] == '12')] = 'MiniMed 640G, MMT-1512/1712'\n",
      "C:\\Users\\Anderson Mosquera\\AppData\\Local\\Temp\\ipykernel_14464\\3476703242.py:41: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame\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",
      "  MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 14') & (MasterDF['Meses'] == '00')] = 'Paradigm Veo - 754'\n",
      "C:\\Users\\Anderson Mosquera\\AppData\\Local\\Temp\\ipykernel_14464\\3476703242.py:42: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame\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",
      "  MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 14') & (MasterDF['Meses'] == '06')] = 'MiniMed 640G, MMT-1512/1712'\n",
      "C:\\Users\\Anderson Mosquera\\AppData\\Local\\Temp\\ipykernel_14464\\3476703242.py:43: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame\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",
      "  MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 14') & (MasterDF['Meses'] == '12')] = 'MiniMed 640G, MMT-1512/1712'\n",
      "C:\\Users\\Anderson Mosquera\\AppData\\Local\\Temp\\ipykernel_14464\\3476703242.py:44: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame\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",
      "  MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 15') & (MasterDF['Meses'] == '00')] = 'Paradigm Veo - 754'\n",
      "C:\\Users\\Anderson Mosquera\\AppData\\Local\\Temp\\ipykernel_14464\\3476703242.py:45: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame\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",
      "  MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 15') & (MasterDF['Meses'] == '06')] = 'MiniMed 640G, MMT-1512/1712'\n",
      "C:\\Users\\Anderson Mosquera\\AppData\\Local\\Temp\\ipykernel_14464\\3476703242.py:46: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame\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",
      "  MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 15') & (MasterDF['Meses'] == '12')] = 'MiniMed 640G, MMT-1512/1712'\n",
      "C:\\Users\\Anderson Mosquera\\AppData\\Local\\Temp\\ipykernel_14464\\3476703242.py:47: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame\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",
      "  MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 16') & (MasterDF['Meses'] == '00')] = 'Paradigm Veo - 754'\n",
      "C:\\Users\\Anderson Mosquera\\AppData\\Local\\Temp\\ipykernel_14464\\3476703242.py:48: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame\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",
      "  MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 16') & (MasterDF['Meses'] == '06')] = 'MiniMed 640G, MMT-1512/1712'\n",
      "C:\\Users\\Anderson Mosquera\\AppData\\Local\\Temp\\ipykernel_14464\\3476703242.py:49: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame\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",
      "  MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 16') & (MasterDF['Meses'] == '12')] = 'MiniMed 640G, MMT-1512/1712'\n",
      "C:\\Users\\Anderson Mosquera\\AppData\\Local\\Temp\\ipykernel_14464\\3476703242.py:50: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame\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",
      "  MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 17') & (MasterDF['Meses'] == '00')] = 'Paradigm Veo - 754'\n",
      "C:\\Users\\Anderson Mosquera\\AppData\\Local\\Temp\\ipykernel_14464\\3476703242.py:51: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame\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",
      "  MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 17') & (MasterDF['Meses'] == '06')] = 'MiniMed 640G, MMT-1512/1712'\n",
      "C:\\Users\\Anderson Mosquera\\AppData\\Local\\Temp\\ipykernel_14464\\3476703242.py:52: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame\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",
      "  MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 17') & (MasterDF['Meses'] == '12')] = 'MiniMed 640G, MMT-1512/1712'\n",
      "C:\\Users\\Anderson Mosquera\\AppData\\Local\\Temp\\ipykernel_14464\\3476703242.py:53: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame\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",
      "  MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 18') & (MasterDF['Meses'] == '00')] = 'Paradigm Veo - 754'\n",
      "C:\\Users\\Anderson Mosquera\\AppData\\Local\\Temp\\ipykernel_14464\\3476703242.py:54: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame\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",
      "  MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 18') & (MasterDF['Meses'] == '06')] = 'MiniMed 640G, MMT-1512/1712'\n",
      "C:\\Users\\Anderson Mosquera\\AppData\\Local\\Temp\\ipykernel_14464\\3476703242.py:55: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame\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",
      "  MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 18') & (MasterDF['Meses'] == '12')] = 'MiniMed 640G, MMT-1512/1712'\n",
      "C:\\Users\\Anderson Mosquera\\AppData\\Local\\Temp\\ipykernel_14464\\3476703242.py:56: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame\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",
      "  MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 19') & (MasterDF['Meses'] == '00')] = 'Paradigm Veo - 754'\n",
      "C:\\Users\\Anderson Mosquera\\AppData\\Local\\Temp\\ipykernel_14464\\3476703242.py:57: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame\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",
      "  MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 19') & (MasterDF['Meses'] == '06')] = 'MiniMed 640G, MMT-1512/1712'\n",
      "C:\\Users\\Anderson Mosquera\\AppData\\Local\\Temp\\ipykernel_14464\\3476703242.py:58: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame\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",
      "  MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 19') & (MasterDF['Meses'] == '12')] = 'MiniMed 640G, MMT-1512/1712'\n",
      "C:\\Users\\Anderson Mosquera\\AppData\\Local\\Temp\\ipykernel_14464\\3476703242.py:59: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame\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",
      "  MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 20') & (MasterDF['Meses'] == '00')] = 'Paradigm Veo - 754'\n",
      "C:\\Users\\Anderson Mosquera\\AppData\\Local\\Temp\\ipykernel_14464\\3476703242.py:60: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame\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",
      "  MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 20') & (MasterDF['Meses'] == '06')] = 'MiniMed 640G, MMT-1512/1712'\n",
      "C:\\Users\\Anderson Mosquera\\AppData\\Local\\Temp\\ipykernel_14464\\3476703242.py:61: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame\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",
      "  MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 20') & (MasterDF['Meses'] == '12')] = 'MiniMed 640G, MMT-1512/1712'\n",
      "C:\\Users\\Anderson Mosquera\\AppData\\Local\\Temp\\ipykernel_14464\\3476703242.py:62: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame\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",
      "  MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 21') & (MasterDF['Meses'] == '00')] = 'Paradigm Veo - 754'\n",
      "C:\\Users\\Anderson Mosquera\\AppData\\Local\\Temp\\ipykernel_14464\\3476703242.py:63: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame\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",
      "  MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 21') & (MasterDF['Meses'] == '06')] = 'MiniMed 640G, MMT-1512/1712'\n",
      "C:\\Users\\Anderson Mosquera\\AppData\\Local\\Temp\\ipykernel_14464\\3476703242.py:64: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame\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",
      "  MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 21') & (MasterDF['Meses'] == '12')] = 'MiniMed 640G, MMT-1512/1712'\n",
      "C:\\Users\\Anderson Mosquera\\AppData\\Local\\Temp\\ipykernel_14464\\3476703242.py:65: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame\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",
      "  MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 22') & (MasterDF['Meses'] == '00')] = 'Paradigm Veo - 754'\n",
      "C:\\Users\\Anderson Mosquera\\AppData\\Local\\Temp\\ipykernel_14464\\3476703242.py:66: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame\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",
      "  MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 22') & (MasterDF['Meses'] == '06')] = 'MiniMed 640G, MMT-1512/1712'\n",
      "C:\\Users\\Anderson Mosquera\\AppData\\Local\\Temp\\ipykernel_14464\\3476703242.py:67: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame\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",
      "  MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 22') & (MasterDF['Meses'] == '12')] = 'MiniMed 640G, MMT-1512/1712'\n",
      "C:\\Users\\Anderson Mosquera\\AppData\\Local\\Temp\\ipykernel_14464\\3476703242.py:68: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame\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",
      "  MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 23') & (MasterDF['Meses'] == '00')] = 'Paradigm Veo - 754'\n",
      "C:\\Users\\Anderson Mosquera\\AppData\\Local\\Temp\\ipykernel_14464\\3476703242.py:69: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame\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",
      "  MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 23') & (MasterDF['Meses'] == '06')] = 'MiniMed 640G, MMT-1512/1712'\n",
      "C:\\Users\\Anderson Mosquera\\AppData\\Local\\Temp\\ipykernel_14464\\3476703242.py:70: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame\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",
      "  MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 23') & (MasterDF['Meses'] == '12')] = 'MiniMed 640G, MMT-1512/1712'\n",
      "C:\\Users\\Anderson Mosquera\\AppData\\Local\\Temp\\ipykernel_14464\\3476703242.py:71: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame\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",
      "  MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 24') & (MasterDF['Meses'] == '00')] = 'Paradigm Veo - 754'\n",
      "C:\\Users\\Anderson Mosquera\\AppData\\Local\\Temp\\ipykernel_14464\\3476703242.py:72: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame\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",
      "  MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 24') & (MasterDF['Meses'] == '06')] = 'MiniMed 640G, MMT-1512/1712'\n",
      "C:\\Users\\Anderson Mosquera\\AppData\\Local\\Temp\\ipykernel_14464\\3476703242.py:73: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame\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",
      "  MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 24') & (MasterDF['Meses'] == '12')] = 'MiniMed 640G, MMT-1512/1712'\n",
      "C:\\Users\\Anderson Mosquera\\AppData\\Local\\Temp\\ipykernel_14464\\3476703242.py:74: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame\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",
      "  MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 25') & (MasterDF['Meses'] == '00')] = 'Paradigm Veo - 754'\n",
      "C:\\Users\\Anderson Mosquera\\AppData\\Local\\Temp\\ipykernel_14464\\3476703242.py:75: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame\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",
      "  MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 25') & (MasterDF['Meses'] == '06')] = 'MiniMed 640G, MMT-1512/1712'\n",
      "C:\\Users\\Anderson Mosquera\\AppData\\Local\\Temp\\ipykernel_14464\\3476703242.py:76: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame\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",
      "  MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 25') & (MasterDF['Meses'] == '12')] = 'MiniMed 640G, MMT-1512/1712'\n",
      "C:\\Users\\Anderson Mosquera\\AppData\\Local\\Temp\\ipykernel_14464\\3476703242.py:77: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame\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",
      "  MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 26') & (MasterDF['Meses'] == '00')] = 'Paradigm Veo - 754'\n",
      "C:\\Users\\Anderson Mosquera\\AppData\\Local\\Temp\\ipykernel_14464\\3476703242.py:78: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame\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",
      "  MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 26') & (MasterDF['Meses'] == '06')] = 'MiniMed 640G, MMT-1512/1712'\n",
      "C:\\Users\\Anderson Mosquera\\AppData\\Local\\Temp\\ipykernel_14464\\3476703242.py:79: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame\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",
      "  MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 26') & (MasterDF['Meses'] == '12')] = 'MiniMed 640G, MMT-1512/1712'\n",
      "C:\\Users\\Anderson Mosquera\\AppData\\Local\\Temp\\ipykernel_14464\\3476703242.py:80: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame\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",
      "  MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 27') & (MasterDF['Meses'] == '00')] = 'Paradigm Veo - 754'\n",
      "C:\\Users\\Anderson Mosquera\\AppData\\Local\\Temp\\ipykernel_14464\\3476703242.py:81: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame\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",
      "  MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 27') & (MasterDF['Meses'] == '06')] = 'MiniMed 640G, MMT-1512/1712'\n",
      "C:\\Users\\Anderson Mosquera\\AppData\\Local\\Temp\\ipykernel_14464\\3476703242.py:82: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame\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",
      "  MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 27') & (MasterDF['Meses'] == '12')] = 'MiniMed 640G, MMT-1512/1712'\n",
      "C:\\Users\\Anderson Mosquera\\AppData\\Local\\Temp\\ipykernel_14464\\3476703242.py:83: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame\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",
      "  MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 28') & (MasterDF['Meses'] == '00')] = 'Paradigm Veo - 754'\n",
      "C:\\Users\\Anderson Mosquera\\AppData\\Local\\Temp\\ipykernel_14464\\3476703242.py:84: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame\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",
      "  MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 28') & (MasterDF['Meses'] == '06')] = 'MiniMed 640G, MMT-1512/1712'\n",
      "C:\\Users\\Anderson Mosquera\\AppData\\Local\\Temp\\ipykernel_14464\\3476703242.py:85: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame\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",
      "  MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 28') & (MasterDF['Meses'] == '12')] = 'MiniMed 640G, MMT-1512/1712'\n",
      "C:\\Users\\Anderson Mosquera\\AppData\\Local\\Temp\\ipykernel_14464\\3476703242.py:86: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame\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",
      "  MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 29') & (MasterDF['Meses'] == '00')] = 'Paradigm Veo - 754'\n",
      "C:\\Users\\Anderson Mosquera\\AppData\\Local\\Temp\\ipykernel_14464\\3476703242.py:87: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame\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",
      "  MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 29') & (MasterDF['Meses'] == '06')] = 'MiniMed 640G, MMT-1512/1712'\n",
      "C:\\Users\\Anderson Mosquera\\AppData\\Local\\Temp\\ipykernel_14464\\3476703242.py:88: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame\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",
      "  MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 29') & (MasterDF['Meses'] == '12')] = 'MiniMed 640G, MMT-1512/1712'\n",
      "C:\\Users\\Anderson Mosquera\\AppData\\Local\\Temp\\ipykernel_14464\\3476703242.py:89: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame\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",
      "  MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 30') & (MasterDF['Meses'] == '00')] = 'Paradigm Veo - 754'\n",
      "C:\\Users\\Anderson Mosquera\\AppData\\Local\\Temp\\ipykernel_14464\\3476703242.py:90: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame\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",
      "  MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 30') & (MasterDF['Meses'] == '06')] = 'MiniMed 640G, MMT-1512/1712'\n",
      "C:\\Users\\Anderson Mosquera\\AppData\\Local\\Temp\\ipykernel_14464\\3476703242.py:91: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame\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",
      "  MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 30') & (MasterDF['Meses'] == '12')] = 'MiniMed 640G, MMT-1512/1712'\n"
     ]
    }
   ],
   "source": [
    "MasterDF['Equipo'] = ''\n",
    "MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 01') & (MasterDF['Meses'] == '00')] = 'Paradigm Veo - 754'\n",
    "MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 01') & (MasterDF['Meses'] == '06')] = 'MiniMed 640G, MMT-1512/1712'\n",
    "MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 01') & (MasterDF['Meses'] == '12')] = 'MiniMed 640G, MMT-1512/1712'\n",
    "MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 02') & (MasterDF['Meses'] == '00')] = 'Paradigm Veo - 754'\n",
    "MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 02') & (MasterDF['Meses'] == '06')] = 'MiniMed 640G, MMT-1512/1712'\n",
    "MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 02') & (MasterDF['Meses'] == '12')] = 'MiniMed 640G, MMT-1512/1712'\n",
    "MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 03') & (MasterDF['Meses'] == '00')] = 'Paradigm Veo - 754'\n",
    "MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 03') & (MasterDF['Meses'] == '06')] = 'MiniMed 640G, MMT-1512/1712'\n",
    "MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 03') & (MasterDF['Meses'] == '12')] = 'MiniMed 640G, MMT-1512/1712'\n",
    "MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 04') & (MasterDF['Meses'] == '00')] = 'Paradigm Veo - 754'\n",
    "MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 04') & (MasterDF['Meses'] == '06')] = 'MiniMed 640G, MMT-1512/1712'\n",
    "MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 04') & (MasterDF['Meses'] == '12')] = 'MiniMed 640G, MMT-1512/1712'\n",
    "MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 05') & (MasterDF['Meses'] == '00')] = 'Paradigm Veo - 754'\n",
    "MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 05') & (MasterDF['Meses'] == '06')] = 'MiniMed 640G, MMT-1512/1712'\n",
    "MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 05') & (MasterDF['Meses'] == '12')] = 'MiniMed 640G, MMT-1512/1712'\n",
    "MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 06') & (MasterDF['Meses'] == '00')] = 'Paradigm Veo - 754'\n",
    "MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 06') & (MasterDF['Meses'] == '06')] = 'MiniMed 640G, MMT-1512/1712'\n",
    "MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 06') & (MasterDF['Meses'] == '12')] = 'MiniMed 640G, MMT-1512/1712'\n",
    "MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 07') & (MasterDF['Meses'] == '00')] = 'Paradigm Veo - 754'\n",
    "MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 07') & (MasterDF['Meses'] == '06')] = 'MiniMed 640G, MMT-1512/1712'\n",
    "MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 07') & (MasterDF['Meses'] == '12')] = 'MiniMed 640G, MMT-1512/1712'\n",
    "MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 08') & (MasterDF['Meses'] == '00')] = 'Paradigm Veo - 754'\n",
    "MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 08') & (MasterDF['Meses'] == '06')] = 'MiniMed 640G, MMT-1512/1712'\n",
    "MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 08') & (MasterDF['Meses'] == '12')] = 'MiniMed 640G, MMT-1512/1712'\n",
    "MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 09') & (MasterDF['Meses'] == '00')] = 'Paradigm Veo - 754'\n",
    "MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 09') & (MasterDF['Meses'] == '06')] = 'MiniMed 640G, MMT-1512/1712'\n",
    "MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 09') & (MasterDF['Meses'] == '12')] = 'MiniMed 640G, MMT-1512/1712'\n",
    "MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 10') & (MasterDF['Meses'] == '00')] = 'Paradigm Veo - 754'\n",
    "MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 10') & (MasterDF['Meses'] == '06')] = 'MiniMed 640G, MMT-1512/1712'\n",
    "MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 10') & (MasterDF['Meses'] == '12')] = 'MiniMed 640G, MMT-1512/1712'\n",
    "MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 11') & (MasterDF['Meses'] == '00')] = 'Paradigm Veo - 754'\n",
    "MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 11') & (MasterDF['Meses'] == '06')] = 'MiniMed 640G, MMT-1512/1712'\n",
    "MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 11') & (MasterDF['Meses'] == '12')] = 'MiniMed 640G, MMT-1512/1712'\n",
    "MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 12') & (MasterDF['Meses'] == '00')] = 'Paradigm Veo - 754'\n",
    "MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 12') & (MasterDF['Meses'] == '06')] = 'MiniMed 640G, MMT-1512/1712'\n",
    "MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 12') & (MasterDF['Meses'] == '12')] = 'MiniMed 640G, MMT-1512/1712'\n",
    "MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 13') & (MasterDF['Meses'] == '00')] = 'Paradigm Veo - 754'\n",
    "MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 13') & (MasterDF['Meses'] == '06')] = 'MiniMed 640G, MMT-1512/1712'\n",
    "MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 13') & (MasterDF['Meses'] == '12')] = 'MiniMed 640G, MMT-1512/1712'\n",
    "MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 14') & (MasterDF['Meses'] == '00')] = 'Paradigm Veo - 754'\n",
    "MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 14') & (MasterDF['Meses'] == '06')] = 'MiniMed 640G, MMT-1512/1712'\n",
    "MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 14') & (MasterDF['Meses'] == '12')] = 'MiniMed 640G, MMT-1512/1712'\n",
    "MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 15') & (MasterDF['Meses'] == '00')] = 'Paradigm Veo - 754'\n",
    "MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 15') & (MasterDF['Meses'] == '06')] = 'MiniMed 640G, MMT-1512/1712'\n",
    "MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 15') & (MasterDF['Meses'] == '12')] = 'MiniMed 640G, MMT-1512/1712'\n",
    "MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 16') & (MasterDF['Meses'] == '00')] = 'Paradigm Veo - 754'\n",
    "MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 16') & (MasterDF['Meses'] == '06')] = 'MiniMed 640G, MMT-1512/1712'\n",
    "MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 16') & (MasterDF['Meses'] == '12')] = 'MiniMed 640G, MMT-1512/1712'\n",
    "MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 17') & (MasterDF['Meses'] == '00')] = 'Paradigm Veo - 754'\n",
    "MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 17') & (MasterDF['Meses'] == '06')] = 'MiniMed 640G, MMT-1512/1712'\n",
    "MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 17') & (MasterDF['Meses'] == '12')] = 'MiniMed 640G, MMT-1512/1712'\n",
    "MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 18') & (MasterDF['Meses'] == '00')] = 'Paradigm Veo - 754'\n",
    "MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 18') & (MasterDF['Meses'] == '06')] = 'MiniMed 640G, MMT-1512/1712'\n",
    "MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 18') & (MasterDF['Meses'] == '12')] = 'MiniMed 640G, MMT-1512/1712'\n",
    "MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 19') & (MasterDF['Meses'] == '00')] = 'Paradigm Veo - 754'\n",
    "MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 19') & (MasterDF['Meses'] == '06')] = 'MiniMed 640G, MMT-1512/1712'\n",
    "MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 19') & (MasterDF['Meses'] == '12')] = 'MiniMed 640G, MMT-1512/1712'\n",
    "MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 20') & (MasterDF['Meses'] == '00')] = 'Paradigm Veo - 754'\n",
    "MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 20') & (MasterDF['Meses'] == '06')] = 'MiniMed 640G, MMT-1512/1712'\n",
    "MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 20') & (MasterDF['Meses'] == '12')] = 'MiniMed 640G, MMT-1512/1712'\n",
    "MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 21') & (MasterDF['Meses'] == '00')] = 'Paradigm Veo - 754'\n",
    "MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 21') & (MasterDF['Meses'] == '06')] = 'MiniMed 640G, MMT-1512/1712'\n",
    "MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 21') & (MasterDF['Meses'] == '12')] = 'MiniMed 640G, MMT-1512/1712'\n",
    "MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 22') & (MasterDF['Meses'] == '00')] = 'Paradigm Veo - 754'\n",
    "MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 22') & (MasterDF['Meses'] == '06')] = 'MiniMed 640G, MMT-1512/1712'\n",
    "MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 22') & (MasterDF['Meses'] == '12')] = 'MiniMed 640G, MMT-1512/1712'\n",
    "MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 23') & (MasterDF['Meses'] == '00')] = 'Paradigm Veo - 754'\n",
    "MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 23') & (MasterDF['Meses'] == '06')] = 'MiniMed 640G, MMT-1512/1712'\n",
    "MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 23') & (MasterDF['Meses'] == '12')] = 'MiniMed 640G, MMT-1512/1712'\n",
    "MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 24') & (MasterDF['Meses'] == '00')] = 'Paradigm Veo - 754'\n",
    "MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 24') & (MasterDF['Meses'] == '06')] = 'MiniMed 640G, MMT-1512/1712'\n",
    "MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 24') & (MasterDF['Meses'] == '12')] = 'MiniMed 640G, MMT-1512/1712'\n",
    "MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 25') & (MasterDF['Meses'] == '00')] = 'Paradigm Veo - 754'\n",
    "MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 25') & (MasterDF['Meses'] == '06')] = 'MiniMed 640G, MMT-1512/1712'\n",
    "MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 25') & (MasterDF['Meses'] == '12')] = 'MiniMed 640G, MMT-1512/1712'\n",
    "MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 26') & (MasterDF['Meses'] == '00')] = 'Paradigm Veo - 754'\n",
    "MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 26') & (MasterDF['Meses'] == '06')] = 'MiniMed 640G, MMT-1512/1712'\n",
    "MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 26') & (MasterDF['Meses'] == '12')] = 'MiniMed 640G, MMT-1512/1712'\n",
    "MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 27') & (MasterDF['Meses'] == '00')] = 'Paradigm Veo - 754'\n",
    "MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 27') & (MasterDF['Meses'] == '06')] = 'MiniMed 640G, MMT-1512/1712'\n",
    "MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 27') & (MasterDF['Meses'] == '12')] = 'MiniMed 640G, MMT-1512/1712'\n",
    "MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 28') & (MasterDF['Meses'] == '00')] = 'Paradigm Veo - 754'\n",
    "MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 28') & (MasterDF['Meses'] == '06')] = 'MiniMed 640G, MMT-1512/1712'\n",
    "MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 28') & (MasterDF['Meses'] == '12')] = 'MiniMed 640G, MMT-1512/1712'\n",
    "MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 29') & (MasterDF['Meses'] == '00')] = 'Paradigm Veo - 754'\n",
    "MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 29') & (MasterDF['Meses'] == '06')] = 'MiniMed 640G, MMT-1512/1712'\n",
    "MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 29') & (MasterDF['Meses'] == '12')] = 'MiniMed 640G, MMT-1512/1712'\n",
    "MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 30') & (MasterDF['Meses'] == '00')] = 'Paradigm Veo - 754'\n",
    "MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 30') & (MasterDF['Meses'] == '06')] = 'MiniMed 640G, MMT-1512/1712'\n",
    "MasterDF['Equipo'][(MasterDF['Paciente'] == 'Paciente 30') & (MasterDF['Meses'] == '12')] = 'MiniMed 640G, MMT-1512/1712'\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [],
   "source": [
    "MasterDF = MasterDF.rename(columns={'Sensor Glucose (mg/dL)' : 'Sensor_Glucose'})"
   ]
  },
  {
   "attachments": {},
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Creacion de la Red Neuronal"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "\n",
    "def Red_Neuronal(window_size):\n",
    "    #Esta toma solo los registros consecutivos tomados cada 5 minutos\n",
    "    df = MasterDF\n",
    "    df = df.sort_values(['Paciente','Datetime'], ascending = [True,True])\n",
    "        #Vamos a crear la diferencia en minutos entre la fila actual y la anterior\n",
    "    df['Delta_T_m'] = df[\"Datetime\"].diff().apply(lambda x: x/np.timedelta64(1, 'm')).fillna(0).astype('int64')\n",
    "    # df = df.sort_values(by=['Delta_T_m'], ascending = True)\n",
    "    # df = df.iloc[:-1 , :]\n",
    "    # df = df.sort_values(by=['Delta_T_m'], ascending = False)\n",
    "    # df = df.iloc[:-1 , :]\n",
    "    df = df[df['Delta_T_m']==5]\n",
    "    df = df.reset_index(drop=True)\n",
    "    df = df.reset_index()\n",
    "    df=MasterDF['Sensor_Glucose']\n",
    "\n",
    "    #Esta parte crea lineas de 10 puntos de X, valores reales y Y valores a predecir por la red neuronal, necesita como parametro el window size\n",
    "    df_as_np = df.to_numpy()\n",
    "    X = []\n",
    "    y = []\n",
    "\n",
    "    for i in range(len(df_as_np)-window_size):\n",
    "        row = [[a] for a in df_as_np[i:i+window_size]]\n",
    "        X.append(row)\n",
    "        label = df_as_np[i+window_size]\n",
    "        y.append(label)\n",
    "\n",
    "    #Divide los datos en entrenamiento y pruebas\n",
    "    X_train, y_train = X[:700000], y[:700000]\n",
    "    X_val, y_val = X[700000:730000], y[700000:730000]\n",
    "\n",
    "    #Define el tipo de red y los layers\n",
    "    model = Sequential()\n",
    "    model.add(InputLayer((window_size,1)))\n",
    "    model.add(LSTM(64))\n",
    "    model.add(Dense(8, 'relu'))\n",
    "    model.add(Dense(1, 'linear'))\n",
    "    #define parametros para la compilacion del modelo\n",
    "    cp = ModelCheckpoint('model/',save_best_only=True)\n",
    "    model.compile(loss = MeanSquaredError(), optimizer=Adam(learning_rate=0.0001), metrics=[RootMeanSquaredError()])\n",
    "    model.fit(X_train, y_train, validation_data= (X_val, y_val), epochs = 5, callbacks = [cp])\n",
    "    #Carga el modelo y lo usa con datos reales\n",
    "    model = load_model('model/') \n",
    "\n",
    "    with open('red_neuronal', 'wb') as f:\n",
    "        pickle.dump(model, f)"
   ]
  },
  {
   "attachments": {},
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Predicciones usando el modelo"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [],
   "source": [
    "def Predicciones(window_size):\n",
    "    #Esta toma solo los registros consecutivos tomados cada 5 \n",
    "    global MasterDF\n",
    "    MasterDF['TipoDato'] = 'Real'\n",
    "    for i in MasterDF['Paciente'].unique().tolist():\n",
    "        df = MasterDF[MasterDF['Paciente']==i]\n",
    "        df2 = MasterDF[MasterDF['Paciente']==i]\n",
    "        df = df.sort_values(['Paciente','Datetime'], ascending = [True,True])\n",
    "            #Vamos a crear la diferencia en minutos entre la fila actual y la anterior\n",
    "        df['Delta_T_m'] = df[\"Datetime\"].diff().apply(lambda x: x/np.timedelta64(1, 'm')).fillna(0).astype('int64')\n",
    "        # df = df.sort_values(by=['Delta_T_m'], ascending = True)\n",
    "        # df = df.iloc[:-1 , :]\n",
    "        # df = df.sort_values(by=['Delta_T_m'], ascending = False)\n",
    "        # df = df.iloc[:-1 , :]\n",
    "        df = df[df['Delta_T_m']==5]\n",
    "        df = df.reset_index(drop=True)\n",
    "        df = df.reset_index()\n",
    "        df=df['Sensor_Glucose']\n",
    "\n",
    "        #Esta parte crea lineas de 10 puntos de X, valores reales y Y valores a predecir por la red neuronal, necesita como parametro el window size\n",
    "        df_as_np = df.to_numpy()\n",
    "        X = []\n",
    "        y = []\n",
    "\n",
    "        for i in range(len(df_as_np)-window_size):\n",
    "            row = [[a] for a in df_as_np[i:i+window_size]]\n",
    "            X.append(row)\n",
    "            label = df_as_np[i+window_size]\n",
    "            y.append(label)\n",
    "\n",
    "        #Divide los datos en entrenamiento y pruebas\n",
    "        X_pred, y_pred = X[:10], y[:10]\n",
    "        with open(r'C:\\Users\\Anderson Mosquera\\OneDrive - universidadean.edu.co\\EAN\\ONTARE\\05-Articulo\\Code\\red_neuronal','rb') as f:\n",
    "            modelo = pickle.load(f) \n",
    "        df2 = df2.sort_values(by='Datetime', ascending = True)\n",
    "        siguiente_step = df2['Datetime'].iloc[-1] + timedelta(minutes = 5) #Esta variable va a almacenar la ultima hora + 5 minutos\n",
    "        ultimo_paciente = df2['Paciente'].iloc[-1] #esta variable va a almacenar el ultimo paciente\n",
    "        Predicciones = modelo.predict(X_pred)\n",
    "        a = []\n",
    "        a.append(Predicciones[-1][0])\n",
    "        results = pd.DataFrame(data = { 'Sensor_Glucose':a,  'Datetime': siguiente_step , 'Paciente': ultimo_paciente,  'TipoDato': 'Prediccion'})\n",
    "        results['Date'] = pd.to_datetime(results['Datetime']).dt.date #aqui le vamos a sacar la fecha a la variable siguiente_step\n",
    "        results['Time'] = pd.to_datetime(results['Datetime']).dt.time #aqui se va a guardar solo la hora de la variable siguiente_step\n",
    "        results['Hora'] = results.Datetime.apply(lambda x: x.hour)#aqui se va a almacenar solo la hora en formato numero de la hora de la variable siguiente_step\n",
    "        results['Rango'] = np.where(results['Sensor_Glucose']<70, 'Bajo', np.where(results['Sensor_Glucose']<180, 'Normal', 'Alto')) #aqui se va a determinar el rango de la variable Predicciones\n",
    "        #Agregar el registro al MasterDF\n",
    "        \n",
    "        MasterDF = pd.concat([MasterDF, results])\n",
    "    print('Done!')\n",
    "    # return results"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Keras model archive loading:\n",
      "File Name                                             Modified             Size\n",
      "config.json                                    2023-06-05 20:16:12         2916\n",
      "metadata.json                                  2023-06-05 20:16:12           64\n",
      "variables.h5                                   2023-06-05 20:16:12        91024\n",
      "Keras weights file (<HDF5 file \"variables.h5\" (mode r)>) loading:\n",
      "...layers\\dense\n",
      "......vars\n",
      ".........0\n",
      ".........1\n",
      "...layers\\dense_1\n",
      "......vars\n",
      ".........0\n",
      ".........1\n",
      "...layers\\lstm\n",
      "......vars\n",
      "...layers\\lstm\\cell\n",
      "......vars\n",
      ".........0\n",
      ".........1\n",
      ".........2\n",
      "...metrics\\mean\n",
      "......vars\n",
      ".........0\n",
      ".........1\n",
      "...metrics\\root_mean_squared_error\n",
      "......vars\n",
      ".........0\n",
      ".........1\n",
      "...optimizer\n",
      "......vars\n",
      ".........0\n",
      "...vars\n",
      "1/1 [==============================] - 1s 1s/step\n",
      "Keras model archive loading:\n",
      "File Name                                             Modified             Size\n",
      "config.json                                    2023-06-05 20:16:12         2916\n",
      "metadata.json                                  2023-06-05 20:16:12           64\n",
      "variables.h5                                   2023-06-05 20:16:12        91024\n",
      "Keras weights file (<HDF5 file \"variables.h5\" (mode r)>) loading:\n",
      "...layers\\dense\n",
      "......vars\n",
      ".........0\n",
      ".........1\n",
      "...layers\\dense_1\n",
      "......vars\n",
      ".........0\n",
      ".........1\n",
      "...layers\\lstm\n",
      "......vars\n",
      "...layers\\lstm\\cell\n",
      "......vars\n",
      ".........0\n",
      ".........1\n",
      ".........2\n",
      "...metrics\\mean\n",
      "......vars\n",
      ".........0\n",
      ".........1\n",
      "...metrics\\root_mean_squared_error\n",
      "......vars\n",
      ".........0\n",
      ".........1\n",
      "...optimizer\n",
      "......vars\n",
      ".........0\n",
      "...vars\n",
      "1/1 [==============================] - 1s 1s/step\n",
      "Keras model archive loading:\n",
      "File Name                                             Modified             Size\n",
      "config.json                                    2023-06-05 20:16:12         2916\n",
      "metadata.json                                  2023-06-05 20:16:12           64\n",
      "variables.h5                                   2023-06-05 20:16:12        91024\n",
      "Keras weights file (<HDF5 file \"variables.h5\" (mode r)>) loading:\n",
      "...layers\\dense\n",
      "......vars\n",
      ".........0\n",
      ".........1\n",
      "...layers\\dense_1\n",
      "......vars\n",
      ".........0\n",
      ".........1\n",
      "...layers\\lstm\n",
      "......vars\n",
      "...layers\\lstm\\cell\n",
      "......vars\n",
      ".........0\n",
      ".........1\n",
      ".........2\n",
      "...metrics\\mean\n",
      "......vars\n",
      ".........0\n",
      ".........1\n",
      "...metrics\\root_mean_squared_error\n",
      "......vars\n",
      ".........0\n",
      ".........1\n",
      "...optimizer\n",
      "......vars\n",
      ".........0\n",
      "...vars\n",
      "1/1 [==============================] - 1s 868ms/step\n",
      "Keras model archive loading:\n",
      "File Name                                             Modified             Size\n",
      "config.json                                    2023-06-05 20:16:12         2916\n",
      "metadata.json                                  2023-06-05 20:16:12           64\n",
      "variables.h5                                   2023-06-05 20:16:12        91024\n",
      "Keras weights file (<HDF5 file \"variables.h5\" (mode r)>) loading:\n",
      "...layers\\dense\n",
      "......vars\n",
      ".........0\n",
      ".........1\n",
      "...layers\\dense_1\n",
      "......vars\n",
      ".........0\n",
      ".........1\n",
      "...layers\\lstm\n",
      "......vars\n",
      "...layers\\lstm\\cell\n",
      "......vars\n",
      ".........0\n",
      ".........1\n",
      ".........2\n",
      "...metrics\\mean\n",
      "......vars\n",
      ".........0\n",
      ".........1\n",
      "...metrics\\root_mean_squared_error\n",
      "......vars\n",
      ".........0\n",
      ".........1\n",
      "...optimizer\n",
      "......vars\n",
      ".........0\n",
      "...vars\n",
      "1/1 [==============================] - 1s 758ms/step\n",
      "Keras model archive loading:\n",
      "File Name                                             Modified             Size\n",
      "config.json                                    2023-06-05 20:16:12         2916\n",
      "metadata.json                                  2023-06-05 20:16:12           64\n",
      "variables.h5                                   2023-06-05 20:16:12        91024\n",
      "Keras weights file (<HDF5 file \"variables.h5\" (mode r)>) loading:\n",
      "...layers\\dense\n",
      "......vars\n",
      ".........0\n",
      ".........1\n",
      "...layers\\dense_1\n",
      "......vars\n",
      ".........0\n",
      ".........1\n",
      "...layers\\lstm\n",
      "......vars\n",
      "...layers\\lstm\\cell\n",
      "......vars\n",
      ".........0\n",
      ".........1\n",
      ".........2\n",
      "...metrics\\mean\n",
      "......vars\n",
      ".........0\n",
      ".........1\n",
      "...metrics\\root_mean_squared_error\n",
      "......vars\n",
      ".........0\n",
      ".........1\n",
      "...optimizer\n",
      "......vars\n",
      ".........0\n",
      "...vars\n",
      "1/1 [==============================] - 1s 877ms/step\n",
      "Keras model archive loading:\n",
      "File Name                                             Modified             Size\n",
      "config.json                                    2023-06-05 20:16:12         2916\n",
      "metadata.json                                  2023-06-05 20:16:12           64\n",
      "variables.h5                                   2023-06-05 20:16:12        91024\n",
      "Keras weights file (<HDF5 file \"variables.h5\" (mode r)>) loading:\n",
      "...layers\\dense\n",
      "......vars\n",
      ".........0\n",
      ".........1\n",
      "...layers\\dense_1\n",
      "......vars\n",
      ".........0\n",
      ".........1\n",
      "...layers\\lstm\n",
      "......vars\n",
      "...layers\\lstm\\cell\n",
      "......vars\n",
      ".........0\n",
      ".........1\n",
      ".........2\n",
      "...metrics\\mean\n",
      "......vars\n",
      ".........0\n",
      ".........1\n",
      "...metrics\\root_mean_squared_error\n",
      "......vars\n",
      ".........0\n",
      ".........1\n",
      "...optimizer\n",
      "......vars\n",
      ".........0\n",
      "...vars\n",
      "1/1 [==============================] - 1s 792ms/step\n",
      "Keras model archive loading:\n",
      "File Name                                             Modified             Size\n",
      "config.json                                    2023-06-05 20:16:12         2916\n",
      "metadata.json                                  2023-06-05 20:16:12           64\n",
      "variables.h5                                   2023-06-05 20:16:12        91024\n",
      "Keras weights file (<HDF5 file \"variables.h5\" (mode r)>) loading:\n",
      "...layers\\dense\n",
      "......vars\n",
      ".........0\n",
      ".........1\n",
      "...layers\\dense_1\n",
      "......vars\n",
      ".........0\n",
      ".........1\n",
      "...layers\\lstm\n",
      "......vars\n",
      "...layers\\lstm\\cell\n",
      "......vars\n",
      ".........0\n",
      ".........1\n",
      ".........2\n",
      "...metrics\\mean\n",
      "......vars\n",
      ".........0\n",
      ".........1\n",
      "...metrics\\root_mean_squared_error\n",
      "......vars\n",
      ".........0\n",
      ".........1\n",
      "...optimizer\n",
      "......vars\n",
      ".........0\n",
      "...vars\n",
      "1/1 [==============================] - 1s 751ms/step\n",
      "Keras model archive loading:\n",
      "File Name                                             Modified             Size\n",
      "config.json                                    2023-06-05 20:16:12         2916\n",
      "metadata.json                                  2023-06-05 20:16:12           64\n",
      "variables.h5                                   2023-06-05 20:16:12        91024\n",
      "Keras weights file (<HDF5 file \"variables.h5\" (mode r)>) loading:\n",
      "...layers\\dense\n",
      "......vars\n",
      ".........0\n",
      ".........1\n",
      "...layers\\dense_1\n",
      "......vars\n",
      ".........0\n",
      ".........1\n",
      "...layers\\lstm\n",
      "......vars\n",
      "...layers\\lstm\\cell\n",
      "......vars\n",
      ".........0\n",
      ".........1\n",
      ".........2\n",
      "...metrics\\mean\n",
      "......vars\n",
      ".........0\n",
      ".........1\n",
      "...metrics\\root_mean_squared_error\n",
      "......vars\n",
      ".........0\n",
      ".........1\n",
      "...optimizer\n",
      "......vars\n",
      ".........0\n",
      "...vars\n",
      "1/1 [==============================] - 1s 659ms/step\n",
      "Keras model archive loading:\n",
      "File Name                                             Modified             Size\n",
      "config.json                                    2023-06-05 20:16:12         2916\n",
      "metadata.json                                  2023-06-05 20:16:12           64\n",
      "variables.h5                                   2023-06-05 20:16:12        91024\n",
      "Keras weights file (<HDF5 file \"variables.h5\" (mode r)>) loading:\n",
      "...layers\\dense\n",
      "......vars\n",
      ".........0\n",
      ".........1\n",
      "...layers\\dense_1\n",
      "......vars\n",
      ".........0\n",
      ".........1\n",
      "...layers\\lstm\n",
      "......vars\n",
      "...layers\\lstm\\cell\n",
      "......vars\n",
      ".........0\n",
      ".........1\n",
      ".........2\n",
      "...metrics\\mean\n",
      "......vars\n",
      ".........0\n",
      ".........1\n",
      "...metrics\\root_mean_squared_error\n",
      "......vars\n",
      ".........0\n",
      ".........1\n",
      "...optimizer\n",
      "......vars\n",
      ".........0\n",
      "...vars\n",
      "1/1 [==============================] - 1s 739ms/step\n",
      "Keras model archive loading:\n",
      "File Name                                             Modified             Size\n",
      "config.json                                    2023-06-05 20:16:12         2916\n",
      "metadata.json                                  2023-06-05 20:16:12           64\n",
      "variables.h5                                   2023-06-05 20:16:12        91024\n",
      "Keras weights file (<HDF5 file \"variables.h5\" (mode r)>) loading:\n",
      "...layers\\dense\n",
      "......vars\n",
      ".........0\n",
      ".........1\n",
      "...layers\\dense_1\n",
      "......vars\n",
      ".........0\n",
      ".........1\n",
      "...layers\\lstm\n",
      "......vars\n",
      "...layers\\lstm\\cell\n",
      "......vars\n",
      ".........0\n",
      ".........1\n",
      ".........2\n",
      "...metrics\\mean\n",
      "......vars\n",
      ".........0\n",
      ".........1\n",
      "...metrics\\root_mean_squared_error\n",
      "......vars\n",
      ".........0\n",
      ".........1\n",
      "...optimizer\n",
      "......vars\n",
      ".........0\n",
      "...vars\n",
      "1/1 [==============================] - 1s 575ms/step\n",
      "Keras model archive loading:\n",
      "File Name                                             Modified             Size\n",
      "config.json                                    2023-06-05 20:16:12         2916\n",
      "metadata.json                                  2023-06-05 20:16:12           64\n",
      "variables.h5                                   2023-06-05 20:16:12        91024\n",
      "Keras weights file (<HDF5 file \"variables.h5\" (mode r)>) loading:\n",
      "...layers\\dense\n",
      "......vars\n",
      ".........0\n",
      ".........1\n",
      "...layers\\dense_1\n",
      "......vars\n",
      ".........0\n",
      ".........1\n",
      "...layers\\lstm\n",
      "......vars\n",
      "...layers\\lstm\\cell\n",
      "......vars\n",
      ".........0\n",
      ".........1\n",
      ".........2\n",
      "...metrics\\mean\n",
      "......vars\n",
      ".........0\n",
      ".........1\n",
      "...metrics\\root_mean_squared_error\n",
      "......vars\n",
      ".........0\n",
      ".........1\n",
      "...optimizer\n",
      "......vars\n",
      ".........0\n",
      "...vars\n",
      "1/1 [==============================] - 1s 634ms/step\n",
      "Keras model archive loading:\n",
      "File Name                                             Modified             Size\n",
      "config.json                                    2023-06-05 20:16:12         2916\n",
      "metadata.json                                  2023-06-05 20:16:12           64\n",
      "variables.h5                                   2023-06-05 20:16:12        91024\n",
      "Keras weights file (<HDF5 file \"variables.h5\" (mode r)>) loading:\n",
      "...layers\\dense\n",
      "......vars\n",
      ".........0\n",
      ".........1\n",
      "...layers\\dense_1\n",
      "......vars\n",
      ".........0\n",
      ".........1\n",
      "...layers\\lstm\n",
      "......vars\n",
      "...layers\\lstm\\cell\n",
      "......vars\n",
      ".........0\n",
      ".........1\n",
      ".........2\n",
      "...metrics\\mean\n",
      "......vars\n",
      ".........0\n",
      ".........1\n",
      "...metrics\\root_mean_squared_error\n",
      "......vars\n",
      ".........0\n",
      ".........1\n",
      "...optimizer\n",
      "......vars\n",
      ".........0\n",
      "...vars\n",
      "1/1 [==============================] - 1s 818ms/step\n",
      "Keras model archive loading:\n",
      "File Name                                             Modified             Size\n",
      "config.json                                    2023-06-05 20:16:12         2916\n",
      "metadata.json                                  2023-06-05 20:16:12           64\n",
      "variables.h5                                   2023-06-05 20:16:12        91024\n",
      "Keras weights file (<HDF5 file \"variables.h5\" (mode r)>) loading:\n",
      "...layers\\dense\n",
      "......vars\n",
      ".........0\n",
      ".........1\n",
      "...layers\\dense_1\n",
      "......vars\n",
      ".........0\n",
      ".........1\n",
      "...layers\\lstm\n",
      "......vars\n",
      "...layers\\lstm\\cell\n",
      "......vars\n",
      ".........0\n",
      ".........1\n",
      ".........2\n",
      "...metrics\\mean\n",
      "......vars\n",
      ".........0\n",
      ".........1\n",
      "...metrics\\root_mean_squared_error\n",
      "......vars\n",
      ".........0\n",
      ".........1\n",
      "...optimizer\n",
      "......vars\n",
      ".........0\n",
      "...vars\n",
      "1/1 [==============================] - 1s 959ms/step\n",
      "Keras model archive loading:\n",
      "File Name                                             Modified             Size\n",
      "config.json                                    2023-06-05 20:16:12         2916\n",
      "metadata.json                                  2023-06-05 20:16:12           64\n",
      "variables.h5                                   2023-06-05 20:16:12        91024\n",
      "Keras weights file (<HDF5 file \"variables.h5\" (mode r)>) loading:\n",
      "...layers\\dense\n",
      "......vars\n",
      ".........0\n",
      ".........1\n",
      "...layers\\dense_1\n",
      "......vars\n",
      ".........0\n",
      ".........1\n",
      "...layers\\lstm\n",
      "......vars\n",
      "...layers\\lstm\\cell\n",
      "......vars\n",
      ".........0\n",
      ".........1\n",
      ".........2\n",
      "...metrics\\mean\n",
      "......vars\n",
      ".........0\n",
      ".........1\n",
      "...metrics\\root_mean_squared_error\n",
      "......vars\n",
      ".........0\n",
      ".........1\n",
      "...optimizer\n",
      "......vars\n",
      ".........0\n",
      "...vars\n",
      "1/1 [==============================] - 1s 746ms/step\n",
      "Keras model archive loading:\n",
      "File Name                                             Modified             Size\n",
      "config.json                                    2023-06-05 20:16:12         2916\n",
      "metadata.json                                  2023-06-05 20:16:12           64\n",
      "variables.h5                                   2023-06-05 20:16:12        91024\n",
      "Keras weights file (<HDF5 file \"variables.h5\" (mode r)>) loading:\n",
      "...layers\\dense\n",
      "......vars\n",
      ".........0\n",
      ".........1\n",
      "...layers\\dense_1\n",
      "......vars\n",
      ".........0\n",
      ".........1\n",
      "...layers\\lstm\n",
      "......vars\n",
      "...layers\\lstm\\cell\n",
      "......vars\n",
      ".........0\n",
      ".........1\n",
      ".........2\n",
      "...metrics\\mean\n",
      "......vars\n",
      ".........0\n",
      ".........1\n",
      "...metrics\\root_mean_squared_error\n",
      "......vars\n",
      ".........0\n",
      ".........1\n",
      "...optimizer\n",
      "......vars\n",
      ".........0\n",
      "...vars\n",
      "1/1 [==============================] - 1s 796ms/step\n",
      "Keras model archive loading:\n",
      "File Name                                             Modified             Size\n",
      "config.json                                    2023-06-05 20:16:12         2916\n",
      "metadata.json                                  2023-06-05 20:16:12           64\n",
      "variables.h5                                   2023-06-05 20:16:12        91024\n",
      "Keras weights file (<HDF5 file \"variables.h5\" (mode r)>) loading:\n",
      "...layers\\dense\n",
      "......vars\n",
      ".........0\n",
      ".........1\n",
      "...layers\\dense_1\n",
      "......vars\n",
      ".........0\n",
      ".........1\n",
      "...layers\\lstm\n",
      "......vars\n",
      "...layers\\lstm\\cell\n",
      "......vars\n",
      ".........0\n",
      ".........1\n",
      ".........2\n",
      "...metrics\\mean\n",
      "......vars\n",
      ".........0\n",
      ".........1\n",
      "...metrics\\root_mean_squared_error\n",
      "......vars\n",
      ".........0\n",
      ".........1\n",
      "...optimizer\n",
      "......vars\n",
      ".........0\n",
      "...vars\n",
      "1/1 [==============================] - 2s 2s/step\n",
      "Keras model archive loading:\n",
      "File Name                                             Modified             Size\n",
      "config.json                                    2023-06-05 20:16:12         2916\n",
      "metadata.json                                  2023-06-05 20:16:12           64\n",
      "variables.h5                                   2023-06-05 20:16:12        91024\n",
      "Keras weights file (<HDF5 file \"variables.h5\" (mode r)>) loading:\n",
      "...layers\\dense\n",
      "......vars\n",
      ".........0\n",
      ".........1\n",
      "...layers\\dense_1\n",
      "......vars\n",
      ".........0\n",
      ".........1\n",
      "...layers\\lstm\n",
      "......vars\n",
      "...layers\\lstm\\cell\n",
      "......vars\n",
      ".........0\n",
      ".........1\n",
      ".........2\n",
      "...metrics\\mean\n",
      "......vars\n",
      ".........0\n",
      ".........1\n",
      "...metrics\\root_mean_squared_error\n",
      "......vars\n",
      ".........0\n",
      ".........1\n",
      "...optimizer\n",
      "......vars\n",
      ".........0\n",
      "...vars\n",
      "1/1 [==============================] - 1s 621ms/step\n",
      "Keras model archive loading:\n",
      "File Name                                             Modified             Size\n",
      "config.json                                    2023-06-05 20:16:12         2916\n",
      "metadata.json                                  2023-06-05 20:16:12           64\n",
      "variables.h5                                   2023-06-05 20:16:12        91024\n",
      "Keras weights file (<HDF5 file \"variables.h5\" (mode r)>) loading:\n",
      "...layers\\dense\n",
      "......vars\n",
      ".........0\n",
      ".........1\n",
      "...layers\\dense_1\n",
      "......vars\n",
      ".........0\n",
      ".........1\n",
      "...layers\\lstm\n",
      "......vars\n",
      "...layers\\lstm\\cell\n",
      "......vars\n",
      ".........0\n",
      ".........1\n",
      ".........2\n",
      "...metrics\\mean\n",
      "......vars\n",
      ".........0\n",
      ".........1\n",
      "...metrics\\root_mean_squared_error\n",
      "......vars\n",
      ".........0\n",
      ".........1\n",
      "...optimizer\n",
      "......vars\n",
      ".........0\n",
      "...vars\n",
      "1/1 [==============================] - 1s 910ms/step\n",
      "Keras model archive loading:\n",
      "File Name                                             Modified             Size\n",
      "config.json                                    2023-06-05 20:16:12         2916\n",
      "metadata.json                                  2023-06-05 20:16:12           64\n",
      "variables.h5                                   2023-06-05 20:16:12        91024\n",
      "Keras weights file (<HDF5 file \"variables.h5\" (mode r)>) loading:\n",
      "...layers\\dense\n",
      "......vars\n",
      ".........0\n",
      ".........1\n",
      "...layers\\dense_1\n",
      "......vars\n",
      ".........0\n",
      ".........1\n",
      "...layers\\lstm\n",
      "......vars\n",
      "...layers\\lstm\\cell\n",
      "......vars\n",
      ".........0\n",
      ".........1\n",
      ".........2\n",
      "...metrics\\mean\n",
      "......vars\n",
      ".........0\n",
      ".........1\n",
      "...metrics\\root_mean_squared_error\n",
      "......vars\n",
      ".........0\n",
      ".........1\n",
      "...optimizer\n",
      "......vars\n",
      ".........0\n",
      "...vars\n",
      "1/1 [==============================] - 1s 1s/step\n",
      "Keras model archive loading:\n",
      "File Name                                             Modified             Size\n",
      "config.json                                    2023-06-05 20:16:12         2916\n",
      "metadata.json                                  2023-06-05 20:16:12           64\n",
      "variables.h5                                   2023-06-05 20:16:12        91024\n",
      "Keras weights file (<HDF5 file \"variables.h5\" (mode r)>) loading:\n",
      "...layers\\dense\n",
      "......vars\n",
      ".........0\n",
      ".........1\n",
      "...layers\\dense_1\n",
      "......vars\n",
      ".........0\n",
      ".........1\n",
      "...layers\\lstm\n",
      "......vars\n",
      "...layers\\lstm\\cell\n",
      "......vars\n",
      ".........0\n",
      ".........1\n",
      ".........2\n",
      "...metrics\\mean\n",
      "......vars\n",
      ".........0\n",
      ".........1\n",
      "...metrics\\root_mean_squared_error\n",
      "......vars\n",
      ".........0\n",
      ".........1\n",
      "...optimizer\n",
      "......vars\n",
      ".........0\n",
      "...vars\n",
      "1/1 [==============================] - 1s 682ms/step\n",
      "Keras model archive loading:\n",
      "File Name                                             Modified             Size\n",
      "config.json                                    2023-06-05 20:16:12         2916\n",
      "metadata.json                                  2023-06-05 20:16:12           64\n",
      "variables.h5                                   2023-06-05 20:16:12        91024\n",
      "Keras weights file (<HDF5 file \"variables.h5\" (mode r)>) loading:\n",
      "...layers\\dense\n",
      "......vars\n",
      ".........0\n",
      ".........1\n",
      "...layers\\dense_1\n",
      "......vars\n",
      ".........0\n",
      ".........1\n",
      "...layers\\lstm\n",
      "......vars\n",
      "...layers\\lstm\\cell\n",
      "......vars\n",
      ".........0\n",
      ".........1\n",
      ".........2\n",
      "...metrics\\mean\n",
      "......vars\n",
      ".........0\n",
      ".........1\n",
      "...metrics\\root_mean_squared_error\n",
      "......vars\n",
      ".........0\n",
      ".........1\n",
      "...optimizer\n",
      "......vars\n",
      ".........0\n",
      "...vars\n",
      "1/1 [==============================] - 1s 809ms/step\n",
      "Keras model archive loading:\n",
      "File Name                                             Modified             Size\n",
      "config.json                                    2023-06-05 20:16:12         2916\n",
      "metadata.json                                  2023-06-05 20:16:12           64\n",
      "variables.h5                                   2023-06-05 20:16:12        91024\n",
      "Keras weights file (<HDF5 file \"variables.h5\" (mode r)>) loading:\n",
      "...layers\\dense\n",
      "......vars\n",
      ".........0\n",
      ".........1\n",
      "...layers\\dense_1\n",
      "......vars\n",
      ".........0\n",
      ".........1\n",
      "...layers\\lstm\n",
      "......vars\n",
      "...layers\\lstm\\cell\n",
      "......vars\n",
      ".........0\n",
      ".........1\n",
      ".........2\n",
      "...metrics\\mean\n",
      "......vars\n",
      ".........0\n",
      ".........1\n",
      "...metrics\\root_mean_squared_error\n",
      "......vars\n",
      ".........0\n",
      ".........1\n",
      "...optimizer\n",
      "......vars\n",
      ".........0\n",
      "...vars\n",
      "1/1 [==============================] - 1s 973ms/step\n",
      "Keras model archive loading:\n",
      "File Name                                             Modified             Size\n",
      "config.json                                    2023-06-05 20:16:12         2916\n",
      "metadata.json                                  2023-06-05 20:16:12           64\n",
      "variables.h5                                   2023-06-05 20:16:12        91024\n",
      "Keras weights file (<HDF5 file \"variables.h5\" (mode r)>) loading:\n",
      "...layers\\dense\n",
      "......vars\n",
      ".........0\n",
      ".........1\n",
      "...layers\\dense_1\n",
      "......vars\n",
      ".........0\n",
      ".........1\n",
      "...layers\\lstm\n",
      "......vars\n",
      "...layers\\lstm\\cell\n",
      "......vars\n",
      ".........0\n",
      ".........1\n",
      ".........2\n",
      "...metrics\\mean\n",
      "......vars\n",
      ".........0\n",
      ".........1\n",
      "...metrics\\root_mean_squared_error\n",
      "......vars\n",
      ".........0\n",
      ".........1\n",
      "...optimizer\n",
      "......vars\n",
      ".........0\n",
      "...vars\n",
      "1/1 [==============================] - 1s 1s/step\n",
      "Keras model archive loading:\n",
      "File Name                                             Modified             Size\n",
      "config.json                                    2023-06-05 20:16:12         2916\n",
      "metadata.json                                  2023-06-05 20:16:12           64\n",
      "variables.h5                                   2023-06-05 20:16:12        91024\n",
      "Keras weights file (<HDF5 file \"variables.h5\" (mode r)>) loading:\n",
      "...layers\\dense\n",
      "......vars\n",
      ".........0\n",
      ".........1\n",
      "...layers\\dense_1\n",
      "......vars\n",
      ".........0\n",
      ".........1\n",
      "...layers\\lstm\n",
      "......vars\n",
      "...layers\\lstm\\cell\n",
      "......vars\n",
      ".........0\n",
      ".........1\n",
      ".........2\n",
      "...metrics\\mean\n",
      "......vars\n",
      ".........0\n",
      ".........1\n",
      "...metrics\\root_mean_squared_error\n",
      "......vars\n",
      ".........0\n",
      ".........1\n",
      "...optimizer\n",
      "......vars\n",
      ".........0\n",
      "...vars\n",
      "1/1 [==============================] - 1s 976ms/step\n",
      "Keras model archive loading:\n",
      "File Name                                             Modified             Size\n",
      "config.json                                    2023-06-05 20:16:12         2916\n",
      "metadata.json                                  2023-06-05 20:16:12           64\n",
      "variables.h5                                   2023-06-05 20:16:12        91024\n",
      "Keras weights file (<HDF5 file \"variables.h5\" (mode r)>) loading:\n",
      "...layers\\dense\n",
      "......vars\n",
      ".........0\n",
      ".........1\n",
      "...layers\\dense_1\n",
      "......vars\n",
      ".........0\n",
      ".........1\n",
      "...layers\\lstm\n",
      "......vars\n",
      "...layers\\lstm\\cell\n",
      "......vars\n",
      ".........0\n",
      ".........1\n",
      ".........2\n",
      "...metrics\\mean\n",
      "......vars\n",
      ".........0\n",
      ".........1\n",
      "...metrics\\root_mean_squared_error\n",
      "......vars\n",
      ".........0\n",
      ".........1\n",
      "...optimizer\n",
      "......vars\n",
      ".........0\n",
      "...vars\n",
      "1/1 [==============================] - 1s 830ms/step\n",
      "Keras model archive loading:\n",
      "File Name                                             Modified             Size\n",
      "config.json                                    2023-06-05 20:16:12         2916\n",
      "metadata.json                                  2023-06-05 20:16:12           64\n",
      "variables.h5                                   2023-06-05 20:16:12        91024\n",
      "Keras weights file (<HDF5 file \"variables.h5\" (mode r)>) loading:\n",
      "...layers\\dense\n",
      "......vars\n",
      ".........0\n",
      ".........1\n",
      "...layers\\dense_1\n",
      "......vars\n",
      ".........0\n",
      ".........1\n",
      "...layers\\lstm\n",
      "......vars\n",
      "...layers\\lstm\\cell\n",
      "......vars\n",
      ".........0\n",
      ".........1\n",
      ".........2\n",
      "...metrics\\mean\n",
      "......vars\n",
      ".........0\n",
      ".........1\n",
      "...metrics\\root_mean_squared_error\n",
      "......vars\n",
      ".........0\n",
      ".........1\n",
      "...optimizer\n",
      "......vars\n",
      ".........0\n",
      "...vars\n",
      "1/1 [==============================] - 1s 842ms/step\n",
      "Keras model archive loading:\n",
      "File Name                                             Modified             Size\n",
      "config.json                                    2023-06-05 20:16:12         2916\n",
      "metadata.json                                  2023-06-05 20:16:12           64\n",
      "variables.h5                                   2023-06-05 20:16:12        91024\n",
      "Keras weights file (<HDF5 file \"variables.h5\" (mode r)>) loading:\n",
      "...layers\\dense\n",
      "......vars\n",
      ".........0\n",
      ".........1\n",
      "...layers\\dense_1\n",
      "......vars\n",
      ".........0\n",
      ".........1\n",
      "...layers\\lstm\n",
      "......vars\n",
      "...layers\\lstm\\cell\n",
      "......vars\n",
      ".........0\n",
      ".........1\n",
      ".........2\n",
      "...metrics\\mean\n",
      "......vars\n",
      ".........0\n",
      ".........1\n",
      "...metrics\\root_mean_squared_error\n",
      "......vars\n",
      ".........0\n",
      ".........1\n",
      "...optimizer\n",
      "......vars\n",
      ".........0\n",
      "...vars\n",
      "1/1 [==============================] - 1s 689ms/step\n",
      "Keras model archive loading:\n",
      "File Name                                             Modified             Size\n",
      "config.json                                    2023-06-05 20:16:12         2916\n",
      "metadata.json                                  2023-06-05 20:16:12           64\n",
      "variables.h5                                   2023-06-05 20:16:12        91024\n",
      "Keras weights file (<HDF5 file \"variables.h5\" (mode r)>) loading:\n",
      "...layers\\dense\n",
      "......vars\n",
      ".........0\n",
      ".........1\n",
      "...layers\\dense_1\n",
      "......vars\n",
      ".........0\n",
      ".........1\n",
      "...layers\\lstm\n",
      "......vars\n",
      "...layers\\lstm\\cell\n",
      "......vars\n",
      ".........0\n",
      ".........1\n",
      ".........2\n",
      "...metrics\\mean\n",
      "......vars\n",
      ".........0\n",
      ".........1\n",
      "...metrics\\root_mean_squared_error\n",
      "......vars\n",
      ".........0\n",
      ".........1\n",
      "...optimizer\n",
      "......vars\n",
      ".........0\n",
      "...vars\n",
      "1/1 [==============================] - 1s 700ms/step\n",
      "Keras model archive loading:\n",
      "File Name                                             Modified             Size\n",
      "config.json                                    2023-06-05 20:16:12         2916\n",
      "metadata.json                                  2023-06-05 20:16:12           64\n",
      "variables.h5                                   2023-06-05 20:16:12        91024\n",
      "Keras weights file (<HDF5 file \"variables.h5\" (mode r)>) loading:\n",
      "...layers\\dense\n",
      "......vars\n",
      ".........0\n",
      ".........1\n",
      "...layers\\dense_1\n",
      "......vars\n",
      ".........0\n",
      ".........1\n",
      "...layers\\lstm\n",
      "......vars\n",
      "...layers\\lstm\\cell\n",
      "......vars\n",
      ".........0\n",
      ".........1\n",
      ".........2\n",
      "...metrics\\mean\n",
      "......vars\n",
      ".........0\n",
      ".........1\n",
      "...metrics\\root_mean_squared_error\n",
      "......vars\n",
      ".........0\n",
      ".........1\n",
      "...optimizer\n",
      "......vars\n",
      ".........0\n",
      "...vars\n",
      "1/1 [==============================] - 1s 671ms/step\n",
      "Keras model archive loading:\n",
      "File Name                                             Modified             Size\n",
      "config.json                                    2023-06-05 20:16:12         2916\n",
      "metadata.json                                  2023-06-05 20:16:12           64\n",
      "variables.h5                                   2023-06-05 20:16:12        91024\n",
      "Keras weights file (<HDF5 file \"variables.h5\" (mode r)>) loading:\n",
      "...layers\\dense\n",
      "......vars\n",
      ".........0\n",
      ".........1\n",
      "...layers\\dense_1\n",
      "......vars\n",
      ".........0\n",
      ".........1\n",
      "...layers\\lstm\n",
      "......vars\n",
      "...layers\\lstm\\cell\n",
      "......vars\n",
      ".........0\n",
      ".........1\n",
      ".........2\n",
      "...metrics\\mean\n",
      "......vars\n",
      ".........0\n",
      ".........1\n",
      "...metrics\\root_mean_squared_error\n",
      "......vars\n",
      ".........0\n",
      ".........1\n",
      "...optimizer\n",
      "......vars\n",
      ".........0\n",
      "...vars\n",
      "1/1 [==============================] - 1s 699ms/step\n",
      "Done!\n"
     ]
    }
   ],
   "source": [
    "Predicciones(10)"
   ]
  },
  {
   "attachments": {},
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Carga de los datos reales y predichos"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {},
   "outputs": [],
   "source": [
    "writer = pd.ExcelWriter(r'C:\\Users\\Anderson Mosquera\\OneDrive - universidadean.edu.co\\EAN\\2023-1\\Proyecto Integrador\\Data\\Data.xlsx')\n",
    "MasterDF.to_excel(excel_writer=writer, sheet_name='Data')\n",
    "writer.close()"
   ]
  },
  {
   "attachments": {},
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Grafica de Power BI"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "# The following code to create a dataframe and remove duplicated rows is always executed and acts as a preamble for your script: \n",
    "\n",
    "# dataset = pandas.DataFrame(Year, Month, Day, Time, Glucosa, Paciente, Rango, Month_num)\n",
    "# dataset = dataset.drop_duplicates()\n",
    "\n",
    "# Paste or type your script code here:\n",
    "\n",
    "#Importacion de librerias\n",
    "import datetime\n",
    "import pandas as pd\n",
    "import matplotlib.pyplot as plt \n",
    "import seaborn as sns\n",
    "import numpy as np\n",
    "#Tratamiento de datos\n",
    "df = dataset\n",
    "dataset['H'] = dataset['Time'].astype('int')\n",
    "dataset['m'] = (dataset['Time'] % 1)*60\n",
    "dataset['m'] = dataset['m'].astype('int')\n",
    "\n",
    "df[['Year','Month_num','Day','H','m']] = \\\n",
    "    df[['Year','Month_num','Day','H','m']].astype('str')\n",
    "    \n",
    "df['Datetime']=pd.to_datetime(\\\n",
    "    df[['Year','Month_num','Day','H','m']].agg(\\\n",
    "        '-'.join, axis=1), format='%Y-%m-%d-%H-%M')\n",
    "\n",
    "#Seleccion de datos a graficar\n",
    "df = df.sort_values(by = 'Datetime',ascending = False).head(50)\n",
    "\n",
    "#Creacion de la grafica\n",
    "colores = {\"Prediccion\":'orange', \"Real\":\"green\"}\n",
    "\n",
    "plot = sns.scatterplot(\\\n",
    "    data=df, x=\"Datetime\", y=\"Glucosa\", hue=\"TipoDato\",\\\n",
    "        palette=colores)\n",
    "\n",
    "plot.set(title='Nivel de Glucosa con Predicciones')\n",
    "plot.set(xlabel='Dia Hora de la medicion')\n",
    "plot.set(ylabel='Glucosa (mg/dL)')\n",
    "plt.legend(loc='upper left', title='Tipo de Dato')\n",
    "plt.show()"
   ]
  }
 ],
 "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.10.6"
  },
  "orig_nbformat": 4,
  "vscode": {
   "interpreter": {
    "hash": "0b1a9a4b3a8f26ce7ad635b78f22beb19995a70f53f2dded933633e770ce94e4"
   }
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
