Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

CSE572 Project 1

Student: Mark Khusid

Import Libraries

import pandas as pd
import matplotlib.pyplot as plt

Read in Data

Read in CGM Sensor Data

CGMData_raw_df = pd.read_csv('CGMData.csv', low_memory=False)
CGMData_raw_df
Loading...

Read in Insulin Pump Data

InsulinData_raw_df = pd.read_csv('InsulinData.csv', low_memory=False)
InsulinData_raw_df
Loading...

Dataframe Preprocesing

Reverse Rows in CGM Sensor Dataframe

CGMData_reversed_df = CGMData_raw_df.iloc[::-1].reset_index(drop=True)
CGMData_reversed_df
Loading...

Reverse Rows in Insulin Pump Dataframe

InsulinData_reversed_df = InsulinData_raw_df.iloc[::-1].reset_index(drop=True)
InsulinData_reversed_df
Loading...

Create New Dataframes that Contains Only the Columns of Interest

CGMData_reversed_df.columns
Index(['Index', 'Date', 'Time', 'New Device Time', 'BG Reading (mg/dL)', 'Linked BG Meter ID', 'Basal Rate (U/h)', 'Temp Basal Amount', 'Temp Basal Type', 'Temp Basal Duration (h:mm:ss)', 'Bolus Type', 'Bolus Volume Selected (U)', 'Bolus Volume Delivered (U)', 'Bolus Duration (h:mm:ss)', 'Prime Type', 'Prime Volume Delivered (U)', 'Alarm', 'Suspend', 'Rewind', 'BWZ Estimate (U)', 'BWZ Target High BG (mg/dL)', 'BWZ Target Low BG (mg/dL)', 'BWZ Carb Ratio (g/U)', 'BWZ Insulin Sensitivity (mg/dL/U)', 'BWZ Carb Input (grams)', 'BWZ BG Input (mg/dL)', 'BWZ Correction Estimate (U)', 'BWZ Food Estimate (U)', 'BWZ Active Insulin (U)', 'Sensor Calibration BG (mg/dL)', 'Sensor Glucose (mg/dL)', 'ISIG Value', 'Event Marker', 'Bolus Number', 'Bolus Cancellation Reason', 'BWZ Unabsorbed Insulin Total (U)', 'Final Bolus Estimate', 'Scroll Step Size', 'Insulin Action Curve Time', 'Sensor Calibration Rejected Reason', 'Preset Bolus', 'Bolus Source', 'Network Device Associated Reason', 'Network Device Disassociated Reason', 'Network Device Disconnected Reason', 'Sensor Exception', 'Preset Temp Basal Name'], dtype='object')
CGMData_reversed_dropped_columns_df = CGMData_reversed_df[['Date', 'Time', 'Sensor Glucose (mg/dL)', 'ISIG Value']]
CGMData_reversed_dropped_columns_df
Loading...
InsulinData_reversed_df.columns
Index(['Index', 'Date', 'Time', 'New Device Time', 'BG Reading (mg/dL)', 'Linked BG Meter ID', 'Basal Rate (U/h)', 'Temp Basal Amount', 'Temp Basal Type', 'Temp Basal Duration (h:mm:ss)', 'Bolus Type', 'Bolus Volume Selected (U)', 'Bolus Volume Delivered (U)', 'Bolus Duration (h:mm:ss)', 'Prime Type', 'Prime Volume Delivered (U)', 'Alarm', 'Suspend', 'Rewind', 'BWZ Estimate (U)', 'BWZ Target High BG (mg/dL)', 'BWZ Target Low BG (mg/dL)', 'BWZ Carb Ratio (g/U)', 'BWZ Insulin Sensitivity (mg/dL/U)', 'BWZ Carb Input (grams)', 'BWZ BG Input (mg/dL)', 'BWZ Correction Estimate (U)', 'BWZ Food Estimate (U)', 'BWZ Active Insulin (U)', 'Sensor Calibration BG (mg/dL)', 'Sensor Glucose (mg/dL)', 'ISIG Value', 'Event Marker', 'Bolus Number', 'Bolus Cancellation Reason', 'BWZ Unabsorbed Insulin Total (U)', 'Final Bolus Estimate', 'Scroll Step Size', 'Insulin Action Curve Time', 'Sensor Calibration Rejected Reason', 'Preset Bolus', 'Bolus Source', 'Network Device Associated Reason', 'Network Device Disassociated Reason', 'Network Device Disconnected Reason', 'Sensor Exception', 'Preset Temp Basal Name'], dtype='object')
InsulinData_reversed_columns_dropped_df = InsulinData_reversed_df[['Date', 'Time', 'Alarm']]
InsulinData_reversed_columns_dropped_df
Loading...

Assign New Names to Dataframes to Faciliate Referencing

CGMData_df = CGMData_reversed_dropped_columns_df.copy(deep=True)
CGMData_df
Loading...
InsulinData_df = InsulinData_reversed_columns_dropped_df.copy(deep=True)
InsulinData_df
Loading...

Exploratory Data Analysis

EDA on CGM Data

CGMData_df.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 55343 entries, 0 to 55342
Data columns (total 4 columns):
 #   Column                  Non-Null Count  Dtype  
---  ------                  --------------  -----  
 0   Date                    55343 non-null  object 
 1   Time                    55343 non-null  object 
 2   Sensor Glucose (mg/dL)  51175 non-null  float64
 3   ISIG Value              51175 non-null  float64
dtypes: float64(2), object(2)
memory usage: 1.7+ MB
CGMData_df.describe()
Loading...
CGMData_df.index
RangeIndex(start=0, stop=55343, step=1)

Visualize CGM Data

ax = CGMData_df.plot(
    y = 'Sensor Glucose (mg/dL)',
    use_index = True,
    figsize = (12,4)
)

ax.set_title('CGM Sensor Glucose vs Row Number')
ax.set_xlabel('Row Number [count]')
ax.set_ylabel('Sensor Glucose [mg/dL]')
plt.show(block=False)
<Figure size 1200x400 with 1 Axes>
ax = CGMData_df.plot(
    y = 'ISIG Value',
    use_index = True,
    figsize = (12,4)
)

ax.set_xlabel('Index Number [count]')
ax.set_ylabel('ISIG Value [raw]')
plt.show(block=False)
<Figure size 1200x400 with 1 Axes>

EDA on Insulin Data

InsulinData_df.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 41435 entries, 0 to 41434
Data columns (total 3 columns):
 #   Column  Non-Null Count  Dtype 
---  ------  --------------  ----- 
 0   Date    41435 non-null  object
 1   Time    41435 non-null  object
 2   Alarm   3535 non-null   object
dtypes: object(3)
memory usage: 971.3+ KB
InsulinData_df.describe()
Loading...

Process the Data and Time Columns into Day Numbers

Add Datetime Column and Day Number to CGM Dataframe

CGMData_df.head(5)
Loading...
CGMData_df['datetime'] = \
    pd.to_datetime(
        CGMData_df['Date'] + ' ' + CGMData_df['Time'], 
        format='%m/%d/%Y %H:%M:%S')
CGMData_df
Loading...

Add Datetime Column and Day Number to Insulin Pump Dataframe

InsulinData_df.head(5)
Loading...
InsulinData_df['datetime'] = \
    pd.to_datetime(
        InsulinData_df['Date'] + ' ' + InsulinData_df['Time'], 
        format='%m/%d/%Y %H:%M:%S')
InsulinData_df
Loading...

Determine Start of Auto Mode in Insulin Pump Data

search_string = 'AUTO MODE ACTIVE PLGM OFF'

#first_occurence_index = InsulinData_df['Alarm'].str.contains(search_string).idxmax()

mask = InsulinData_df['Alarm'].str.contains(search_string, na=False)

if mask.any():
    first_occurence_index = InsulinData_df[mask].index[0]

first_occurence_index
np.int64(1303)
InsulinData_df[first_occurence_index:first_occurence_index+1]
Loading...
automode_Insulin_timestamp = InsulinData_df.iloc[first_occurence_index]['datetime']
automode_Insulin_timestamp
Timestamp('2017-08-09 08:07:13')

Find Timestamp in CGM Data that is Nearest to Auto Mode in Insulin Pump Data

CGMData_df[CGMData_df['datetime'] > automode_Insulin_timestamp]
Loading...
# Used .item() at end to convert to python int because result was a numpy int64
automode_CGM_time_stamp_index = CGMData_df[CGMData_df['datetime'] > automode_Insulin_timestamp].index[0].item()
automode_CGM_time_stamp_index
4256
CGMData_df[automode_CGM_time_stamp_index:automode_CGM_time_stamp_index+1]
Loading...

Add Day Number Column to CGM Dataframe

#CGMData_df['datetime'].dt.floor('D')
CGMData_df['Day Number'] = \
    (CGMData_df['datetime'].dt.floor('D') - CGMData_df['datetime'].dt.floor('D').iloc[0]).dt.days + 1
# See if the day number column is correct
pd.set_option('display.max_rows', 200)
#CGMData_df[:200]
#CGMData_df.info()
CGMData_df
Loading...

Assign Timestamps to Either Daytime or Overnight

# Define helper function that looks at the hour in a row datetime object 
# and returns whether it is a daytime row or overnight row
def categorize_time(row):
    hour = row.hour
    if 6 <= hour < 24:
        return 'daytime'
    else:
        return 'overnight'
# Apply the function to each row and add to the time_interval column
CGMData_df['Time Interval'] = \
    CGMData_df['datetime'].apply(categorize_time)
#CGMData_df[200:300]

Assign Manual or Auto Mode to Each Row in the CGM Dataframe

CGMData_df['Sensor Mode'] = \
    ['Manual Mode' 
         if i < automode_CGM_time_stamp_index 
         else 'Auto Mode'
         for i in CGMData_df.index]
CGMData_df
Loading...

Define Number of Datapoints per Day

five_minute_data_points_per_data = (24 * 60 ) / 5 # (24 hrs * 60 min / hr) / 5 mins 
five_minute_data_points_per_data
288.0

Interpolate the Missing Sensor Data in the CGM Dataframe

CGMData_df['Sensor Glucose (mg/dL) [Interpolated]'] = \
    CGMData_df['Sensor Glucose (mg/dL)'].interpolate(method='linear')
CGMData_df
Loading...

Classify Glucose Levels by Metrics Table

# Define helper function for non secondary
def classify_sensor_glucose_level_non_sec(value):
    if value > 250:
        return 'hyperglycemia critical'
    elif value > 180:
        return 'hyperglycemia'
    elif 70 <= value <= 180:
        return 'normal'
    elif 54 < value < 70:
        return 'hypoglycemia level 1'
    elif value <= 54:
        return 'hypoglycemia level 2'
    else:
        return 'unknown'
# Define helper function for secondary
def classify_sensor_glucose_level_sec(value):
    if 70 <= value <= 150:
        return 'secondary'
    else:
        return 'none'
CGMData_df['Sensor Glucose Classification'] = \
    CGMData_df['Sensor Glucose (mg/dL) [Interpolated]'].apply(classify_sensor_glucose_level_non_sec)
CGMData_df['Sensor Glucose Classification (Secondary)'] = \
    CGMData_df['Sensor Glucose (mg/dL) [Interpolated]'].apply(classify_sensor_glucose_level_sec)
CGMData_df
Loading...

Rearrange Order of Columns in CGM Dataframe

CGMData_df = CGMData_df[[
    'Date', 
    'Time', 
    'datetime', 
    'Day Number', 
    'Time Interval', 
    'Sensor Mode', 
    'Sensor Glucose (mg/dL)', 
    'Sensor Glucose (mg/dL) [Interpolated]',
    'Sensor Glucose Classification',
    'Sensor Glucose Classification (Secondary)',
    'ISIG Value']]
CGMData_df
Loading...

Calculations of Means

number_of_days_in_data = CGMData_df['Day Number'].max()
number_of_days_in_data
np.int64(203)

Manual Mode / Overnight / Hyperglycemia

CGMData_manual_overnight_hyper_df = \
    CGMData_df[(
        (CGMData_df['Sensor Mode'] == 'Manual Mode') & \
        (CGMData_df['Time Interval'] == 'overnight') & \
        (CGMData_df['Sensor Glucose Classification'] == 'hyperglycemia')
    )]
CGMData_manual_overnight_hyper_df.describe()
Loading...
CGMData_manual_overnight_hyper_df[0:5]
Loading...
CGMData_manual_overnight_hyper_df.groupby(
    'Day Number', 
    as_index=False)['Sensor Glucose (mg/dL) [Interpolated]'].count()
Loading...
CGMData_manual_overnight_hyper_df.groupby(
    'Day Number', 
    as_index=False)['Sensor Glucose (mg/dL) [Interpolated]'].count()['Sensor Glucose (mg/dL) [Interpolated]']
0 46 1 30 2 17 3 12 4 26 5 3 6 32 Name: Sensor Glucose (mg/dL) [Interpolated], dtype: int64
CGMData_manual_overnight_hyper_percentages_per_day_series = \
CGMData_manual_overnight_hyper_df.groupby(
    'Day Number', 
    as_index=False)['Sensor Glucose (mg/dL) [Interpolated]'].count()['Sensor Glucose (mg/dL) [Interpolated]'] / 288 * 100
CGMData_manual_overnight_hyper_percentages_per_day_series
0 15.972222 1 10.416667 2 5.902778 3 4.166667 4 9.027778 5 1.041667 6 11.111111 Name: Sensor Glucose (mg/dL) [Interpolated], dtype: float64
CGMData_manual_overnight_hyper_percentages_per_day_array = \
    CGMData_manual_overnight_hyper_percentages_per_day_series.to_numpy()
CGMData_manual_overnight_hyper_percentages_per_day_array
array([15.97222222, 10.41666667, 5.90277778, 4.16666667, 9.02777778, 1.04166667, 11.11111111])
CGMData_manual_overnight_hyper_average_percentages_over_all_days = \
    CGMData_manual_overnight_hyper_percentages_per_day_array.sum() / number_of_days_in_data
CGMData_manual_overnight_hyper_average_percentages_over_all_days.item()
0.28393541324575805

Auto Mode / Overnight / Hyperglycemia

CGMData_auto_overnight_hyper_df = \
    CGMData_df[(
        (CGMData_df['Sensor Mode'] == 'Auto Mode') & \
        (CGMData_df['Time Interval'] == 'overnight') & \
        (CGMData_df['Sensor Glucose Classification'] == 'hyperglycemia')
    )]
CGMData_auto_overnight_hyper_df.describe()
Loading...
CGMData_auto_overnight_hyper_df[0:5]
Loading...
CGMData_auto_overnight_hyper_df.groupby(
    'Day Number', 
    as_index=False)['Sensor Glucose (mg/dL) [Interpolated]'].count()
Loading...
CGMData_auto_overnight_hyper_df.groupby(
    'Day Number', 
    as_index=False)['Sensor Glucose (mg/dL) [Interpolated]'].count()['Sensor Glucose (mg/dL) [Interpolated]']
0 39 1 15 2 17 3 4 4 45 5 18 6 37 7 5 8 2 9 13 10 1 11 7 12 5 13 23 14 18 15 16 16 1 17 52 18 62 19 19 20 3 21 58 22 8 23 2 24 6 25 14 26 18 27 1 28 10 29 1 30 4 31 21 32 10 33 11 34 24 35 5 36 9 37 9 38 14 39 39 40 18 41 41 42 8 43 32 44 16 45 5 46 3 47 2 48 4 49 13 50 5 51 17 52 12 53 9 54 24 55 8 56 12 57 14 58 5 59 27 60 20 61 7 62 35 63 24 64 8 65 8 66 6 67 2 68 13 69 22 70 8 71 7 72 31 73 26 74 38 75 24 76 22 77 4 78 2 79 4 80 13 81 7 Name: Sensor Glucose (mg/dL) [Interpolated], dtype: int64
CGMData_auto_overnight_hyper_percentages_per_day_series = \
CGMData_auto_overnight_hyper_df.groupby(
    'Day Number', 
    as_index=False)['Sensor Glucose (mg/dL) [Interpolated]'].count()['Sensor Glucose (mg/dL) [Interpolated]'] / 288 * 100
CGMData_auto_overnight_hyper_percentages_per_day_series
0 13.541667 1 5.208333 2 5.902778 3 1.388889 4 15.625000 5 6.250000 6 12.847222 7 1.736111 8 0.694444 9 4.513889 10 0.347222 11 2.430556 12 1.736111 13 7.986111 14 6.250000 15 5.555556 16 0.347222 17 18.055556 18 21.527778 19 6.597222 20 1.041667 21 20.138889 22 2.777778 23 0.694444 24 2.083333 25 4.861111 26 6.250000 27 0.347222 28 3.472222 29 0.347222 30 1.388889 31 7.291667 32 3.472222 33 3.819444 34 8.333333 35 1.736111 36 3.125000 37 3.125000 38 4.861111 39 13.541667 40 6.250000 41 14.236111 42 2.777778 43 11.111111 44 5.555556 45 1.736111 46 1.041667 47 0.694444 48 1.388889 49 4.513889 50 1.736111 51 5.902778 52 4.166667 53 3.125000 54 8.333333 55 2.777778 56 4.166667 57 4.861111 58 1.736111 59 9.375000 60 6.944444 61 2.430556 62 12.152778 63 8.333333 64 2.777778 65 2.777778 66 2.083333 67 0.694444 68 4.513889 69 7.638889 70 2.777778 71 2.430556 72 10.763889 73 9.027778 74 13.194444 75 8.333333 76 7.638889 77 1.388889 78 0.694444 79 1.388889 80 4.513889 81 2.430556 Name: Sensor Glucose (mg/dL) [Interpolated], dtype: float64
CGMData_auto_overnight_hyper_percentages_per_day_array = \
    CGMData_auto_overnight_hyper_percentages_per_day_series.to_numpy()
CGMData_auto_overnight_hyper_percentages_per_day_array
array([13.54166667, 5.20833333, 5.90277778, 1.38888889, 15.625 , 6.25 , 12.84722222, 1.73611111, 0.69444444, 4.51388889, 0.34722222, 2.43055556, 1.73611111, 7.98611111, 6.25 , 5.55555556, 0.34722222, 18.05555556, 21.52777778, 6.59722222, 1.04166667, 20.13888889, 2.77777778, 0.69444444, 2.08333333, 4.86111111, 6.25 , 0.34722222, 3.47222222, 0.34722222, 1.38888889, 7.29166667, 3.47222222, 3.81944444, 8.33333333, 1.73611111, 3.125 , 3.125 , 4.86111111, 13.54166667, 6.25 , 14.23611111, 2.77777778, 11.11111111, 5.55555556, 1.73611111, 1.04166667, 0.69444444, 1.38888889, 4.51388889, 1.73611111, 5.90277778, 4.16666667, 3.125 , 8.33333333, 2.77777778, 4.16666667, 4.86111111, 1.73611111, 9.375 , 6.94444444, 2.43055556, 12.15277778, 8.33333333, 2.77777778, 2.77777778, 2.08333333, 0.69444444, 4.51388889, 7.63888889, 2.77777778, 2.43055556, 10.76388889, 9.02777778, 13.19444444, 8.33333333, 7.63888889, 1.38888889, 0.69444444, 1.38888889, 4.51388889, 2.43055556])
CGMData_auto_overnight_hyper_average_percentages_over_all_days = \
    CGMData_auto_overnight_hyper_percentages_per_day_array.sum() / number_of_days_in_data
CGMData_auto_overnight_hyper_average_percentages_over_all_days.item()
2.1756978653530377

Manual Mode / Overnight / Hyperglycemia Critical

CGMData_manual_overnight_hyper_crit_df = \
    CGMData_df[(
        (CGMData_df['Sensor Mode'] == 'Manual Mode') & \
        (CGMData_df['Time Interval'] == 'overnight') & \
        (CGMData_df['Sensor Glucose Classification'] == 'hyperglycemia critical')
    )]
CGMData_manual_overnight_hyper_crit_df.describe()
Loading...
CGMData_manual_overnight_hyper_crit_df[0:50]
Loading...
CGMData_manual_overnight_hyper_crit_df.groupby(
    'Day Number', 
    as_index=False)['Sensor Glucose (mg/dL) [Interpolated]'].count()
Loading...
CGMData_manual_overnight_hyper_crit_df.groupby(
    'Day Number', 
    as_index=False)['Sensor Glucose (mg/dL) [Interpolated]'].count()['Sensor Glucose (mg/dL) [Interpolated]']
0 16 1 29 Name: Sensor Glucose (mg/dL) [Interpolated], dtype: int64
CGMData_manual_overnight_hyper_crit_percentages_per_day_series = \
CGMData_manual_overnight_hyper_crit_df.groupby(
    'Day Number', 
    as_index=False)['Sensor Glucose (mg/dL) [Interpolated]'].count()['Sensor Glucose (mg/dL) [Interpolated]'] / 288 * 100
CGMData_manual_overnight_hyper_crit_percentages_per_day_series
0 5.555556 1 10.069444 Name: Sensor Glucose (mg/dL) [Interpolated], dtype: float64
CGMData_manual_overnight_hyper_crit_percentages_per_day_array = \
    CGMData_manual_overnight_hyper_crit_percentages_per_day_series.to_numpy()
CGMData_manual_overnight_hyper_crit_percentages_per_day_array
array([ 5.55555556, 10.06944444])
CGMData_manual_overnight_hyper_crit_average_percentages_over_all_days = \
    CGMData_manual_overnight_hyper_crit_percentages_per_day_array.sum() / number_of_days_in_data
CGMData_manual_overnight_hyper_crit_average_percentages_over_all_days.item()
0.0769704433497537

Auto Mode / Overnight / Hyperglycemia Critical

CGMData_auto_overnight_hyper_crit_df = \
    CGMData_df[(
        (CGMData_df['Sensor Mode'] == 'Auto Mode') & \
        (CGMData_df['Time Interval'] == 'overnight') & \
        (CGMData_df['Sensor Glucose Classification'] == 'hyperglycemia critical')
    )]
CGMData_auto_overnight_hyper_crit_df.describe()
Loading...
CGMData_auto_overnight_hyper_crit_df[0:5]
Loading...
CGMData_auto_overnight_hyper_crit_df.groupby(
    'Day Number', 
    as_index=False)['Sensor Glucose (mg/dL) [Interpolated]'].count()
Loading...
CGMData_auto_overnight_hyper_crit_df.groupby(
    'Day Number', 
    as_index=False)['Sensor Glucose (mg/dL) [Interpolated]'].count()['Sensor Glucose (mg/dL) [Interpolated]']
0 12 1 25 2 1 3 31 4 6 5 7 6 2 7 7 8 14 9 1 10 3 11 6 12 4 13 2 14 11 15 5 16 7 17 28 18 8 19 3 20 11 21 2 22 23 23 2 24 6 25 10 Name: Sensor Glucose (mg/dL) [Interpolated], dtype: int64
CGMData_auto_overnight_hyper_crit_percentages_per_day_series = \
CGMData_auto_overnight_hyper_crit_df.groupby(
    'Day Number', 
    as_index=False)['Sensor Glucose (mg/dL) [Interpolated]'].count()['Sensor Glucose (mg/dL) [Interpolated]'] / 288 * 100
CGMData_auto_overnight_hyper_crit_percentages_per_day_series
0 4.166667 1 8.680556 2 0.347222 3 10.763889 4 2.083333 5 2.430556 6 0.694444 7 2.430556 8 4.861111 9 0.347222 10 1.041667 11 2.083333 12 1.388889 13 0.694444 14 3.819444 15 1.736111 16 2.430556 17 9.722222 18 2.777778 19 1.041667 20 3.819444 21 0.694444 22 7.986111 23 0.694444 24 2.083333 25 3.472222 Name: Sensor Glucose (mg/dL) [Interpolated], dtype: float64
CGMData_auto_overnight_hyper_crit_percentages_per_day_array = \
    CGMData_auto_overnight_hyper_crit_percentages_per_day_series.to_numpy()
CGMData_auto_overnight_hyper_crit_percentages_per_day_array
array([ 4.16666667, 8.68055556, 0.34722222, 10.76388889, 2.08333333, 2.43055556, 0.69444444, 2.43055556, 4.86111111, 0.34722222, 1.04166667, 2.08333333, 1.38888889, 0.69444444, 3.81944444, 1.73611111, 2.43055556, 9.72222222, 2.77777778, 1.04166667, 3.81944444, 0.69444444, 7.98611111, 0.69444444, 2.08333333, 3.47222222])
CGMData_auto_overnight_hyper_crit_average_percentages_over_all_days = \
    CGMData_auto_overnight_hyper_crit_percentages_per_day_array.sum() / number_of_days_in_data
CGMData_auto_overnight_hyper_crit_average_percentages_over_all_days.item()
0.4053776683087028

Manual Mode / Overnight / Normal

CGMData_manual_overnight_normal_df = \
    CGMData_df[(
        (CGMData_df['Sensor Mode'] == 'Manual Mode') & \
        (CGMData_df['Time Interval'] == 'overnight') & \
        (CGMData_df['Sensor Glucose Classification'] == 'normal')
    )]
CGMData_manual_overnight_normal_df.describe()
Loading...
CGMData_manual_overnight_normal_df[0:50]
Loading...
CGMData_manual_overnight_normal_df.groupby(
    'Day Number', 
    as_index=False)['Sensor Glucose (mg/dL) [Interpolated]'].count()
Loading...
CGMData_manual_overnight_normal_df.groupby(
    'Day Number', 
    as_index=False)['Sensor Glucose (mg/dL) [Interpolated]'].count()['Sensor Glucose (mg/dL) [Interpolated]']
0 68 1 26 2 63 3 42 4 72 5 39 6 60 7 72 8 17 9 72 10 69 11 56 12 72 13 72 14 40 Name: Sensor Glucose (mg/dL) [Interpolated], dtype: int64
CGMData_manual_overnight_normal_percentages_per_day_series = \
CGMData_manual_overnight_normal_df.groupby(
    'Day Number', 
    as_index=False)['Sensor Glucose (mg/dL) [Interpolated]'].count()['Sensor Glucose (mg/dL) [Interpolated]'] / 288 * 100
CGMData_manual_overnight_normal_percentages_per_day_series
0 23.611111 1 9.027778 2 21.875000 3 14.583333 4 25.000000 5 13.541667 6 20.833333 7 25.000000 8 5.902778 9 25.000000 10 23.958333 11 19.444444 12 25.000000 13 25.000000 14 13.888889 Name: Sensor Glucose (mg/dL) [Interpolated], dtype: float64
CGMData_manual_overnight_normal_percentages_per_day_array = \
    CGMData_manual_overnight_normal_percentages_per_day_series.to_numpy()
CGMData_manual_overnight_normal_percentages_per_day_array
array([23.61111111, 9.02777778, 21.875 , 14.58333333, 25. , 13.54166667, 20.83333333, 25. , 5.90277778, 25. , 23.95833333, 19.44444444, 25. , 25. , 13.88888889])
CGMData_manual_overnight_normal_average_percentages_over_all_days = \
    CGMData_manual_overnight_normal_percentages_per_day_array.sum() / number_of_days_in_data
CGMData_manual_overnight_normal_average_percentages_over_all_days.item()
1.4367816091954027

Auto Mode / Overnight / Normal

CGMData_auto_overnight_normal_df = \
    CGMData_df[(
        (CGMData_df['Sensor Mode'] == 'Auto Mode') & \
        (CGMData_df['Time Interval'] == 'overnight') & \
        (CGMData_df['Sensor Glucose Classification'] == 'normal')
    )]
CGMData_auto_overnight_normal_df.describe()
Loading...
CGMData_auto_overnight_normal_df[0:5]
Loading...
CGMData_auto_overnight_normal_df.groupby(
    'Day Number', 
    as_index=False)['Sensor Glucose (mg/dL) [Interpolated]'].count()
Loading...
CGMData_auto_overnight_normal_df.groupby(
    'Day Number',
    as_index=False)['Sensor Glucose (mg/dL) [Interpolated]'].count()['Sensor Glucose (mg/dL) [Interpolated]']
0 21 1 60 2 72 3 72 4 73 5 72 6 51 7 71 8 72 9 57 10 72 11 30 12 72 13 68 14 27 15 72 16 72 17 72 18 54 19 34 20 59 21 72 22 70 23 72 24 70 25 28 26 71 27 65 28 72 29 72 30 70 31 72 32 72 33 72 34 67 35 49 36 72 37 72 38 72 39 72 40 72 41 72 42 72 43 72 44 72 45 26 46 72 47 72 48 49 49 72 50 71 51 20 52 8 53 70 54 72 55 72 56 53 57 69 58 72 59 6 60 72 61 71 62 72 63 72 64 72 65 72 66 62 67 60 68 72 69 72 70 69 71 72 72 64 73 58 74 62 75 58 76 72 77 46 78 72 79 44 80 22 81 68 82 71 83 72 84 72 85 72 86 72 87 75 88 71 89 68 90 39 91 59 92 55 93 72 94 72 95 30 96 68 97 72 98 63 99 63 100 72 101 72 102 72 103 72 104 61 105 48 106 33 107 72 108 72 109 72 110 72 111 54 112 72 113 72 114 72 115 72 116 72 117 72 118 72 119 24 120 64 121 64 122 38 123 52 124 72 125 67 126 72 127 63 128 72 129 65 130 60 131 59 132 67 133 72 134 55 135 60 136 44 137 72 138 72 139 48 140 58 141 53 142 72 143 30 144 61 145 67 146 37 147 35 148 72 149 65 150 33 151 45 152 59 153 72 154 72 155 64 156 72 157 45 158 70 159 59 160 72 161 50 162 69 163 64 164 72 165 63 166 41 167 23 168 34 169 48 170 72 171 50 172 61 173 64 174 67 175 59 176 69 177 40 Name: Sensor Glucose (mg/dL) [Interpolated], dtype: int64
CGMData_auto_overnight_normal_percentages_per_day_series = \
CGMData_auto_overnight_normal_df.groupby(
    'Day Number', 
    as_index=False)['Sensor Glucose (mg/dL) [Interpolated]'].count()['Sensor Glucose (mg/dL) [Interpolated]'] / 288 * 100
CGMData_auto_overnight_normal_percentages_per_day_series
0 7.291667 1 20.833333 2 25.000000 3 25.000000 4 25.347222 5 25.000000 6 17.708333 7 24.652778 8 25.000000 9 19.791667 10 25.000000 11 10.416667 12 25.000000 13 23.611111 14 9.375000 15 25.000000 16 25.000000 17 25.000000 18 18.750000 19 11.805556 20 20.486111 21 25.000000 22 24.305556 23 25.000000 24 24.305556 25 9.722222 26 24.652778 27 22.569444 28 25.000000 29 25.000000 30 24.305556 31 25.000000 32 25.000000 33 25.000000 34 23.263889 35 17.013889 36 25.000000 37 25.000000 38 25.000000 39 25.000000 40 25.000000 41 25.000000 42 25.000000 43 25.000000 44 25.000000 45 9.027778 46 25.000000 47 25.000000 48 17.013889 49 25.000000 50 24.652778 51 6.944444 52 2.777778 53 24.305556 54 25.000000 55 25.000000 56 18.402778 57 23.958333 58 25.000000 59 2.083333 60 25.000000 61 24.652778 62 25.000000 63 25.000000 64 25.000000 65 25.000000 66 21.527778 67 20.833333 68 25.000000 69 25.000000 70 23.958333 71 25.000000 72 22.222222 73 20.138889 74 21.527778 75 20.138889 76 25.000000 77 15.972222 78 25.000000 79 15.277778 80 7.638889 81 23.611111 82 24.652778 83 25.000000 84 25.000000 85 25.000000 86 25.000000 87 26.041667 88 24.652778 89 23.611111 90 13.541667 91 20.486111 92 19.097222 93 25.000000 94 25.000000 95 10.416667 96 23.611111 97 25.000000 98 21.875000 99 21.875000 100 25.000000 101 25.000000 102 25.000000 103 25.000000 104 21.180556 105 16.666667 106 11.458333 107 25.000000 108 25.000000 109 25.000000 110 25.000000 111 18.750000 112 25.000000 113 25.000000 114 25.000000 115 25.000000 116 25.000000 117 25.000000 118 25.000000 119 8.333333 120 22.222222 121 22.222222 122 13.194444 123 18.055556 124 25.000000 125 23.263889 126 25.000000 127 21.875000 128 25.000000 129 22.569444 130 20.833333 131 20.486111 132 23.263889 133 25.000000 134 19.097222 135 20.833333 136 15.277778 137 25.000000 138 25.000000 139 16.666667 140 20.138889 141 18.402778 142 25.000000 143 10.416667 144 21.180556 145 23.263889 146 12.847222 147 12.152778 148 25.000000 149 22.569444 150 11.458333 151 15.625000 152 20.486111 153 25.000000 154 25.000000 155 22.222222 156 25.000000 157 15.625000 158 24.305556 159 20.486111 160 25.000000 161 17.361111 162 23.958333 163 22.222222 164 25.000000 165 21.875000 166 14.236111 167 7.986111 168 11.805556 169 16.666667 170 25.000000 171 17.361111 172 21.180556 173 22.222222 174 23.263889 175 20.486111 176 23.958333 177 13.888889 Name: Sensor Glucose (mg/dL) [Interpolated], dtype: float64
CGMData_auto_overnight_normal_percentages_per_day_array = \
    CGMData_auto_overnight_normal_percentages_per_day_series.to_numpy()
CGMData_auto_overnight_normal_percentages_per_day_array
array([ 7.29166667, 20.83333333, 25. , 25. , 25.34722222, 25. , 17.70833333, 24.65277778, 25. , 19.79166667, 25. , 10.41666667, 25. , 23.61111111, 9.375 , 25. , 25. , 25. , 18.75 , 11.80555556, 20.48611111, 25. , 24.30555556, 25. , 24.30555556, 9.72222222, 24.65277778, 22.56944444, 25. , 25. , 24.30555556, 25. , 25. , 25. , 23.26388889, 17.01388889, 25. , 25. , 25. , 25. , 25. , 25. , 25. , 25. , 25. , 9.02777778, 25. , 25. , 17.01388889, 25. , 24.65277778, 6.94444444, 2.77777778, 24.30555556, 25. , 25. , 18.40277778, 23.95833333, 25. , 2.08333333, 25. , 24.65277778, 25. , 25. , 25. , 25. , 21.52777778, 20.83333333, 25. , 25. , 23.95833333, 25. , 22.22222222, 20.13888889, 21.52777778, 20.13888889, 25. , 15.97222222, 25. , 15.27777778, 7.63888889, 23.61111111, 24.65277778, 25. , 25. , 25. , 25. , 26.04166667, 24.65277778, 23.61111111, 13.54166667, 20.48611111, 19.09722222, 25. , 25. , 10.41666667, 23.61111111, 25. , 21.875 , 21.875 , 25. , 25. , 25. , 25. , 21.18055556, 16.66666667, 11.45833333, 25. , 25. , 25. , 25. , 18.75 , 25. , 25. , 25. , 25. , 25. , 25. , 25. , 8.33333333, 22.22222222, 22.22222222, 13.19444444, 18.05555556, 25. , 23.26388889, 25. , 21.875 , 25. , 22.56944444, 20.83333333, 20.48611111, 23.26388889, 25. , 19.09722222, 20.83333333, 15.27777778, 25. , 25. , 16.66666667, 20.13888889, 18.40277778, 25. , 10.41666667, 21.18055556, 23.26388889, 12.84722222, 12.15277778, 25. , 22.56944444, 11.45833333, 15.625 , 20.48611111, 25. , 25. , 22.22222222, 25. , 15.625 , 24.30555556, 20.48611111, 25. , 17.36111111, 23.95833333, 22.22222222, 25. , 21.875 , 14.23611111, 7.98611111, 11.80555556, 16.66666667, 25. , 17.36111111, 21.18055556, 22.22222222, 23.26388889, 20.48611111, 23.95833333, 13.88888889])
CGMData_auto_overnight_normal_average_percentages_over_all_days = \
    CGMData_auto_overnight_normal_percentages_per_day_array.sum() / number_of_days_in_data
CGMData_auto_overnight_normal_average_percentages_over_all_days.item()
18.756841817186643

Manual Mode / Overnight / Secondary

CGMData_manual_overnight_secondary_df = \
    CGMData_df[(
        (CGMData_df['Sensor Mode'] == 'Manual Mode') & \
        (CGMData_df['Time Interval'] == 'overnight') & \
        (CGMData_df['Sensor Glucose Classification (Secondary)'] == 'secondary')
    )]
CGMData_manual_overnight_secondary_df.describe()
Loading...
CGMData_manual_overnight_secondary_df[0:50]
Loading...
CGMData_manual_overnight_secondary_df.groupby(
    'Day Number', 
    as_index=False)['Sensor Glucose (mg/dL) [Interpolated]'].count()
Loading...
CGMData_manual_overnight_secondary_df.groupby(
    'Day Number', 
    as_index=False)['Sensor Glucose (mg/dL) [Interpolated]'].count()['Sensor Glucose (mg/dL) [Interpolated]']
0 57 1 63 2 19 3 55 4 23 5 26 6 64 7 64 8 44 9 54 10 72 11 52 12 32 Name: Sensor Glucose (mg/dL) [Interpolated], dtype: int64
CGMData_manual_overnight_secondary_percentages_per_day_series = \
CGMData_manual_overnight_secondary_df.groupby(
    'Day Number', 
    as_index=False)['Sensor Glucose (mg/dL) [Interpolated]'].count()['Sensor Glucose (mg/dL) [Interpolated]'] / 288 * 100
CGMData_manual_overnight_secondary_percentages_per_day_series
0 19.791667 1 21.875000 2 6.597222 3 19.097222 4 7.986111 5 9.027778 6 22.222222 7 22.222222 8 15.277778 9 18.750000 10 25.000000 11 18.055556 12 11.111111 Name: Sensor Glucose (mg/dL) [Interpolated], dtype: float64
CGMData_manual_overnight_secondary_percentages_per_day_array = \
    CGMData_manual_overnight_secondary_percentages_per_day_series.to_numpy()
CGMData_manual_overnight_secondary_percentages_per_day_array
array([19.79166667, 21.875 , 6.59722222, 19.09722222, 7.98611111, 9.02777778, 22.22222222, 22.22222222, 15.27777778, 18.75 , 25. , 18.05555556, 11.11111111])
CGMData_manual_overnight_secondary_average_percentages_over_all_days = \
    CGMData_manual_overnight_secondary_percentages_per_day_array.sum() / number_of_days_in_data
CGMData_manual_overnight_secondary_average_percentages_over_all_days.item()
1.0690339354132457

Auto Mode / Overnight / Secondary

CGMData_auto_overnight_secondary_df = \
    CGMData_df[(
        (CGMData_df['Sensor Mode'] == 'Auto Mode') & \
        (CGMData_df['Time Interval'] == 'overnight') & \
        (CGMData_df['Sensor Glucose Classification (Secondary)'] == 'secondary')
    )]
CGMData_auto_overnight_secondary_df.describe()
Loading...
CGMData_auto_overnight_secondary_df[0:50]
Loading...
CGMData_auto_overnight_secondary_df.groupby(
    'Day Number', 
    as_index=False)['Sensor Glucose (mg/dL) [Interpolated]'].count()
Loading...
CGMData_auto_overnight_secondary_df.groupby(
    'Day Number', 
    as_index=False)['Sensor Glucose (mg/dL) [Interpolated]'].count()['Sensor Glucose (mg/dL) [Interpolated]']
0 16 1 42 2 72 3 70 4 48 5 72 6 51 7 71 8 30 9 42 10 49 11 21 12 72 13 67 14 17 15 72 16 72 17 68 18 39 19 22 20 44 21 72 22 67 23 72 24 57 25 22 26 64 27 53 28 70 29 67 30 69 31 72 32 71 33 72 34 57 35 36 36 65 37 72 38 63 39 72 40 66 41 68 42 67 43 72 44 72 45 21 46 72 47 72 48 47 49 65 50 58 51 13 52 54 53 71 54 71 55 27 56 62 57 72 58 72 59 71 60 54 61 47 62 72 63 72 64 62 65 60 66 72 67 72 68 54 69 63 70 28 71 58 72 58 73 46 74 72 75 43 76 68 77 41 78 16 79 68 80 65 81 69 82 62 83 68 84 72 85 64 86 65 87 55 88 21 89 48 90 38 91 72 92 64 93 24 94 68 95 72 96 60 97 51 98 72 99 72 100 68 101 65 102 57 103 37 104 72 105 72 106 67 107 55 108 43 109 72 110 45 111 56 112 72 113 60 114 72 115 67 116 19 117 53 118 60 119 31 120 35 121 72 122 52 123 67 124 45 125 62 126 48 127 41 128 56 129 62 130 58 131 39 132 43 133 41 134 64 135 67 136 28 137 53 138 32 139 72 140 28 141 39 142 61 143 28 144 28 145 72 146 59 147 31 148 26 149 46 150 55 151 58 152 50 153 72 154 37 155 50 156 49 157 72 158 39 159 66 160 58 161 68 162 61 163 35 164 15 165 8 166 40 167 65 168 34 169 58 170 63 171 38 172 29 173 69 174 38 Name: Sensor Glucose (mg/dL) [Interpolated], dtype: int64
CGMData_auto_overnight_secondary_percentages_per_day_series = \
CGMData_auto_overnight_secondary_df.groupby(
    'Day Number', 
    as_index=False)['Sensor Glucose (mg/dL) [Interpolated]'].count()['Sensor Glucose (mg/dL) [Interpolated]'] / 288 * 100
CGMData_auto_overnight_secondary_percentages_per_day_series
0 5.555556 1 14.583333 2 25.000000 3 24.305556 4 16.666667 5 25.000000 6 17.708333 7 24.652778 8 10.416667 9 14.583333 10 17.013889 11 7.291667 12 25.000000 13 23.263889 14 5.902778 15 25.000000 16 25.000000 17 23.611111 18 13.541667 19 7.638889 20 15.277778 21 25.000000 22 23.263889 23 25.000000 24 19.791667 25 7.638889 26 22.222222 27 18.402778 28 24.305556 29 23.263889 30 23.958333 31 25.000000 32 24.652778 33 25.000000 34 19.791667 35 12.500000 36 22.569444 37 25.000000 38 21.875000 39 25.000000 40 22.916667 41 23.611111 42 23.263889 43 25.000000 44 25.000000 45 7.291667 46 25.000000 47 25.000000 48 16.319444 49 22.569444 50 20.138889 51 4.513889 52 18.750000 53 24.652778 54 24.652778 55 9.375000 56 21.527778 57 25.000000 58 25.000000 59 24.652778 60 18.750000 61 16.319444 62 25.000000 63 25.000000 64 21.527778 65 20.833333 66 25.000000 67 25.000000 68 18.750000 69 21.875000 70 9.722222 71 20.138889 72 20.138889 73 15.972222 74 25.000000 75 14.930556 76 23.611111 77 14.236111 78 5.555556 79 23.611111 80 22.569444 81 23.958333 82 21.527778 83 23.611111 84 25.000000 85 22.222222 86 22.569444 87 19.097222 88 7.291667 89 16.666667 90 13.194444 91 25.000000 92 22.222222 93 8.333333 94 23.611111 95 25.000000 96 20.833333 97 17.708333 98 25.000000 99 25.000000 100 23.611111 101 22.569444 102 19.791667 103 12.847222 104 25.000000 105 25.000000 106 23.263889 107 19.097222 108 14.930556 109 25.000000 110 15.625000 111 19.444444 112 25.000000 113 20.833333 114 25.000000 115 23.263889 116 6.597222 117 18.402778 118 20.833333 119 10.763889 120 12.152778 121 25.000000 122 18.055556 123 23.263889 124 15.625000 125 21.527778 126 16.666667 127 14.236111 128 19.444444 129 21.527778 130 20.138889 131 13.541667 132 14.930556 133 14.236111 134 22.222222 135 23.263889 136 9.722222 137 18.402778 138 11.111111 139 25.000000 140 9.722222 141 13.541667 142 21.180556 143 9.722222 144 9.722222 145 25.000000 146 20.486111 147 10.763889 148 9.027778 149 15.972222 150 19.097222 151 20.138889 152 17.361111 153 25.000000 154 12.847222 155 17.361111 156 17.013889 157 25.000000 158 13.541667 159 22.916667 160 20.138889 161 23.611111 162 21.180556 163 12.152778 164 5.208333 165 2.777778 166 13.888889 167 22.569444 168 11.805556 169 20.138889 170 21.875000 171 13.194444 172 10.069444 173 23.958333 174 13.194444 Name: Sensor Glucose (mg/dL) [Interpolated], dtype: float64
CGMData_auto_overnight_secondary_percentages_per_day_array = \
    CGMData_auto_overnight_secondary_percentages_per_day_series.to_numpy()
CGMData_auto_overnight_secondary_percentages_per_day_array
array([ 5.55555556, 14.58333333, 25. , 24.30555556, 16.66666667, 25. , 17.70833333, 24.65277778, 10.41666667, 14.58333333, 17.01388889, 7.29166667, 25. , 23.26388889, 5.90277778, 25. , 25. , 23.61111111, 13.54166667, 7.63888889, 15.27777778, 25. , 23.26388889, 25. , 19.79166667, 7.63888889, 22.22222222, 18.40277778, 24.30555556, 23.26388889, 23.95833333, 25. , 24.65277778, 25. , 19.79166667, 12.5 , 22.56944444, 25. , 21.875 , 25. , 22.91666667, 23.61111111, 23.26388889, 25. , 25. , 7.29166667, 25. , 25. , 16.31944444, 22.56944444, 20.13888889, 4.51388889, 18.75 , 24.65277778, 24.65277778, 9.375 , 21.52777778, 25. , 25. , 24.65277778, 18.75 , 16.31944444, 25. , 25. , 21.52777778, 20.83333333, 25. , 25. , 18.75 , 21.875 , 9.72222222, 20.13888889, 20.13888889, 15.97222222, 25. , 14.93055556, 23.61111111, 14.23611111, 5.55555556, 23.61111111, 22.56944444, 23.95833333, 21.52777778, 23.61111111, 25. , 22.22222222, 22.56944444, 19.09722222, 7.29166667, 16.66666667, 13.19444444, 25. , 22.22222222, 8.33333333, 23.61111111, 25. , 20.83333333, 17.70833333, 25. , 25. , 23.61111111, 22.56944444, 19.79166667, 12.84722222, 25. , 25. , 23.26388889, 19.09722222, 14.93055556, 25. , 15.625 , 19.44444444, 25. , 20.83333333, 25. , 23.26388889, 6.59722222, 18.40277778, 20.83333333, 10.76388889, 12.15277778, 25. , 18.05555556, 23.26388889, 15.625 , 21.52777778, 16.66666667, 14.23611111, 19.44444444, 21.52777778, 20.13888889, 13.54166667, 14.93055556, 14.23611111, 22.22222222, 23.26388889, 9.72222222, 18.40277778, 11.11111111, 25. , 9.72222222, 13.54166667, 21.18055556, 9.72222222, 9.72222222, 25. , 20.48611111, 10.76388889, 9.02777778, 15.97222222, 19.09722222, 20.13888889, 17.36111111, 25. , 12.84722222, 17.36111111, 17.01388889, 25. , 13.54166667, 22.91666667, 20.13888889, 23.61111111, 21.18055556, 12.15277778, 5.20833333, 2.77777778, 13.88888889, 22.56944444, 11.80555556, 20.13888889, 21.875 , 13.19444444, 10.06944444, 23.95833333, 13.19444444])
CGMData_auto_overnight_secondary_average_percentages_over_all_days = \
    CGMData_auto_overnight_secondary_percentages_per_day_array.sum() / number_of_days_in_data
CGMData_auto_overnight_secondary_average_percentages_over_all_days.item()
16.379310344827587

Manual Mode / Overnight / Hypoglycemia Level 1

CGMData_manual_overnight_hypo_1_df = \
    CGMData_df[(
        (CGMData_df['Sensor Mode'] == 'Manual Mode') & \
        (CGMData_df['Time Interval'] == 'overnight') & \
        (CGMData_df['Sensor Glucose Classification'] == 'hypoglycemia level 1')
    )]
CGMData_manual_overnight_hypo_1_df.describe()
Loading...
CGMData_manual_overnight_hypo_1_df[0:50]
Loading...
CGMData_manual_overnight_hypo_1_df.groupby(
    'Day Number', 
    as_index=False)['Sensor Glucose (mg/dL) [Interpolated]'].count()
Loading...
CGMData_manual_overnight_hypo_1_df.groupby(
    'Day Number', 
    as_index=False)['Sensor Glucose (mg/dL) [Interpolated]'].count()['Sensor Glucose (mg/dL) [Interpolated]']
0 4 1 9 2 16 Name: Sensor Glucose (mg/dL) [Interpolated], dtype: int64
CGMData_manual_overnight_hypo_1_percentages_per_day_series = \
CGMData_manual_overnight_hypo_1_df.groupby(
    'Day Number', 
    as_index=False)['Sensor Glucose (mg/dL) [Interpolated]'].count()['Sensor Glucose (mg/dL) [Interpolated]'] / 288 * 100
CGMData_manual_overnight_hypo_1_percentages_per_day_series
0 1.388889 1 3.125000 2 5.555556 Name: Sensor Glucose (mg/dL) [Interpolated], dtype: float64
CGMData_manual_overnight_hypo_1_percentages_per_day_array = \
    CGMData_manual_overnight_hypo_1_percentages_per_day_series.to_numpy()
CGMData_manual_overnight_hypo_1_percentages_per_day_array
array([1.38888889, 3.125 , 5.55555556])
CGMData_manual_overnight_hypo_1_average_percentages_over_all_days = \
    CGMData_manual_overnight_hypo_1_percentages_per_day_array.sum() / number_of_days_in_data
CGMData_manual_overnight_hypo_1_average_percentages_over_all_days.item()
0.04960317460317461

Auto Mode / Overnight / Hypoglycemia Level 1

CGMData_auto_overnight_hypo_1_df = \
    CGMData_df[(
        (CGMData_df['Sensor Mode'] == 'Auto Mode') & \
        (CGMData_df['Time Interval'] == 'overnight') & \
        (CGMData_df['Sensor Glucose Classification'] == 'hypoglycemia level 1')
    )]
CGMData_auto_overnight_hypo_1_df.describe()
Loading...
CGMData_auto_overnight_hypo_1_df[0:5]
Loading...
CGMData_auto_overnight_hypo_1_df.groupby(
    'Day Number', 
    as_index=False)['Sensor Glucose (mg/dL) [Interpolated]'].count()
Loading...
CGMData_auto_overnight_hypo_1_df.groupby(
    'Day Number',
    as_index=False)['Sensor Glucose (mg/dL) [Interpolated]'].count()['Sensor Glucose (mg/dL) [Interpolated]']
0 10 1 9 2 1 3 8 4 2 5 2 6 18 7 2 8 1 9 10 10 12 11 3 12 14 13 10 14 12 15 12 16 3 17 4 18 3 19 2 20 4 21 2 22 2 23 5 24 5 25 4 26 2 27 4 28 4 29 5 30 7 31 6 32 1 33 8 34 5 35 4 36 5 37 10 38 3 39 1 40 1 41 3 42 6 Name: Sensor Glucose (mg/dL) [Interpolated], dtype: int64
CGMData_auto_overnight_hypo_1_percentages_per_day_series = \
CGMData_auto_overnight_hypo_1_df.groupby(
    'Day Number', 
    as_index=False)['Sensor Glucose (mg/dL) [Interpolated]'].count()['Sensor Glucose (mg/dL) [Interpolated]'] / 288 * 100
CGMData_auto_overnight_hypo_1_percentages_per_day_series
0 3.472222 1 3.125000 2 0.347222 3 2.777778 4 0.694444 5 0.694444 6 6.250000 7 0.694444 8 0.347222 9 3.472222 10 4.166667 11 1.041667 12 4.861111 13 3.472222 14 4.166667 15 4.166667 16 1.041667 17 1.388889 18 1.041667 19 0.694444 20 1.388889 21 0.694444 22 0.694444 23 1.736111 24 1.736111 25 1.388889 26 0.694444 27 1.388889 28 1.388889 29 1.736111 30 2.430556 31 2.083333 32 0.347222 33 2.777778 34 1.736111 35 1.388889 36 1.736111 37 3.472222 38 1.041667 39 0.347222 40 0.347222 41 1.041667 42 2.083333 Name: Sensor Glucose (mg/dL) [Interpolated], dtype: float64
CGMData_auto_overnight_hypo_1_percentages_per_day_array = \
    CGMData_auto_overnight_hypo_1_percentages_per_day_series.to_numpy()
CGMData_auto_overnight_hypo_1_percentages_per_day_array
array([3.47222222, 3.125 , 0.34722222, 2.77777778, 0.69444444, 0.69444444, 6.25 , 0.69444444, 0.34722222, 3.47222222, 4.16666667, 1.04166667, 4.86111111, 3.47222222, 4.16666667, 4.16666667, 1.04166667, 1.38888889, 1.04166667, 0.69444444, 1.38888889, 0.69444444, 0.69444444, 1.73611111, 1.73611111, 1.38888889, 0.69444444, 1.38888889, 1.38888889, 1.73611111, 2.43055556, 2.08333333, 0.34722222, 2.77777778, 1.73611111, 1.38888889, 1.73611111, 3.47222222, 1.04166667, 0.34722222, 0.34722222, 1.04166667, 2.08333333])
CGMData_auto_overnight_hypo_1_average_percentages_over_all_days = \
    CGMData_auto_overnight_hypo_1_percentages_per_day_array.sum() / number_of_days_in_data
CGMData_auto_overnight_hypo_1_average_percentages_over_all_days.item()
0.4019567597153804

Manual Mode / Overnight / Hypoglycemia Level 2

CGMData_manual_overnight_hypo_2_df = \
    CGMData_df[(
        (CGMData_df['Sensor Mode'] == 'Manual Mode') & \
        (CGMData_df['Time Interval'] == 'overnight') & \
        (CGMData_df['Sensor Glucose Classification'] == 'hypoglycemia level 2')
    )]
CGMData_manual_overnight_hypo_2_df.describe()
Loading...
CGMData_manual_overnight_hypo_2_df[0:50]
Loading...
CGMData_manual_overnight_hypo_2_df.groupby(
    'Day Number', 
    as_index=False)['Sensor Glucose (mg/dL) [Interpolated]'].count()
Loading...
CGMData_manual_overnight_hypo_2_df.groupby(
    'Day Number',
    as_index=False)['Sensor Glucose (mg/dL) [Interpolated]'].count()['Sensor Glucose (mg/dL) [Interpolated]']
Series([], Name: Sensor Glucose (mg/dL) [Interpolated], dtype: int64)
CGMData_manual_overnight_hypo_2_percentages_per_day_series = \
CGMData_manual_overnight_hypo_2_df.groupby(
    'Day Number', 
    as_index=False)['Sensor Glucose (mg/dL) [Interpolated]'].count()['Sensor Glucose (mg/dL) [Interpolated]'] / 288 * 100
CGMData_manual_overnight_hypo_2_percentages_per_day_series
Series([], Name: Sensor Glucose (mg/dL) [Interpolated], dtype: float64)
CGMData_manual_overnight_hypo_2_percentages_per_day_array = \
    CGMData_manual_overnight_hypo_2_percentages_per_day_series.to_numpy()
CGMData_manual_overnight_hypo_2_percentages_per_day_array
array([], dtype=float64)
CGMData_manual_overnight_hypo_2_average_percentages_over_all_days = \
    CGMData_manual_overnight_hypo_2_percentages_per_day_array.sum() / number_of_days_in_data
CGMData_manual_overnight_hypo_2_average_percentages_over_all_days.item()
0.0

Auto Mode / Overnight / Hypoglycemia Level 2

CGMData_auto_overnight_hypo_2_df = \
    CGMData_df[(
        (CGMData_df['Sensor Mode'] == 'Auto Mode') & \
        (CGMData_df['Time Interval'] == 'overnight') & \
        (CGMData_df['Sensor Glucose Classification'] == 'hypoglycemia level 2')
    )]
CGMData_auto_overnight_hypo_2_df.describe()
Loading...
CGMData_auto_overnight_hypo_2_df[0:5]
Loading...
CGMData_auto_overnight_hypo_2_df.groupby(
    'Day Number', 
    as_index=False)['Sensor Glucose (mg/dL) [Interpolated]'].count()
Loading...
CGMData_auto_overnight_hypo_2_df.groupby(
    'Day Number',
    as_index=False)['Sensor Glucose (mg/dL) [Interpolated]'].count()['Sensor Glucose (mg/dL) [Interpolated]']
0 2 1 12 2 4 3 1 4 28 5 9 6 12 7 2 8 5 9 4 10 2 11 1 12 2 13 3 14 12 15 4 16 9 Name: Sensor Glucose (mg/dL) [Interpolated], dtype: int64
CGMData_auto_overnight_hypo_2_percentages_per_day_series = \
CGMData_auto_overnight_hypo_2_df.groupby(
    'Day Number', 
    as_index=False)['Sensor Glucose (mg/dL) [Interpolated]'].count()['Sensor Glucose (mg/dL) [Interpolated]'] / 288 * 100
CGMData_auto_overnight_hypo_2_percentages_per_day_series
0 0.694444 1 4.166667 2 1.388889 3 0.347222 4 9.722222 5 3.125000 6 4.166667 7 0.694444 8 1.736111 9 1.388889 10 0.694444 11 0.347222 12 0.694444 13 1.041667 14 4.166667 15 1.388889 16 3.125000 Name: Sensor Glucose (mg/dL) [Interpolated], dtype: float64
CGMData_auto_overnight_hypo_2_percentages_per_day_array = \
    CGMData_auto_overnight_hypo_2_percentages_per_day_series.to_numpy()
CGMData_auto_overnight_hypo_2_percentages_per_day_array
array([0.69444444, 4.16666667, 1.38888889, 0.34722222, 9.72222222, 3.125 , 4.16666667, 0.69444444, 1.73611111, 1.38888889, 0.69444444, 0.34722222, 0.69444444, 1.04166667, 4.16666667, 1.38888889, 3.125 ])
CGMData_auto_overnight_hypo_2_average_percentages_over_all_days = \
    CGMData_auto_overnight_hypo_2_percentages_per_day_array.sum() / number_of_days_in_data
CGMData_auto_overnight_hypo_2_average_percentages_over_all_days.item()
0.19157088122605362

Manual Mode / Daytime / Hyperglycemia

CGMData_manual_daytime_hyper_df = \
    CGMData_df[(
        (CGMData_df['Sensor Mode'] == 'Manual Mode') & \
        (CGMData_df['Time Interval'] == 'daytime') & \
        (CGMData_df['Sensor Glucose Classification'] == 'hyperglycemia')
    )]
CGMData_manual_daytime_hyper_df.describe()
Loading...
CGMData_manual_daytime_hyper_df[0:5]
Loading...
CGMData_manual_daytime_hyper_df.groupby(
    'Day Number', 
    as_index=False)['Sensor Glucose (mg/dL) [Interpolated]'].count()
Loading...
CGMData_manual_daytime_hyper_df.groupby(
    'Day Number',
    as_index=False)['Sensor Glucose (mg/dL) [Interpolated]'].count()['Sensor Glucose (mg/dL) [Interpolated]']
0 12 1 59 2 73 3 53 4 29 5 34 6 42 7 51 8 49 9 34 10 63 11 77 12 36 13 59 14 96 Name: Sensor Glucose (mg/dL) [Interpolated], dtype: int64
CGMData_manual_daytime_hyper_percentages_per_day_series = \
CGMData_manual_daytime_hyper_df.groupby(
    'Day Number',
    as_index=False)['Sensor Glucose (mg/dL) [Interpolated]'].count()['Sensor Glucose (mg/dL) [Interpolated]'] / 288 * 100
CGMData_manual_daytime_hyper_percentages_per_day_series
0 4.166667 1 20.486111 2 25.347222 3 18.402778 4 10.069444 5 11.805556 6 14.583333 7 17.708333 8 17.013889 9 11.805556 10 21.875000 11 26.736111 12 12.500000 13 20.486111 14 33.333333 Name: Sensor Glucose (mg/dL) [Interpolated], dtype: float64
CGMData_manual_daytime_hyper_percentages_per_day_array = \
    CGMData_manual_daytime_hyper_percentages_per_day_series.to_numpy()
CGMData_manual_daytime_hyper_percentages_per_day_array
array([ 4.16666667, 20.48611111, 25.34722222, 18.40277778, 10.06944444, 11.80555556, 14.58333333, 17.70833333, 17.01388889, 11.80555556, 21.875 , 26.73611111, 12.5 , 20.48611111, 33.33333333])
CGMData_manual_daytime_hyper_average_percentages_over_all_days = \
    CGMData_manual_daytime_hyper_percentages_per_day_array.sum() / number_of_days_in_data
CGMData_manual_daytime_hyper_average_percentages_over_all_days.item()
1.3119184455391353

Auto Mode / Daytime / Hyperglycemia

CGMData_auto_daytime_hyper_df = \
    CGMData_df[(
        (CGMData_df['Sensor Mode'] == 'Auto Mode') & \
        (CGMData_df['Time Interval'] == 'daytime') & \
        (CGMData_df['Sensor Glucose Classification'] == 'hyperglycemia')
    )]
CGMData_auto_daytime_hyper_df.describe()
Loading...
CGMData_auto_daytime_hyper_df[0:5]
Loading...
CGMData_auto_daytime_hyper_df.groupby(
    'Day Number', 
    as_index=False)['Sensor Glucose (mg/dL) [Interpolated]'].count()
Loading...
CGMData_auto_daytime_hyper_df.groupby(
    'Day Number', 
    as_index=False)['Sensor Glucose (mg/dL) [Interpolated]'].count()['Sensor Glucose (mg/dL) [Interpolated]']
0 31 1 45 2 77 3 39 4 41 5 69 6 67 7 34 8 2 9 115 10 70 11 53 12 52 13 52 14 59 15 92 16 43 17 32 18 21 19 95 20 89 21 25 22 68 23 45 24 36 25 35 26 38 27 96 28 50 29 19 30 51 31 29 32 17 33 26 34 61 35 32 36 84 37 64 38 36 39 13 40 40 41 59 42 26 43 22 44 57 45 47 46 31 47 47 48 75 49 100 50 113 51 75 52 42 53 58 54 33 55 102 56 46 57 70 58 21 59 65 60 44 61 46 62 64 63 57 64 64 65 51 66 66 67 53 68 44 69 2 70 40 71 60 72 78 73 55 74 9 75 22 76 52 77 86 78 54 79 39 80 42 81 20 82 30 83 27 84 1 85 58 86 10 87 36 88 7 89 37 90 68 91 34 92 57 93 58 94 7 95 12 96 20 97 45 98 61 99 70 100 26 101 43 102 25 103 20 104 69 105 103 106 40 107 68 108 60 109 60 110 17 111 1 112 50 113 50 114 21 115 19 116 47 117 23 118 19 119 6 120 46 121 60 122 21 123 44 124 80 125 40 126 29 127 39 128 43 129 44 130 72 131 61 132 48 133 38 134 38 135 53 136 45 137 32 138 83 139 51 140 76 141 70 142 12 143 40 144 3 145 72 146 18 147 60 148 50 149 49 150 76 151 26 152 17 153 58 154 88 155 59 156 47 157 31 158 50 159 41 160 61 161 42 162 32 163 57 164 112 165 68 166 84 167 51 168 21 169 45 170 49 171 107 172 46 173 54 174 59 175 20 176 78 177 6 Name: Sensor Glucose (mg/dL) [Interpolated], dtype: int64
CGMData_auto_daytime_hyper_percentages_per_day_series = \
CGMData_auto_daytime_hyper_df.groupby(
    'Day Number', 
    as_index=False)['Sensor Glucose (mg/dL) [Interpolated]'].count()['Sensor Glucose (mg/dL) [Interpolated]'] / 288 * 100
CGMData_auto_daytime_hyper_percentages_per_day_series
0 10.763889 1 15.625000 2 26.736111 3 13.541667 4 14.236111 5 23.958333 6 23.263889 7 11.805556 8 0.694444 9 39.930556 10 24.305556 11 18.402778 12 18.055556 13 18.055556 14 20.486111 15 31.944444 16 14.930556 17 11.111111 18 7.291667 19 32.986111 20 30.902778 21 8.680556 22 23.611111 23 15.625000 24 12.500000 25 12.152778 26 13.194444 27 33.333333 28 17.361111 29 6.597222 30 17.708333 31 10.069444 32 5.902778 33 9.027778 34 21.180556 35 11.111111 36 29.166667 37 22.222222 38 12.500000 39 4.513889 40 13.888889 41 20.486111 42 9.027778 43 7.638889 44 19.791667 45 16.319444 46 10.763889 47 16.319444 48 26.041667 49 34.722222 50 39.236111 51 26.041667 52 14.583333 53 20.138889 54 11.458333 55 35.416667 56 15.972222 57 24.305556 58 7.291667 59 22.569444 60 15.277778 61 15.972222 62 22.222222 63 19.791667 64 22.222222 65 17.708333 66 22.916667 67 18.402778 68 15.277778 69 0.694444 70 13.888889 71 20.833333 72 27.083333 73 19.097222 74 3.125000 75 7.638889 76 18.055556 77 29.861111 78 18.750000 79 13.541667 80 14.583333 81 6.944444 82 10.416667 83 9.375000 84 0.347222 85 20.138889 86 3.472222 87 12.500000 88 2.430556 89 12.847222 90 23.611111 91 11.805556 92 19.791667 93 20.138889 94 2.430556 95 4.166667 96 6.944444 97 15.625000 98 21.180556 99 24.305556 100 9.027778 101 14.930556 102 8.680556 103 6.944444 104 23.958333 105 35.763889 106 13.888889 107 23.611111 108 20.833333 109 20.833333 110 5.902778 111 0.347222 112 17.361111 113 17.361111 114 7.291667 115 6.597222 116 16.319444 117 7.986111 118 6.597222 119 2.083333 120 15.972222 121 20.833333 122 7.291667 123 15.277778 124 27.777778 125 13.888889 126 10.069444 127 13.541667 128 14.930556 129 15.277778 130 25.000000 131 21.180556 132 16.666667 133 13.194444 134 13.194444 135 18.402778 136 15.625000 137 11.111111 138 28.819444 139 17.708333 140 26.388889 141 24.305556 142 4.166667 143 13.888889 144 1.041667 145 25.000000 146 6.250000 147 20.833333 148 17.361111 149 17.013889 150 26.388889 151 9.027778 152 5.902778 153 20.138889 154 30.555556 155 20.486111 156 16.319444 157 10.763889 158 17.361111 159 14.236111 160 21.180556 161 14.583333 162 11.111111 163 19.791667 164 38.888889 165 23.611111 166 29.166667 167 17.708333 168 7.291667 169 15.625000 170 17.013889 171 37.152778 172 15.972222 173 18.750000 174 20.486111 175 6.944444 176 27.083333 177 2.083333 Name: Sensor Glucose (mg/dL) [Interpolated], dtype: float64
CGMData_auto_daytime_hyper_percentages_per_day_array = \
    CGMData_auto_daytime_hyper_percentages_per_day_series.to_numpy()
CGMData_auto_daytime_hyper_percentages_per_day_array
array([10.76388889, 15.625 , 26.73611111, 13.54166667, 14.23611111, 23.95833333, 23.26388889, 11.80555556, 0.69444444, 39.93055556, 24.30555556, 18.40277778, 18.05555556, 18.05555556, 20.48611111, 31.94444444, 14.93055556, 11.11111111, 7.29166667, 32.98611111, 30.90277778, 8.68055556, 23.61111111, 15.625 , 12.5 , 12.15277778, 13.19444444, 33.33333333, 17.36111111, 6.59722222, 17.70833333, 10.06944444, 5.90277778, 9.02777778, 21.18055556, 11.11111111, 29.16666667, 22.22222222, 12.5 , 4.51388889, 13.88888889, 20.48611111, 9.02777778, 7.63888889, 19.79166667, 16.31944444, 10.76388889, 16.31944444, 26.04166667, 34.72222222, 39.23611111, 26.04166667, 14.58333333, 20.13888889, 11.45833333, 35.41666667, 15.97222222, 24.30555556, 7.29166667, 22.56944444, 15.27777778, 15.97222222, 22.22222222, 19.79166667, 22.22222222, 17.70833333, 22.91666667, 18.40277778, 15.27777778, 0.69444444, 13.88888889, 20.83333333, 27.08333333, 19.09722222, 3.125 , 7.63888889, 18.05555556, 29.86111111, 18.75 , 13.54166667, 14.58333333, 6.94444444, 10.41666667, 9.375 , 0.34722222, 20.13888889, 3.47222222, 12.5 , 2.43055556, 12.84722222, 23.61111111, 11.80555556, 19.79166667, 20.13888889, 2.43055556, 4.16666667, 6.94444444, 15.625 , 21.18055556, 24.30555556, 9.02777778, 14.93055556, 8.68055556, 6.94444444, 23.95833333, 35.76388889, 13.88888889, 23.61111111, 20.83333333, 20.83333333, 5.90277778, 0.34722222, 17.36111111, 17.36111111, 7.29166667, 6.59722222, 16.31944444, 7.98611111, 6.59722222, 2.08333333, 15.97222222, 20.83333333, 7.29166667, 15.27777778, 27.77777778, 13.88888889, 10.06944444, 13.54166667, 14.93055556, 15.27777778, 25. , 21.18055556, 16.66666667, 13.19444444, 13.19444444, 18.40277778, 15.625 , 11.11111111, 28.81944444, 17.70833333, 26.38888889, 24.30555556, 4.16666667, 13.88888889, 1.04166667, 25. , 6.25 , 20.83333333, 17.36111111, 17.01388889, 26.38888889, 9.02777778, 5.90277778, 20.13888889, 30.55555556, 20.48611111, 16.31944444, 10.76388889, 17.36111111, 14.23611111, 21.18055556, 14.58333333, 11.11111111, 19.79166667, 38.88888889, 23.61111111, 29.16666667, 17.70833333, 7.29166667, 15.625 , 17.01388889, 37.15277778, 15.97222222, 18.75 , 20.48611111, 6.94444444, 27.08333333, 2.08333333])
CGMData_auto_daytime_hyper_average_percentages_over_all_days = \
    CGMData_auto_daytime_hyper_percentages_per_day_array.sum() / number_of_days_in_data
CGMData_auto_daytime_hyper_average_percentages_over_all_days.item()
14.516625615763544

Manual Mode / Daytime / Hyperglycemia Critical

CGMData_manual_daytime_hyper_crit_df = \
    CGMData_df[(
        (CGMData_df['Sensor Mode'] == 'Manual Mode') & \
        (CGMData_df['Time Interval'] == 'daytime') & \
        (CGMData_df['Sensor Glucose Classification'] == 'hyperglycemia critical')
    )]
CGMData_manual_daytime_hyper_crit_df.describe()
Loading...
CGMData_manual_daytime_hyper_crit_df[0:50]
Loading...
CGMData_manual_daytime_hyper_crit_df.groupby(
    'Day Number', 
    as_index=False)['Sensor Glucose (mg/dL) [Interpolated]'].count()
Loading...
CGMData_manual_daytime_hyper_crit_df.groupby(
    'Day Number', 
    as_index=False)['Sensor Glucose (mg/dL) [Interpolated]'].count()['Sensor Glucose (mg/dL) [Interpolated]']
0 26 1 48 2 11 3 4 4 7 5 5 6 5 7 51 8 71 9 58 10 53 11 41 12 44 Name: Sensor Glucose (mg/dL) [Interpolated], dtype: int64
CGMData_manual_daytime_hyper_crit_percentages_per_day_series = \
CGMData_manual_daytime_hyper_crit_df.groupby(
    'Day Number', 
    as_index=False)['Sensor Glucose (mg/dL) [Interpolated]'].count()['Sensor Glucose (mg/dL) [Interpolated]'] / 288 * 100
CGMData_manual_daytime_hyper_crit_percentages_per_day_series
0 9.027778 1 16.666667 2 3.819444 3 1.388889 4 2.430556 5 1.736111 6 1.736111 7 17.708333 8 24.652778 9 20.138889 10 18.402778 11 14.236111 12 15.277778 Name: Sensor Glucose (mg/dL) [Interpolated], dtype: float64
CGMData_manual_daytime_hyper_crit_percentages_per_day_array = \
    CGMData_manual_daytime_hyper_crit_percentages_per_day_series.to_numpy()
CGMData_manual_daytime_hyper_crit_percentages_per_day_array
array([ 9.02777778, 16.66666667, 3.81944444, 1.38888889, 2.43055556, 1.73611111, 1.73611111, 17.70833333, 24.65277778, 20.13888889, 18.40277778, 14.23611111, 15.27777778])
CGMData_manual_daytime_hyper_crit_average_percentages_over_all_days = \
    CGMData_manual_daytime_hyper_crit_percentages_per_day_array.sum() / number_of_days_in_data
CGMData_manual_daytime_hyper_crit_average_percentages_over_all_days.item()
0.725232621784346

Auto Mode / Daytime / Hyperglycemia Critical

CGMData_auto_daytime_hyper_crit_df = \
    CGMData_df[(
        (CGMData_df['Sensor Mode'] == 'Auto Mode') & \
        (CGMData_df['Time Interval'] == 'daytime') & \
        (CGMData_df['Sensor Glucose Classification'] == 'hyperglycemia critical')
    )]
CGMData_auto_daytime_hyper_crit_df.describe()
Loading...
CGMData_auto_daytime_hyper_crit_df[0:5]
Loading...
CGMData_auto_daytime_hyper_crit_df.groupby(
    'Day Number', 
    as_index=False)['Sensor Glucose (mg/dL) [Interpolated]'].count()
Loading...
CGMData_auto_daytime_hyper_crit_df.groupby(
    'Day Number', 
    as_index=False)['Sensor Glucose (mg/dL) [Interpolated]'].count()['Sensor Glucose (mg/dL) [Interpolated]']
0 62 1 37 2 12 3 25 4 1 5 2 6 24 7 31 8 43 9 46 10 42 11 9 12 13 13 5 14 72 15 41 16 21 17 30 18 20 19 9 20 18 21 56 22 11 23 3 24 43 25 11 26 7 27 35 28 14 29 29 30 11 31 21 32 18 33 4 34 26 35 18 36 9 37 47 38 14 39 13 40 10 41 29 42 30 43 27 44 26 45 14 46 17 47 2 48 45 49 29 50 12 51 44 52 8 53 29 54 24 55 7 56 1 57 34 58 4 59 16 60 35 61 16 62 40 63 8 64 9 65 36 66 6 67 25 68 21 69 26 70 2 71 23 72 2 73 21 74 12 75 28 76 10 77 8 78 13 79 18 80 21 81 7 82 8 83 7 84 20 85 30 86 25 87 6 88 13 89 12 90 4 91 39 92 11 93 20 94 9 95 17 96 50 97 30 98 35 99 3 100 11 101 5 102 10 103 33 104 20 105 16 106 36 107 16 108 47 109 2 110 20 111 15 112 15 113 3 114 8 115 27 116 24 117 10 118 23 119 10 120 9 121 20 122 26 123 52 124 1 Name: Sensor Glucose (mg/dL) [Interpolated], dtype: int64
CGMData_auto_daytime_hyper_crit_percentages_per_day_series = \
CGMData_auto_daytime_hyper_crit_df.groupby(
    'Day Number',
    as_index=False)['Sensor Glucose (mg/dL) [Interpolated]'].count()['Sensor Glucose (mg/dL) [Interpolated]'] / 288 * 100
CGMData_auto_daytime_hyper_crit_percentages_per_day_series
0 21.527778 1 12.847222 2 4.166667 3 8.680556 4 0.347222 5 0.694444 6 8.333333 7 10.763889 8 14.930556 9 15.972222 10 14.583333 11 3.125000 12 4.513889 13 1.736111 14 25.000000 15 14.236111 16 7.291667 17 10.416667 18 6.944444 19 3.125000 20 6.250000 21 19.444444 22 3.819444 23 1.041667 24 14.930556 25 3.819444 26 2.430556 27 12.152778 28 4.861111 29 10.069444 30 3.819444 31 7.291667 32 6.250000 33 1.388889 34 9.027778 35 6.250000 36 3.125000 37 16.319444 38 4.861111 39 4.513889 40 3.472222 41 10.069444 42 10.416667 43 9.375000 44 9.027778 45 4.861111 46 5.902778 47 0.694444 48 15.625000 49 10.069444 50 4.166667 51 15.277778 52 2.777778 53 10.069444 54 8.333333 55 2.430556 56 0.347222 57 11.805556 58 1.388889 59 5.555556 60 12.152778 61 5.555556 62 13.888889 63 2.777778 64 3.125000 65 12.500000 66 2.083333 67 8.680556 68 7.291667 69 9.027778 70 0.694444 71 7.986111 72 0.694444 73 7.291667 74 4.166667 75 9.722222 76 3.472222 77 2.777778 78 4.513889 79 6.250000 80 7.291667 81 2.430556 82 2.777778 83 2.430556 84 6.944444 85 10.416667 86 8.680556 87 2.083333 88 4.513889 89 4.166667 90 1.388889 91 13.541667 92 3.819444 93 6.944444 94 3.125000 95 5.902778 96 17.361111 97 10.416667 98 12.152778 99 1.041667 100 3.819444 101 1.736111 102 3.472222 103 11.458333 104 6.944444 105 5.555556 106 12.500000 107 5.555556 108 16.319444 109 0.694444 110 6.944444 111 5.208333 112 5.208333 113 1.041667 114 2.777778 115 9.375000 116 8.333333 117 3.472222 118 7.986111 119 3.472222 120 3.125000 121 6.944444 122 9.027778 123 18.055556 124 0.347222 Name: Sensor Glucose (mg/dL) [Interpolated], dtype: float64
CGMData_auto_daytime_hyper_crit_percentages_per_day_array = \
    CGMData_auto_daytime_hyper_crit_percentages_per_day_series.to_numpy()
CGMData_auto_daytime_hyper_crit_percentages_per_day_array
array([21.52777778, 12.84722222, 4.16666667, 8.68055556, 0.34722222, 0.69444444, 8.33333333, 10.76388889, 14.93055556, 15.97222222, 14.58333333, 3.125 , 4.51388889, 1.73611111, 25. , 14.23611111, 7.29166667, 10.41666667, 6.94444444, 3.125 , 6.25 , 19.44444444, 3.81944444, 1.04166667, 14.93055556, 3.81944444, 2.43055556, 12.15277778, 4.86111111, 10.06944444, 3.81944444, 7.29166667, 6.25 , 1.38888889, 9.02777778, 6.25 , 3.125 , 16.31944444, 4.86111111, 4.51388889, 3.47222222, 10.06944444, 10.41666667, 9.375 , 9.02777778, 4.86111111, 5.90277778, 0.69444444, 15.625 , 10.06944444, 4.16666667, 15.27777778, 2.77777778, 10.06944444, 8.33333333, 2.43055556, 0.34722222, 11.80555556, 1.38888889, 5.55555556, 12.15277778, 5.55555556, 13.88888889, 2.77777778, 3.125 , 12.5 , 2.08333333, 8.68055556, 7.29166667, 9.02777778, 0.69444444, 7.98611111, 0.69444444, 7.29166667, 4.16666667, 9.72222222, 3.47222222, 2.77777778, 4.51388889, 6.25 , 7.29166667, 2.43055556, 2.77777778, 2.43055556, 6.94444444, 10.41666667, 8.68055556, 2.08333333, 4.51388889, 4.16666667, 1.38888889, 13.54166667, 3.81944444, 6.94444444, 3.125 , 5.90277778, 17.36111111, 10.41666667, 12.15277778, 1.04166667, 3.81944444, 1.73611111, 3.47222222, 11.45833333, 6.94444444, 5.55555556, 12.5 , 5.55555556, 16.31944444, 0.69444444, 6.94444444, 5.20833333, 5.20833333, 1.04166667, 2.77777778, 9.375 , 8.33333333, 3.47222222, 7.98611111, 3.47222222, 3.125 , 6.94444444, 9.02777778, 18.05555556, 0.34722222])
CGMData_auto_daytime_hyper_crit_average_percentages_over_all_days = \
    CGMData_auto_daytime_hyper_crit_percentages_per_day_array.sum() / number_of_days_in_data
CGMData_auto_daytime_hyper_crit_average_percentages_over_all_days.item()
4.354816639299398

Manual Mode / Daytime / Normal

CGMData_manual_daytime_normal_df = \
    CGMData_df[(
        (CGMData_df['Sensor Mode'] == 'Manual Mode') & \
        (CGMData_df['Time Interval'] == 'daytime') & \
        (CGMData_df['Sensor Glucose Classification'] == 'normal')
    )]
CGMData_manual_daytime_normal_df.describe()
Loading...
CGMData_manual_daytime_normal_df[0:50]
Loading...
CGMData_manual_daytime_normal_df.groupby(
    'Day Number', 
    as_index=False)['Sensor Glucose (mg/dL) [Interpolated]'].count()
Loading...
CGMData_manual_daytime_normal_df.groupby(
    'Day Number', 
    as_index=False)['Sensor Glucose (mg/dL) [Interpolated]'].count()['Sensor Glucose (mg/dL) [Interpolated]']
0 60 1 81 2 117 3 130 4 180 5 160 6 143 7 165 8 156 9 115 10 82 11 54 12 127 13 96 14 73 15 26 Name: Sensor Glucose (mg/dL) [Interpolated], dtype: int64
CGMData_manual_daytime_normal_percentages_per_day_series = \
CGMData_manual_daytime_normal_df.groupby(
    'Day Number', 
    as_index=False)['Sensor Glucose (mg/dL) [Interpolated]'].count()['Sensor Glucose (mg/dL) [Interpolated]'] / 288 * 100
CGMData_manual_daytime_normal_percentages_per_day_series
0 20.833333 1 28.125000 2 40.625000 3 45.138889 4 62.500000 5 55.555556 6 49.652778 7 57.291667 8 54.166667 9 39.930556 10 28.472222 11 18.750000 12 44.097222 13 33.333333 14 25.347222 15 9.027778 Name: Sensor Glucose (mg/dL) [Interpolated], dtype: float64
CGMData_manual_daytime_normal_percentages_per_day_array = \
    CGMData_manual_daytime_normal_percentages_per_day_series.to_numpy()
CGMData_manual_daytime_normal_percentages_per_day_array
array([20.83333333, 28.125 , 40.625 , 45.13888889, 62.5 , 55.55555556, 49.65277778, 57.29166667, 54.16666667, 39.93055556, 28.47222222, 18.75 , 44.09722222, 33.33333333, 25.34722222, 9.02777778])
CGMData_manual_daytime_normal_average_percentages_over_all_days = \
    CGMData_manual_daytime_normal_percentages_per_day_array.sum() / number_of_days_in_data
CGMData_manual_daytime_normal_average_percentages_over_all_days.item()
3.0189518336070056

Auto Mode / Daytime / Normal

CGMData_auto_daytime_normal_df = \
    CGMData_df[(
        (CGMData_df['Sensor Mode'] == 'Auto Mode') & \
        (CGMData_df['Time Interval'] == 'daytime') & \
        (CGMData_df['Sensor Glucose Classification'] == 'normal')
    )]
CGMData_auto_daytime_normal_df.describe()
Loading...
CGMData_auto_daytime_normal_df[0:5]
Loading...
CGMData_auto_daytime_normal_df.groupby(
    'Day Number', 
    as_index=False)['Sensor Glucose (mg/dL) [Interpolated]'].count()
Loading...
CGMData_auto_daytime_normal_df.groupby(
    'Day Number',
    as_index=False)['Sensor Glucose (mg/dL) [Interpolated]'].count()['Sensor Glucose (mg/dL) [Interpolated]']
0 80 1 163 2 139 3 140 4 156 5 112 6 148 7 180 8 191 9 77 10 97 11 105 12 118 13 116 14 148 15 111 16 168 17 112 18 154 19 83 20 91 21 187 22 113 23 149 24 160 25 86 26 126 27 107 28 123 29 197 30 154 31 156 32 191 33 176 34 147 35 139 36 132 37 135 38 151 39 189 40 164 41 129 42 182 43 178 44 141 45 153 46 151 47 151 48 124 49 56 50 81 51 118 52 148 53 118 54 153 55 84 56 144 57 140 58 170 59 150 60 135 61 107 62 138 63 114 64 119 65 146 66 106 67 162 68 144 69 207 70 137 71 116 72 129 73 129 74 165 75 183 76 137 77 88 78 158 79 152 80 139 81 153 82 177 83 135 84 174 85 134 86 176 87 115 88 209 89 124 90 122 91 152 92 113 93 151 94 200 95 189 96 185 97 111 98 151 99 146 100 183 101 152 102 191 103 184 104 128 105 189 106 85 107 176 108 130 109 156 110 148 111 175 112 200 113 182 114 166 115 157 116 169 117 190 118 151 119 172 120 170 121 142 122 165 123 148 124 172 125 157 126 122 127 131 128 145 129 177 130 148 131 166 132 129 133 124 134 161 135 174 136 123 137 146 138 154 139 147 140 116 141 142 142 64 143 112 144 169 145 100 146 3 147 130 148 171 149 113 150 112 151 150 152 109 153 147 154 171 155 142 156 92 157 124 158 89 159 177 160 152 161 116 162 121 163 134 164 175 165 151 166 74 167 124 168 116 169 149 170 164 171 171 172 150 173 80 174 130 175 129 176 90 177 165 178 113 179 83 Name: Sensor Glucose (mg/dL) [Interpolated], dtype: int64
CGMData_auto_daytime_normal_percentages_per_day_series = \
CGMData_auto_daytime_normal_df.groupby(
    'Day Number',
    as_index=False)['Sensor Glucose (mg/dL) [Interpolated]'].count()['Sensor Glucose (mg/dL) [Interpolated]'] / 288 * 100
CGMData_auto_daytime_normal_percentages_per_day_series
0 27.777778 1 56.597222 2 48.263889 3 48.611111 4 54.166667 5 38.888889 6 51.388889 7 62.500000 8 66.319444 9 26.736111 10 33.680556 11 36.458333 12 40.972222 13 40.277778 14 51.388889 15 38.541667 16 58.333333 17 38.888889 18 53.472222 19 28.819444 20 31.597222 21 64.930556 22 39.236111 23 51.736111 24 55.555556 25 29.861111 26 43.750000 27 37.152778 28 42.708333 29 68.402778 30 53.472222 31 54.166667 32 66.319444 33 61.111111 34 51.041667 35 48.263889 36 45.833333 37 46.875000 38 52.430556 39 65.625000 40 56.944444 41 44.791667 42 63.194444 43 61.805556 44 48.958333 45 53.125000 46 52.430556 47 52.430556 48 43.055556 49 19.444444 50 28.125000 51 40.972222 52 51.388889 53 40.972222 54 53.125000 55 29.166667 56 50.000000 57 48.611111 58 59.027778 59 52.083333 60 46.875000 61 37.152778 62 47.916667 63 39.583333 64 41.319444 65 50.694444 66 36.805556 67 56.250000 68 50.000000 69 71.875000 70 47.569444 71 40.277778 72 44.791667 73 44.791667 74 57.291667 75 63.541667 76 47.569444 77 30.555556 78 54.861111 79 52.777778 80 48.263889 81 53.125000 82 61.458333 83 46.875000 84 60.416667 85 46.527778 86 61.111111 87 39.930556 88 72.569444 89 43.055556 90 42.361111 91 52.777778 92 39.236111 93 52.430556 94 69.444444 95 65.625000 96 64.236111 97 38.541667 98 52.430556 99 50.694444 100 63.541667 101 52.777778 102 66.319444 103 63.888889 104 44.444444 105 65.625000 106 29.513889 107 61.111111 108 45.138889 109 54.166667 110 51.388889 111 60.763889 112 69.444444 113 63.194444 114 57.638889 115 54.513889 116 58.680556 117 65.972222 118 52.430556 119 59.722222 120 59.027778 121 49.305556 122 57.291667 123 51.388889 124 59.722222 125 54.513889 126 42.361111 127 45.486111 128 50.347222 129 61.458333 130 51.388889 131 57.638889 132 44.791667 133 43.055556 134 55.902778 135 60.416667 136 42.708333 137 50.694444 138 53.472222 139 51.041667 140 40.277778 141 49.305556 142 22.222222 143 38.888889 144 58.680556 145 34.722222 146 1.041667 147 45.138889 148 59.375000 149 39.236111 150 38.888889 151 52.083333 152 37.847222 153 51.041667 154 59.375000 155 49.305556 156 31.944444 157 43.055556 158 30.902778 159 61.458333 160 52.777778 161 40.277778 162 42.013889 163 46.527778 164 60.763889 165 52.430556 166 25.694444 167 43.055556 168 40.277778 169 51.736111 170 56.944444 171 59.375000 172 52.083333 173 27.777778 174 45.138889 175 44.791667 176 31.250000 177 57.291667 178 39.236111 179 28.819444 Name: Sensor Glucose (mg/dL) [Interpolated], dtype: float64
CGMData_auto_daytime_normal_percentages_per_day_array = \
    CGMData_auto_daytime_normal_percentages_per_day_series.to_numpy()
CGMData_auto_daytime_normal_percentages_per_day_array
array([27.77777778, 56.59722222, 48.26388889, 48.61111111, 54.16666667, 38.88888889, 51.38888889, 62.5 , 66.31944444, 26.73611111, 33.68055556, 36.45833333, 40.97222222, 40.27777778, 51.38888889, 38.54166667, 58.33333333, 38.88888889, 53.47222222, 28.81944444, 31.59722222, 64.93055556, 39.23611111, 51.73611111, 55.55555556, 29.86111111, 43.75 , 37.15277778, 42.70833333, 68.40277778, 53.47222222, 54.16666667, 66.31944444, 61.11111111, 51.04166667, 48.26388889, 45.83333333, 46.875 , 52.43055556, 65.625 , 56.94444444, 44.79166667, 63.19444444, 61.80555556, 48.95833333, 53.125 , 52.43055556, 52.43055556, 43.05555556, 19.44444444, 28.125 , 40.97222222, 51.38888889, 40.97222222, 53.125 , 29.16666667, 50. , 48.61111111, 59.02777778, 52.08333333, 46.875 , 37.15277778, 47.91666667, 39.58333333, 41.31944444, 50.69444444, 36.80555556, 56.25 , 50. , 71.875 , 47.56944444, 40.27777778, 44.79166667, 44.79166667, 57.29166667, 63.54166667, 47.56944444, 30.55555556, 54.86111111, 52.77777778, 48.26388889, 53.125 , 61.45833333, 46.875 , 60.41666667, 46.52777778, 61.11111111, 39.93055556, 72.56944444, 43.05555556, 42.36111111, 52.77777778, 39.23611111, 52.43055556, 69.44444444, 65.625 , 64.23611111, 38.54166667, 52.43055556, 50.69444444, 63.54166667, 52.77777778, 66.31944444, 63.88888889, 44.44444444, 65.625 , 29.51388889, 61.11111111, 45.13888889, 54.16666667, 51.38888889, 60.76388889, 69.44444444, 63.19444444, 57.63888889, 54.51388889, 58.68055556, 65.97222222, 52.43055556, 59.72222222, 59.02777778, 49.30555556, 57.29166667, 51.38888889, 59.72222222, 54.51388889, 42.36111111, 45.48611111, 50.34722222, 61.45833333, 51.38888889, 57.63888889, 44.79166667, 43.05555556, 55.90277778, 60.41666667, 42.70833333, 50.69444444, 53.47222222, 51.04166667, 40.27777778, 49.30555556, 22.22222222, 38.88888889, 58.68055556, 34.72222222, 1.04166667, 45.13888889, 59.375 , 39.23611111, 38.88888889, 52.08333333, 37.84722222, 51.04166667, 59.375 , 49.30555556, 31.94444444, 43.05555556, 30.90277778, 61.45833333, 52.77777778, 40.27777778, 42.01388889, 46.52777778, 60.76388889, 52.43055556, 25.69444444, 43.05555556, 40.27777778, 51.73611111, 56.94444444, 59.375 , 52.08333333, 27.77777778, 45.13888889, 44.79166667, 31.25 , 57.29166667, 39.23611111, 28.81944444])
CGMData_auto_daytime_normal_average_percentages_over_all_days = \
    CGMData_auto_daytime_normal_percentages_per_day_array.sum() / number_of_days_in_data
CGMData_auto_daytime_normal_average_percentages_over_all_days.item()
43.402777777777786

Manual Mode / Daytime / Secondary

CGMData_manual_daytime_secondary_df = \
    CGMData_df[(
        (CGMData_df['Sensor Mode'] == 'Manual Mode') & \
        (CGMData_df['Time Interval'] == 'daytime') & \
        (CGMData_df['Sensor Glucose Classification (Secondary)'] == 'secondary')
    )]
CGMData_manual_daytime_secondary_df.describe()
Loading...
CGMData_manual_daytime_secondary_df[0:50]
Loading...
CGMData_manual_daytime_secondary_df.groupby(
    'Day Number', 
    as_index=False)['Sensor Glucose (mg/dL) [Interpolated]'].count()
Loading...
CGMData_manual_daytime_secondary_df.groupby(
    'Day Number', 
    as_index=False)['Sensor Glucose (mg/dL) [Interpolated]'].count()['Sensor Glucose (mg/dL) [Interpolated]']
0 41 1 71 2 70 3 116 4 147 5 136 6 138 7 110 8 120 9 100 10 62 11 46 12 108 13 55 14 42 15 18 Name: Sensor Glucose (mg/dL) [Interpolated], dtype: int64
CGMData_manual_daytime_secondary_percentages_per_day_series = \
CGMData_manual_daytime_secondary_df.groupby(
    'Day Number', 
    as_index=False)['Sensor Glucose (mg/dL) [Interpolated]'].count()['Sensor Glucose (mg/dL) [Interpolated]'] / 288 * 100
CGMData_manual_daytime_secondary_percentages_per_day_series
0 14.236111 1 24.652778 2 24.305556 3 40.277778 4 51.041667 5 47.222222 6 47.916667 7 38.194444 8 41.666667 9 34.722222 10 21.527778 11 15.972222 12 37.500000 13 19.097222 14 14.583333 15 6.250000 Name: Sensor Glucose (mg/dL) [Interpolated], dtype: float64
CGMData_manual_daytime_secondary_percentages_per_day_array = \
    CGMData_manual_daytime_secondary_percentages_per_day_series.to_numpy()
CGMData_manual_daytime_secondary_percentages_per_day_array
array([14.23611111, 24.65277778, 24.30555556, 40.27777778, 51.04166667, 47.22222222, 47.91666667, 38.19444444, 41.66666667, 34.72222222, 21.52777778, 15.97222222, 37.5 , 19.09722222, 14.58333333, 6.25 ])
CGMData_manual_daytime_secondary_average_percentages_over_all_days = \
    CGMData_manual_daytime_secondary_percentages_per_day_array.sum() / number_of_days_in_data
CGMData_manual_daytime_secondary_average_percentages_over_all_days.item()
2.3604269293924465

Auto Mode / Daytime / Secondary

CGMData_auto_daytime_secondary_df = \
    CGMData_df[(
        (CGMData_df['Sensor Mode'] == 'Auto Mode') & \
        (CGMData_df['Time Interval'] == 'daytime') & \
        (CGMData_df['Sensor Glucose Classification (Secondary)'] == 'secondary')
    )]
CGMData_auto_daytime_secondary_df.describe()
Loading...
CGMData_auto_daytime_secondary_df[0:50]
Loading...
CGMData_auto_daytime_secondary_df.groupby(
    'Day Number', 
    as_index=False)['Sensor Glucose (mg/dL) [Interpolated]'].count()
Loading...
CGMData_auto_daytime_secondary_df.groupby(
    'Day Number', 
    as_index=False)['Sensor Glucose (mg/dL) [Interpolated]'].count()['Sensor Glucose (mg/dL) [Interpolated]']
0 60 1 120 2 98 3 115 4 110 5 88 6 110 7 166 8 145 9 35 10 57 11 92 12 36 13 80 14 100 15 83 16 146 17 106 18 130 19 52 20 58 21 121 22 83 23 100 24 150 25 72 26 121 27 82 28 91 29 148 30 126 31 115 32 108 33 120 34 106 35 107 36 76 37 84 38 136 39 142 40 115 41 56 42 124 43 146 44 57 45 122 46 128 47 107 48 94 49 13 50 57 51 56 52 111 53 85 54 104 55 60 56 112 57 96 58 149 59 136 60 110 61 81 62 84 63 66 64 89 65 107 66 68 67 118 68 121 69 197 70 95 71 61 72 98 73 115 74 159 75 102 76 103 77 49 78 114 79 112 80 122 81 130 82 104 83 97 84 164 85 104 86 152 87 103 88 180 89 99 90 85 91 141 92 99 93 117 94 181 95 142 96 141 97 104 98 117 99 72 100 159 101 119 102 153 103 127 104 85 105 169 106 57 107 131 108 106 109 93 110 82 111 129 112 179 113 154 114 128 115 115 116 104 117 144 118 126 119 144 120 110 121 137 122 143 123 131 124 133 125 120 126 66 127 92 128 119 129 122 130 138 131 125 132 114 133 113 134 74 135 127 136 102 137 89 138 99 139 124 140 81 141 113 142 58 143 70 144 125 145 81 146 77 147 116 148 70 149 102 150 119 151 85 152 123 153 110 154 114 155 45 156 77 157 77 158 148 159 86 160 92 161 89 162 120 163 142 164 93 165 25 166 82 167 86 168 91 169 133 170 138 171 101 172 39 173 95 174 93 175 70 176 138 177 62 178 52 Name: Sensor Glucose (mg/dL) [Interpolated], dtype: int64
CGMData_auto_daytime_secondary_percentages_per_day_series = \
CGMData_auto_daytime_secondary_df.groupby(
    'Day Number', 
    as_index=False)['Sensor Glucose (mg/dL) [Interpolated]'].count()['Sensor Glucose (mg/dL) [Interpolated]'] / 288 * 100
CGMData_auto_daytime_secondary_percentages_per_day_series
0 20.833333 1 41.666667 2 34.027778 3 39.930556 4 38.194444 5 30.555556 6 38.194444 7 57.638889 8 50.347222 9 12.152778 10 19.791667 11 31.944444 12 12.500000 13 27.777778 14 34.722222 15 28.819444 16 50.694444 17 36.805556 18 45.138889 19 18.055556 20 20.138889 21 42.013889 22 28.819444 23 34.722222 24 52.083333 25 25.000000 26 42.013889 27 28.472222 28 31.597222 29 51.388889 30 43.750000 31 39.930556 32 37.500000 33 41.666667 34 36.805556 35 37.152778 36 26.388889 37 29.166667 38 47.222222 39 49.305556 40 39.930556 41 19.444444 42 43.055556 43 50.694444 44 19.791667 45 42.361111 46 44.444444 47 37.152778 48 32.638889 49 4.513889 50 19.791667 51 19.444444 52 38.541667 53 29.513889 54 36.111111 55 20.833333 56 38.888889 57 33.333333 58 51.736111 59 47.222222 60 38.194444 61 28.125000 62 29.166667 63 22.916667 64 30.902778 65 37.152778 66 23.611111 67 40.972222 68 42.013889 69 68.402778 70 32.986111 71 21.180556 72 34.027778 73 39.930556 74 55.208333 75 35.416667 76 35.763889 77 17.013889 78 39.583333 79 38.888889 80 42.361111 81 45.138889 82 36.111111 83 33.680556 84 56.944444 85 36.111111 86 52.777778 87 35.763889 88 62.500000 89 34.375000 90 29.513889 91 48.958333 92 34.375000 93 40.625000 94 62.847222 95 49.305556 96 48.958333 97 36.111111 98 40.625000 99 25.000000 100 55.208333 101 41.319444 102 53.125000 103 44.097222 104 29.513889 105 58.680556 106 19.791667 107 45.486111 108 36.805556 109 32.291667 110 28.472222 111 44.791667 112 62.152778 113 53.472222 114 44.444444 115 39.930556 116 36.111111 117 50.000000 118 43.750000 119 50.000000 120 38.194444 121 47.569444 122 49.652778 123 45.486111 124 46.180556 125 41.666667 126 22.916667 127 31.944444 128 41.319444 129 42.361111 130 47.916667 131 43.402778 132 39.583333 133 39.236111 134 25.694444 135 44.097222 136 35.416667 137 30.902778 138 34.375000 139 43.055556 140 28.125000 141 39.236111 142 20.138889 143 24.305556 144 43.402778 145 28.125000 146 26.736111 147 40.277778 148 24.305556 149 35.416667 150 41.319444 151 29.513889 152 42.708333 153 38.194444 154 39.583333 155 15.625000 156 26.736111 157 26.736111 158 51.388889 159 29.861111 160 31.944444 161 30.902778 162 41.666667 163 49.305556 164 32.291667 165 8.680556 166 28.472222 167 29.861111 168 31.597222 169 46.180556 170 47.916667 171 35.069444 172 13.541667 173 32.986111 174 32.291667 175 24.305556 176 47.916667 177 21.527778 178 18.055556 Name: Sensor Glucose (mg/dL) [Interpolated], dtype: float64
CGMData_auto_daytime_secondary_percentages_per_day_array = \
    CGMData_auto_daytime_secondary_percentages_per_day_series.to_numpy()
CGMData_auto_daytime_secondary_percentages_per_day_array
array([20.83333333, 41.66666667, 34.02777778, 39.93055556, 38.19444444, 30.55555556, 38.19444444, 57.63888889, 50.34722222, 12.15277778, 19.79166667, 31.94444444, 12.5 , 27.77777778, 34.72222222, 28.81944444, 50.69444444, 36.80555556, 45.13888889, 18.05555556, 20.13888889, 42.01388889, 28.81944444, 34.72222222, 52.08333333, 25. , 42.01388889, 28.47222222, 31.59722222, 51.38888889, 43.75 , 39.93055556, 37.5 , 41.66666667, 36.80555556, 37.15277778, 26.38888889, 29.16666667, 47.22222222, 49.30555556, 39.93055556, 19.44444444, 43.05555556, 50.69444444, 19.79166667, 42.36111111, 44.44444444, 37.15277778, 32.63888889, 4.51388889, 19.79166667, 19.44444444, 38.54166667, 29.51388889, 36.11111111, 20.83333333, 38.88888889, 33.33333333, 51.73611111, 47.22222222, 38.19444444, 28.125 , 29.16666667, 22.91666667, 30.90277778, 37.15277778, 23.61111111, 40.97222222, 42.01388889, 68.40277778, 32.98611111, 21.18055556, 34.02777778, 39.93055556, 55.20833333, 35.41666667, 35.76388889, 17.01388889, 39.58333333, 38.88888889, 42.36111111, 45.13888889, 36.11111111, 33.68055556, 56.94444444, 36.11111111, 52.77777778, 35.76388889, 62.5 , 34.375 , 29.51388889, 48.95833333, 34.375 , 40.625 , 62.84722222, 49.30555556, 48.95833333, 36.11111111, 40.625 , 25. , 55.20833333, 41.31944444, 53.125 , 44.09722222, 29.51388889, 58.68055556, 19.79166667, 45.48611111, 36.80555556, 32.29166667, 28.47222222, 44.79166667, 62.15277778, 53.47222222, 44.44444444, 39.93055556, 36.11111111, 50. , 43.75 , 50. , 38.19444444, 47.56944444, 49.65277778, 45.48611111, 46.18055556, 41.66666667, 22.91666667, 31.94444444, 41.31944444, 42.36111111, 47.91666667, 43.40277778, 39.58333333, 39.23611111, 25.69444444, 44.09722222, 35.41666667, 30.90277778, 34.375 , 43.05555556, 28.125 , 39.23611111, 20.13888889, 24.30555556, 43.40277778, 28.125 , 26.73611111, 40.27777778, 24.30555556, 35.41666667, 41.31944444, 29.51388889, 42.70833333, 38.19444444, 39.58333333, 15.625 , 26.73611111, 26.73611111, 51.38888889, 29.86111111, 31.94444444, 30.90277778, 41.66666667, 49.30555556, 32.29166667, 8.68055556, 28.47222222, 29.86111111, 31.59722222, 46.18055556, 47.91666667, 35.06944444, 13.54166667, 32.98611111, 32.29166667, 24.30555556, 47.91666667, 21.52777778, 18.05555556])
CGMData_auto_daytime_secondary_average_percentages_over_all_days = \
    CGMData_auto_daytime_secondary_percentages_per_day_array.sum() / number_of_days_in_data
CGMData_auto_daytime_secondary_average_percentages_over_all_days.item()
32.337848932676515

Manual Mode / Daytime / Hypoglycemia Level 1

CGMData_manual_daytime_hypo_1_df = \
    CGMData_df[(
        (CGMData_df['Sensor Mode'] == 'Manual Mode') & \
        (CGMData_df['Time Interval'] == 'daytime') & \
        (CGMData_df['Sensor Glucose Classification'] == 'hypoglycemia level 1')
    )]
CGMData_manual_daytime_hypo_1_df.describe()
Loading...
CGMData_manual_daytime_hypo_1_df[0:50]
Loading...
CGMData_manual_daytime_hypo_1_df.groupby(
    'Day Number', 
    as_index=False)['Sensor Glucose (mg/dL) [Interpolated]'].count()
Loading...
CGMData_manual_daytime_hypo_1_df.groupby(
    'Day Number', 
    as_index=False)['Sensor Glucose (mg/dL) [Interpolated]'].count()['Sensor Glucose (mg/dL) [Interpolated]']
0 32 1 9 2 6 3 15 4 9 5 16 6 11 7 9 8 9 9 16 Name: Sensor Glucose (mg/dL) [Interpolated], dtype: int64
CGMData_manual_daytime_hypo_1_percentages_per_day_series = \
CGMData_manual_daytime_hypo_1_df.groupby(
    'Day Number', 
    as_index=False)['Sensor Glucose (mg/dL) [Interpolated]'].count()['Sensor Glucose (mg/dL) [Interpolated]'] / 288 * 100
CGMData_manual_daytime_hypo_1_percentages_per_day_series
0 11.111111 1 3.125000 2 2.083333 3 5.208333 4 3.125000 5 5.555556 6 3.819444 7 3.125000 8 3.125000 9 5.555556 Name: Sensor Glucose (mg/dL) [Interpolated], dtype: float64
CGMData_manual_daytime_hypo_1_percentages_per_day_array = \
    CGMData_manual_daytime_hypo_1_percentages_per_day_series.to_numpy()
CGMData_manual_daytime_hypo_1_percentages_per_day_array
array([11.11111111, 3.125 , 2.08333333, 5.20833333, 3.125 , 5.55555556, 3.81944444, 3.125 , 3.125 , 5.55555556])
CGMData_manual_daytime_hypo_1_average_percentages_over_all_days = \
    CGMData_manual_daytime_hypo_1_percentages_per_day_array.sum() / number_of_days_in_data
CGMData_manual_daytime_hypo_1_average_percentages_over_all_days.item()
0.2257799671592775

Auto Mode / Daytime / Hypoglycemia Level 1

CGMData_auto_daytime_hypo_1_df = \
    CGMData_df[(
        (CGMData_df['Sensor Mode'] == 'Auto Mode') & \
        (CGMData_df['Time Interval'] == 'daytime') & \
        (CGMData_df['Sensor Glucose Classification'] == 'hypoglycemia level 1')
    )]
CGMData_auto_daytime_hypo_1_df.describe()
Loading...
CGMData_auto_daytime_hypo_1_df[0:5]
Loading...
CGMData_auto_daytime_hypo_1_df.groupby(
    'Day Number',
    as_index=False)['Sensor Glucose (mg/dL) [Interpolated]'].count()
Loading...
CGMData_auto_daytime_hypo_1_df.groupby(
    'Day Number',
    as_index=False)['Sensor Glucose (mg/dL) [Interpolated]'].count()['Sensor Glucose (mg/dL) [Interpolated]']
0 17 1 4 2 2 3 6 4 14 5 3 6 10 7 4 8 10 9 7 10 2 11 36 12 37 13 3 14 15 15 8 16 7 17 10 18 3 19 3 20 5 21 7 22 14 23 12 24 5 25 2 26 5 27 3 28 8 29 7 30 3 31 5 32 11 33 1 34 12 35 54 36 11 37 4 38 7 39 9 40 5 41 7 42 2 43 21 44 30 45 7 46 22 47 9 48 10 49 2 50 8 51 39 52 8 53 11 54 9 55 13 56 1 57 9 58 10 59 7 60 7 61 5 62 21 63 3 64 4 65 5 66 5 67 12 68 8 69 3 70 8 71 19 72 2 73 14 74 7 75 9 76 34 77 2 78 8 79 10 80 13 81 6 82 11 83 1 84 2 85 18 86 16 87 11 88 6 89 17 90 2 91 2 92 17 93 4 94 12 95 9 96 18 97 24 98 9 99 5 100 19 101 43 102 8 103 11 104 5 105 3 106 2 107 15 108 6 109 11 110 6 111 16 112 8 113 5 114 6 115 11 116 6 117 10 118 30 119 24 Name: Sensor Glucose (mg/dL) [Interpolated], dtype: int64
CGMData_auto_daytime_hypo_1_percentages_per_day_series = \
CGMData_auto_daytime_hypo_1_df.groupby(
    'Day Number', 
    as_index=False)['Sensor Glucose (mg/dL) [Interpolated]'].count()['Sensor Glucose (mg/dL) [Interpolated]'] / 288 * 100
CGMData_auto_daytime_hypo_1_percentages_per_day_series
0 5.902778 1 1.388889 2 0.694444 3 2.083333 4 4.861111 5 1.041667 6 3.472222 7 1.388889 8 3.472222 9 2.430556 10 0.694444 11 12.500000 12 12.847222 13 1.041667 14 5.208333 15 2.777778 16 2.430556 17 3.472222 18 1.041667 19 1.041667 20 1.736111 21 2.430556 22 4.861111 23 4.166667 24 1.736111 25 0.694444 26 1.736111 27 1.041667 28 2.777778 29 2.430556 30 1.041667 31 1.736111 32 3.819444 33 0.347222 34 4.166667 35 18.750000 36 3.819444 37 1.388889 38 2.430556 39 3.125000 40 1.736111 41 2.430556 42 0.694444 43 7.291667 44 10.416667 45 2.430556 46 7.638889 47 3.125000 48 3.472222 49 0.694444 50 2.777778 51 13.541667 52 2.777778 53 3.819444 54 3.125000 55 4.513889 56 0.347222 57 3.125000 58 3.472222 59 2.430556 60 2.430556 61 1.736111 62 7.291667 63 1.041667 64 1.388889 65 1.736111 66 1.736111 67 4.166667 68 2.777778 69 1.041667 70 2.777778 71 6.597222 72 0.694444 73 4.861111 74 2.430556 75 3.125000 76 11.805556 77 0.694444 78 2.777778 79 3.472222 80 4.513889 81 2.083333 82 3.819444 83 0.347222 84 0.694444 85 6.250000 86 5.555556 87 3.819444 88 2.083333 89 5.902778 90 0.694444 91 0.694444 92 5.902778 93 1.388889 94 4.166667 95 3.125000 96 6.250000 97 8.333333 98 3.125000 99 1.736111 100 6.597222 101 14.930556 102 2.777778 103 3.819444 104 1.736111 105 1.041667 106 0.694444 107 5.208333 108 2.083333 109 3.819444 110 2.083333 111 5.555556 112 2.777778 113 1.736111 114 2.083333 115 3.819444 116 2.083333 117 3.472222 118 10.416667 119 8.333333 Name: Sensor Glucose (mg/dL) [Interpolated], dtype: float64
CGMData_auto_daytime_hypo_1_percentages_per_day_array = \
    CGMData_auto_daytime_hypo_1_percentages_per_day_series.to_numpy()
CGMData_auto_daytime_hypo_1_percentages_per_day_array
array([ 5.90277778, 1.38888889, 0.69444444, 2.08333333, 4.86111111, 1.04166667, 3.47222222, 1.38888889, 3.47222222, 2.43055556, 0.69444444, 12.5 , 12.84722222, 1.04166667, 5.20833333, 2.77777778, 2.43055556, 3.47222222, 1.04166667, 1.04166667, 1.73611111, 2.43055556, 4.86111111, 4.16666667, 1.73611111, 0.69444444, 1.73611111, 1.04166667, 2.77777778, 2.43055556, 1.04166667, 1.73611111, 3.81944444, 0.34722222, 4.16666667, 18.75 , 3.81944444, 1.38888889, 2.43055556, 3.125 , 1.73611111, 2.43055556, 0.69444444, 7.29166667, 10.41666667, 2.43055556, 7.63888889, 3.125 , 3.47222222, 0.69444444, 2.77777778, 13.54166667, 2.77777778, 3.81944444, 3.125 , 4.51388889, 0.34722222, 3.125 , 3.47222222, 2.43055556, 2.43055556, 1.73611111, 7.29166667, 1.04166667, 1.38888889, 1.73611111, 1.73611111, 4.16666667, 2.77777778, 1.04166667, 2.77777778, 6.59722222, 0.69444444, 4.86111111, 2.43055556, 3.125 , 11.80555556, 0.69444444, 2.77777778, 3.47222222, 4.51388889, 2.08333333, 3.81944444, 0.34722222, 0.69444444, 6.25 , 5.55555556, 3.81944444, 2.08333333, 5.90277778, 0.69444444, 0.69444444, 5.90277778, 1.38888889, 4.16666667, 3.125 , 6.25 , 8.33333333, 3.125 , 1.73611111, 6.59722222, 14.93055556, 2.77777778, 3.81944444, 1.73611111, 1.04166667, 0.69444444, 5.20833333, 2.08333333, 3.81944444, 2.08333333, 5.55555556, 2.77777778, 1.73611111, 2.08333333, 3.81944444, 2.08333333, 3.47222222, 10.41666667, 8.33333333])
CGMData_auto_daytime_hypo_1_average_percentages_over_all_days = \
    CGMData_auto_daytime_hypo_1_percentages_per_day_array.sum() / number_of_days_in_data
CGMData_auto_daytime_hypo_1_average_percentages_over_all_days.item()
2.1380678708264913

Manual Mode / Daytime / Hypoglycemia Level 2

CGMData_manual_daytime_hypo_2_df = \
    CGMData_df[(
        (CGMData_df['Sensor Mode'] == 'Manual Mode') & \
        (CGMData_df['Time Interval'] == 'daytime') & \
        (CGMData_df['Sensor Glucose Classification'] == 'hypoglycemia level 2')
    )]
CGMData_manual_daytime_hypo_2_df.describe()
Loading...
CGMData_manual_daytime_hypo_2_df[0:50]
Loading...
CGMData_manual_daytime_hypo_2_df.groupby(
    'Day Number', 
    as_index=False)['Sensor Glucose (mg/dL) [Interpolated]'].count()
Loading...
CGMData_manual_daytime_hypo_2_df.groupby(
    'Day Number',
    as_index=False)['Sensor Glucose (mg/dL) [Interpolated]'].count()['Sensor Glucose (mg/dL) [Interpolated]']
0 13 1 19 2 9 3 14 4 8 5 2 6 7 7 12 8 4 Name: Sensor Glucose (mg/dL) [Interpolated], dtype: int64
CGMData_manual_daytime_hypo_2_percentages_per_day_series = \
CGMData_manual_daytime_hypo_2_df.groupby(
    'Day Number', 
    as_index=False)['Sensor Glucose (mg/dL) [Interpolated]'].count()['Sensor Glucose (mg/dL) [Interpolated]'] / 288 * 100
CGMData_manual_daytime_hypo_2_percentages_per_day_series
0 4.513889 1 6.597222 2 3.125000 3 4.861111 4 2.777778 5 0.694444 6 2.430556 7 4.166667 8 1.388889 Name: Sensor Glucose (mg/dL) [Interpolated], dtype: float64
CGMData_manual_daytime_hypo_2_percentages_per_day_array = \
    CGMData_manual_daytime_hypo_2_percentages_per_day_series.to_numpy()
CGMData_manual_daytime_hypo_2_percentages_per_day_array
array([4.51388889, 6.59722222, 3.125 , 4.86111111, 2.77777778, 0.69444444, 2.43055556, 4.16666667, 1.38888889])
CGMData_manual_daytime_hypo_2_average_percentages_over_all_days = \
    CGMData_manual_daytime_hypo_2_percentages_per_day_series.sum() / number_of_days_in_data
CGMData_manual_daytime_hypo_2_average_percentages_over_all_days.item()
0.150519978106185

Auto Mode / Daytime / Hypoglycemia Level 2

CGMData_auto_daytime_hypo_2_df = \
    CGMData_df[(
        (CGMData_df['Sensor Mode'] == 'Auto Mode') & \
        (CGMData_df['Time Interval'] == 'daytime') & \
        (CGMData_df['Sensor Glucose Classification'] == 'hypoglycemia level 2')
    )]
CGMData_auto_daytime_hypo_2_df.describe()
Loading...
CGMData_auto_daytime_hypo_2_df[0:5]
Loading...
CGMData_auto_daytime_hypo_2_df.groupby(
    'Day Number', 
    as_index=False)['Sensor Glucose (mg/dL) [Interpolated]'].count()
Loading...
CGMData_auto_daytime_hypo_2_df.groupby(
    'Day Number',
    as_index=False)['Sensor Glucose (mg/dL) [Interpolated]'].count()['Sensor Glucose (mg/dL) [Interpolated]']
0 3 1 8 2 10 3 4 4 12 5 7 6 5 7 6 8 3 9 4 10 1 11 16 12 7 13 1 14 2 15 3 16 11 17 3 18 7 19 8 20 1 21 1 22 8 23 6 24 3 25 11 26 5 27 9 28 7 29 4 30 12 31 3 32 4 33 17 34 7 35 6 36 1 37 10 38 20 39 28 40 10 41 2 42 10 43 16 44 1 45 2 46 14 47 8 48 12 49 7 50 12 51 11 52 27 53 5 54 2 55 14 56 6 57 1 58 6 59 4 60 9 61 9 62 9 63 12 64 12 65 5 66 6 67 3 68 5 69 9 70 24 71 13 72 14 73 2 74 6 75 9 76 1 77 5 Name: Sensor Glucose (mg/dL) [Interpolated], dtype: int64
CGMData_auto_daytime_hypo_2_percentages_per_day_series = \
CGMData_auto_daytime_hypo_2_df.groupby(
    'Day Number', 
    as_index=False)['Sensor Glucose (mg/dL) [Interpolated]'].count()['Sensor Glucose (mg/dL) [Interpolated]'] / 288 * 100
CGMData_auto_daytime_hypo_2_percentages_per_day_series
0 1.041667 1 2.777778 2 3.472222 3 1.388889 4 4.166667 5 2.430556 6 1.736111 7 2.083333 8 1.041667 9 1.388889 10 0.347222 11 5.555556 12 2.430556 13 0.347222 14 0.694444 15 1.041667 16 3.819444 17 1.041667 18 2.430556 19 2.777778 20 0.347222 21 0.347222 22 2.777778 23 2.083333 24 1.041667 25 3.819444 26 1.736111 27 3.125000 28 2.430556 29 1.388889 30 4.166667 31 1.041667 32 1.388889 33 5.902778 34 2.430556 35 2.083333 36 0.347222 37 3.472222 38 6.944444 39 9.722222 40 3.472222 41 0.694444 42 3.472222 43 5.555556 44 0.347222 45 0.694444 46 4.861111 47 2.777778 48 4.166667 49 2.430556 50 4.166667 51 3.819444 52 9.375000 53 1.736111 54 0.694444 55 4.861111 56 2.083333 57 0.347222 58 2.083333 59 1.388889 60 3.125000 61 3.125000 62 3.125000 63 4.166667 64 4.166667 65 1.736111 66 2.083333 67 1.041667 68 1.736111 69 3.125000 70 8.333333 71 4.513889 72 4.861111 73 0.694444 74 2.083333 75 3.125000 76 0.347222 77 1.736111 Name: Sensor Glucose (mg/dL) [Interpolated], dtype: float64
CGMData_auto_daytime_hypo_2_percentages_per_day_array = \
    CGMData_auto_daytime_hypo_2_percentages_per_day_series.to_numpy()
CGMData_auto_daytime_hypo_2_percentages_per_day_array
array([1.04166667, 2.77777778, 3.47222222, 1.38888889, 4.16666667, 2.43055556, 1.73611111, 2.08333333, 1.04166667, 1.38888889, 0.34722222, 5.55555556, 2.43055556, 0.34722222, 0.69444444, 1.04166667, 3.81944444, 1.04166667, 2.43055556, 2.77777778, 0.34722222, 0.34722222, 2.77777778, 2.08333333, 1.04166667, 3.81944444, 1.73611111, 3.125 , 2.43055556, 1.38888889, 4.16666667, 1.04166667, 1.38888889, 5.90277778, 2.43055556, 2.08333333, 0.34722222, 3.47222222, 6.94444444, 9.72222222, 3.47222222, 0.69444444, 3.47222222, 5.55555556, 0.34722222, 0.69444444, 4.86111111, 2.77777778, 4.16666667, 2.43055556, 4.16666667, 3.81944444, 9.375 , 1.73611111, 0.69444444, 4.86111111, 2.08333333, 0.34722222, 2.08333333, 1.38888889, 3.125 , 3.125 , 3.125 , 4.16666667, 4.16666667, 1.73611111, 2.08333333, 1.04166667, 1.73611111, 3.125 , 8.33333333, 4.51388889, 4.86111111, 0.69444444, 2.08333333, 3.125 , 0.34722222, 1.73611111])
CGMData_auto_daytime_hypo_2_average_percentages_over_all_days = \
    CGMData_auto_daytime_hypo_2_percentages_per_day_array.sum() / number_of_days_in_data
CGMData_auto_daytime_hypo_2_average_percentages_over_all_days.item()
1.0382457580733442

Manual Mode / Whole Day / Hyperglycemia

CGMData_manual_wholeday_hyper_df = \
    CGMData_df[(
        (CGMData_df['Sensor Mode'] == 'Manual Mode') & \
        #(CGMData_df['Time Interval'] == 'daytime') & \
        (CGMData_df['Sensor Glucose Classification'] == 'hyperglycemia')
    )]
CGMData_manual_wholeday_hyper_df.describe()
Loading...
CGMData_manual_wholeday_hyper_df[0:5]
Loading...
CGMData_manual_wholeday_hyper_df.groupby(
    'Day Number', 
    as_index=False)['Sensor Glucose (mg/dL) [Interpolated]'].count()
Loading...
CGMData_manual_wholeday_hyper_df.groupby(
    'Day Number',
    as_index=False)['Sensor Glucose (mg/dL) [Interpolated]'].count()['Sensor Glucose (mg/dL) [Interpolated]']
0 12 1 59 2 119 3 53 4 59 5 34 6 59 7 63 8 49 9 60 10 63 11 80 12 36 13 59 14 96 15 32 Name: Sensor Glucose (mg/dL) [Interpolated], dtype: int64
CGMData_manual_wholeday_hyper_percentages_per_day_series = \
CGMData_manual_wholeday_hyper_df.groupby(
    'Day Number',
    as_index=False)['Sensor Glucose (mg/dL) [Interpolated]'].count()['Sensor Glucose (mg/dL) [Interpolated]'] / 288 * 100
CGMData_manual_wholeday_hyper_percentages_per_day_series
0 4.166667 1 20.486111 2 41.319444 3 18.402778 4 20.486111 5 11.805556 6 20.486111 7 21.875000 8 17.013889 9 20.833333 10 21.875000 11 27.777778 12 12.500000 13 20.486111 14 33.333333 15 11.111111 Name: Sensor Glucose (mg/dL) [Interpolated], dtype: float64
CGMData_manual_wholeday_hyper_percentages_per_day_array = \
    CGMData_manual_wholeday_hyper_percentages_per_day_series.to_numpy()
CGMData_manual_wholeday_hyper_percentages_per_day_array
array([ 4.16666667, 20.48611111, 41.31944444, 18.40277778, 20.48611111, 11.80555556, 20.48611111, 21.875 , 17.01388889, 20.83333333, 21.875 , 27.77777778, 12.5 , 20.48611111, 33.33333333, 11.11111111])
CGMData_manual_wholeday_hyper_average_percentages_over_all_days = \
    CGMData_manual_wholeday_hyper_percentages_per_day_array.sum() / number_of_days_in_data
CGMData_manual_wholeday_hyper_average_percentages_over_all_days.item()
1.5958538587848932

Auto Mode / Whole Day / Hyperglycemia

CGMData_auto_wholeday_hyper_df = \
    CGMData_df[(
        (CGMData_df['Sensor Mode'] == 'Auto Mode') & \
        #(CGMData_df['Time Interval'] == 'daytime') & \
        (CGMData_df['Sensor Glucose Classification'] == 'hyperglycemia')
    )]
CGMData_auto_wholeday_hyper_df.describe()
Loading...
CGMData_auto_wholeday_hyper_df[0:5]
Loading...
CGMData_auto_wholeday_hyper_df.groupby(
    'Day Number',
    as_index=False)['Sensor Glucose (mg/dL) [Interpolated]'].count()
Loading...
CGMData_auto_wholeday_hyper_df.groupby(
    'Day Number', 
    as_index=False)['Sensor Glucose (mg/dL) [Interpolated]'].count()['Sensor Glucose (mg/dL) [Interpolated]']
0 31 1 84 2 77 3 39 4 41 5 69 6 67 7 34 8 2 9 115 10 85 11 53 12 69 13 52 14 63 15 137 16 43 17 32 18 21 19 113 20 126 21 30 22 68 23 47 24 36 25 35 26 51 27 97 28 57 29 19 30 51 31 29 32 17 33 26 34 61 35 37 36 107 37 64 38 36 39 13 40 40 41 59 42 26 43 22 44 57 45 47 46 49 47 47 48 75 49 116 50 113 51 76 52 94 53 120 54 33 55 102 56 46 57 89 58 24 59 65 60 102 61 46 62 64 63 57 64 64 65 51 66 66 67 53 68 44 69 2 70 40 71 60 72 78 73 63 74 9 75 22 76 54 77 86 78 60 79 39 80 56 81 38 82 30 83 28 84 1 85 58 86 10 87 36 88 17 89 38 90 72 91 55 92 67 93 69 94 7 95 12 96 44 97 45 98 61 99 75 100 35 101 43 102 25 103 20 104 69 105 9 106 117 107 79 108 68 109 60 110 60 111 17 112 19 113 50 114 50 115 21 116 19 117 47 118 23 119 60 120 14 121 46 122 92 123 37 124 44 125 85 126 40 127 32 128 39 129 45 130 48 131 85 132 66 133 48 134 55 135 50 136 62 137 45 138 32 139 107 140 59 141 88 142 70 143 26 144 40 145 3 146 77 147 45 148 80 149 50 150 56 151 111 152 50 153 25 154 58 155 88 156 67 157 47 158 37 159 52 160 54 161 61 162 64 163 32 164 65 165 112 166 75 167 115 168 77 169 59 170 69 171 49 172 129 173 50 174 56 175 63 176 33 177 78 178 13 Name: Sensor Glucose (mg/dL) [Interpolated], dtype: int64
CGMData_auto_wholeday_hyper_percentages_per_day_series = \
CGMData_auto_wholeday_hyper_df.groupby(
    'Day Number', 
    as_index=False)['Sensor Glucose (mg/dL) [Interpolated]'].count()['Sensor Glucose (mg/dL) [Interpolated]'] / 288 * 100
CGMData_auto_wholeday_hyper_percentages_per_day_series
0 10.763889 1 29.166667 2 26.736111 3 13.541667 4 14.236111 5 23.958333 6 23.263889 7 11.805556 8 0.694444 9 39.930556 10 29.513889 11 18.402778 12 23.958333 13 18.055556 14 21.875000 15 47.569444 16 14.930556 17 11.111111 18 7.291667 19 39.236111 20 43.750000 21 10.416667 22 23.611111 23 16.319444 24 12.500000 25 12.152778 26 17.708333 27 33.680556 28 19.791667 29 6.597222 30 17.708333 31 10.069444 32 5.902778 33 9.027778 34 21.180556 35 12.847222 36 37.152778 37 22.222222 38 12.500000 39 4.513889 40 13.888889 41 20.486111 42 9.027778 43 7.638889 44 19.791667 45 16.319444 46 17.013889 47 16.319444 48 26.041667 49 40.277778 50 39.236111 51 26.388889 52 32.638889 53 41.666667 54 11.458333 55 35.416667 56 15.972222 57 30.902778 58 8.333333 59 22.569444 60 35.416667 61 15.972222 62 22.222222 63 19.791667 64 22.222222 65 17.708333 66 22.916667 67 18.402778 68 15.277778 69 0.694444 70 13.888889 71 20.833333 72 27.083333 73 21.875000 74 3.125000 75 7.638889 76 18.750000 77 29.861111 78 20.833333 79 13.541667 80 19.444444 81 13.194444 82 10.416667 83 9.722222 84 0.347222 85 20.138889 86 3.472222 87 12.500000 88 5.902778 89 13.194444 90 25.000000 91 19.097222 92 23.263889 93 23.958333 94 2.430556 95 4.166667 96 15.277778 97 15.625000 98 21.180556 99 26.041667 100 12.152778 101 14.930556 102 8.680556 103 6.944444 104 23.958333 105 3.125000 106 40.625000 107 27.430556 108 23.611111 109 20.833333 110 20.833333 111 5.902778 112 6.597222 113 17.361111 114 17.361111 115 7.291667 116 6.597222 117 16.319444 118 7.986111 119 20.833333 120 4.861111 121 15.972222 122 31.944444 123 12.847222 124 15.277778 125 29.513889 126 13.888889 127 11.111111 128 13.541667 129 15.625000 130 16.666667 131 29.513889 132 22.916667 133 16.666667 134 19.097222 135 17.361111 136 21.527778 137 15.625000 138 11.111111 139 37.152778 140 20.486111 141 30.555556 142 24.305556 143 9.027778 144 13.888889 145 1.041667 146 26.736111 147 15.625000 148 27.777778 149 17.361111 150 19.444444 151 38.541667 152 17.361111 153 8.680556 154 20.138889 155 30.555556 156 23.263889 157 16.319444 158 12.847222 159 18.055556 160 18.750000 161 21.180556 162 22.222222 163 11.111111 164 22.569444 165 38.888889 166 26.041667 167 39.930556 168 26.736111 169 20.486111 170 23.958333 171 17.013889 172 44.791667 173 17.361111 174 19.444444 175 21.875000 176 11.458333 177 27.083333 178 4.513889 Name: Sensor Glucose (mg/dL) [Interpolated], dtype: float64
CGMData_auto_wholeday_hyper_percentages_per_day_array = \
    CGMData_auto_wholeday_hyper_percentages_per_day_series.to_numpy()
CGMData_auto_wholeday_hyper_percentages_per_day_array
array([10.76388889, 29.16666667, 26.73611111, 13.54166667, 14.23611111, 23.95833333, 23.26388889, 11.80555556, 0.69444444, 39.93055556, 29.51388889, 18.40277778, 23.95833333, 18.05555556, 21.875 , 47.56944444, 14.93055556, 11.11111111, 7.29166667, 39.23611111, 43.75 , 10.41666667, 23.61111111, 16.31944444, 12.5 , 12.15277778, 17.70833333, 33.68055556, 19.79166667, 6.59722222, 17.70833333, 10.06944444, 5.90277778, 9.02777778, 21.18055556, 12.84722222, 37.15277778, 22.22222222, 12.5 , 4.51388889, 13.88888889, 20.48611111, 9.02777778, 7.63888889, 19.79166667, 16.31944444, 17.01388889, 16.31944444, 26.04166667, 40.27777778, 39.23611111, 26.38888889, 32.63888889, 41.66666667, 11.45833333, 35.41666667, 15.97222222, 30.90277778, 8.33333333, 22.56944444, 35.41666667, 15.97222222, 22.22222222, 19.79166667, 22.22222222, 17.70833333, 22.91666667, 18.40277778, 15.27777778, 0.69444444, 13.88888889, 20.83333333, 27.08333333, 21.875 , 3.125 , 7.63888889, 18.75 , 29.86111111, 20.83333333, 13.54166667, 19.44444444, 13.19444444, 10.41666667, 9.72222222, 0.34722222, 20.13888889, 3.47222222, 12.5 , 5.90277778, 13.19444444, 25. , 19.09722222, 23.26388889, 23.95833333, 2.43055556, 4.16666667, 15.27777778, 15.625 , 21.18055556, 26.04166667, 12.15277778, 14.93055556, 8.68055556, 6.94444444, 23.95833333, 3.125 , 40.625 , 27.43055556, 23.61111111, 20.83333333, 20.83333333, 5.90277778, 6.59722222, 17.36111111, 17.36111111, 7.29166667, 6.59722222, 16.31944444, 7.98611111, 20.83333333, 4.86111111, 15.97222222, 31.94444444, 12.84722222, 15.27777778, 29.51388889, 13.88888889, 11.11111111, 13.54166667, 15.625 , 16.66666667, 29.51388889, 22.91666667, 16.66666667, 19.09722222, 17.36111111, 21.52777778, 15.625 , 11.11111111, 37.15277778, 20.48611111, 30.55555556, 24.30555556, 9.02777778, 13.88888889, 1.04166667, 26.73611111, 15.625 , 27.77777778, 17.36111111, 19.44444444, 38.54166667, 17.36111111, 8.68055556, 20.13888889, 30.55555556, 23.26388889, 16.31944444, 12.84722222, 18.05555556, 18.75 , 21.18055556, 22.22222222, 11.11111111, 22.56944444, 38.88888889, 26.04166667, 39.93055556, 26.73611111, 20.48611111, 23.95833333, 17.01388889, 44.79166667, 17.36111111, 19.44444444, 21.875 , 11.45833333, 27.08333333, 4.51388889])
CGMData_auto_wholeday_hyper_average_percentages_over_all_days = \
    CGMData_auto_wholeday_hyper_percentages_per_day_array.sum() / number_of_days_in_data
CGMData_auto_wholeday_hyper_average_percentages_over_all_days.item()
16.692323481116585

Manual Mode / Whole Day / Hyperglycemia Critical

CGMData_manual_wholeday_hyper_crit_df = \
    CGMData_df[(
        (CGMData_df['Sensor Mode'] == 'Manual Mode') & \
        #(CGMData_df['Time Interval'] == 'daytime') & \
        (CGMData_df['Sensor Glucose Classification'] == 'hyperglycemia critical')
    )]
CGMData_manual_wholeday_hyper_crit_df.describe()
Loading...
CGMData_manual_wholeday_hyper_crit_df[0:50]
Loading...
CGMData_manual_wholeday_hyper_crit_df.groupby(
    'Day Number', 
    as_index=False)['Sensor Glucose (mg/dL) [Interpolated]'].count()
Loading...
CGMData_manual_wholeday_hyper_crit_df.groupby(
    'Day Number', 
    as_index=False)['Sensor Glucose (mg/dL) [Interpolated]'].count()['Sensor Glucose (mg/dL) [Interpolated]']
0 26 1 48 2 11 3 4 4 7 5 5 6 21 7 80 8 71 9 58 10 53 11 41 12 44 Name: Sensor Glucose (mg/dL) [Interpolated], dtype: int64
CGMData_manual_wholeday_hyper_crit_percentages_per_day_series = \
CGMData_manual_wholeday_hyper_crit_df.groupby(
    'Day Number', 
    as_index=False)['Sensor Glucose (mg/dL) [Interpolated]'].count()['Sensor Glucose (mg/dL) [Interpolated]'] / 288 * 100
CGMData_manual_wholeday_hyper_crit_percentages_per_day_series
0 9.027778 1 16.666667 2 3.819444 3 1.388889 4 2.430556 5 1.736111 6 7.291667 7 27.777778 8 24.652778 9 20.138889 10 18.402778 11 14.236111 12 15.277778 Name: Sensor Glucose (mg/dL) [Interpolated], dtype: float64
CGMData_manual_wholeday_hyper_crit_percentages_per_day_array = \
    CGMData_manual_wholeday_hyper_crit_percentages_per_day_series.to_numpy()
CGMData_manual_wholeday_hyper_crit_percentages_per_day_array
array([ 9.02777778, 16.66666667, 3.81944444, 1.38888889, 2.43055556, 1.73611111, 7.29166667, 27.77777778, 24.65277778, 20.13888889, 18.40277778, 14.23611111, 15.27777778])
CGMData_manual_wholeday_hyper_crit_average_percentages_over_all_days = \
    CGMData_manual_wholeday_hyper_crit_percentages_per_day_series.sum() / number_of_days_in_data
CGMData_manual_wholeday_hyper_crit_average_percentages_over_all_days.item()
0.8022030651340996

Auto Mode / Whole Day / Hyperglycemia Critical

CGMData_auto_wholeday_hyper_crit_df = \
    CGMData_df[(
        (CGMData_df['Sensor Mode'] == 'Auto Mode') & \
        #(CGMData_df['Time Interval'] == 'daytime') & \
        (CGMData_df['Sensor Glucose Classification'] == 'hyperglycemia critical')
    )]
CGMData_auto_wholeday_hyper_crit_df.describe()
Loading...
CGMData_auto_wholeday_hyper_crit_df[0:5]
Loading...
CGMData_auto_wholeday_hyper_crit_df.groupby(
    'Day Number', 
    as_index=False)['Sensor Glucose (mg/dL) [Interpolated]'].count()
Loading...
CGMData_auto_wholeday_hyper_crit_df.groupby(
    'Day Number', 
    as_index=False)['Sensor Glucose (mg/dL) [Interpolated]'].count()['Sensor Glucose (mg/dL) [Interpolated]']
0 62 1 12 2 37 3 12 4 25 5 1 6 2 7 24 8 31 9 43 10 71 11 42 12 9 13 13 14 5 15 72 16 41 17 21 18 31 19 20 20 9 21 18 22 56 23 42 24 3 25 43 26 11 27 7 28 35 29 14 30 29 31 11 32 21 33 18 34 4 35 32 36 18 37 9 38 54 39 14 40 13 41 10 42 31 43 30 44 27 45 26 46 14 47 17 48 2 49 45 50 29 51 12 52 44 53 8 54 29 55 24 56 7 57 1 58 34 59 11 60 16 61 49 62 17 63 40 64 8 65 9 66 36 67 6 68 25 69 21 70 29 71 6 72 6 73 23 74 2 75 21 76 12 77 28 78 10 79 8 80 13 81 18 82 21 83 2 84 7 85 8 86 7 87 20 88 30 89 25 90 6 91 13 92 12 93 4 94 39 95 11 96 11 97 20 98 9 99 22 100 57 101 30 102 63 103 3 104 11 105 5 106 8 107 10 108 33 109 3 110 20 111 16 112 36 113 16 114 47 115 11 116 2 117 20 118 15 119 15 120 3 121 8 122 27 123 26 124 10 125 23 126 23 127 10 128 9 129 22 130 32 131 52 132 1 133 10 Name: Sensor Glucose (mg/dL) [Interpolated], dtype: int64
CGMData_auto_wholeday_hyper_crit_percentages_per_day_series = \
CGMData_auto_wholeday_hyper_crit_df.groupby(
    'Day Number',
    as_index=False)['Sensor Glucose (mg/dL) [Interpolated]'].count()['Sensor Glucose (mg/dL) [Interpolated]'] / 288 * 100
CGMData_auto_wholeday_hyper_crit_percentages_per_day_series
0 21.527778 1 4.166667 2 12.847222 3 4.166667 4 8.680556 5 0.347222 6 0.694444 7 8.333333 8 10.763889 9 14.930556 10 24.652778 11 14.583333 12 3.125000 13 4.513889 14 1.736111 15 25.000000 16 14.236111 17 7.291667 18 10.763889 19 6.944444 20 3.125000 21 6.250000 22 19.444444 23 14.583333 24 1.041667 25 14.930556 26 3.819444 27 2.430556 28 12.152778 29 4.861111 30 10.069444 31 3.819444 32 7.291667 33 6.250000 34 1.388889 35 11.111111 36 6.250000 37 3.125000 38 18.750000 39 4.861111 40 4.513889 41 3.472222 42 10.763889 43 10.416667 44 9.375000 45 9.027778 46 4.861111 47 5.902778 48 0.694444 49 15.625000 50 10.069444 51 4.166667 52 15.277778 53 2.777778 54 10.069444 55 8.333333 56 2.430556 57 0.347222 58 11.805556 59 3.819444 60 5.555556 61 17.013889 62 5.902778 63 13.888889 64 2.777778 65 3.125000 66 12.500000 67 2.083333 68 8.680556 69 7.291667 70 10.069444 71 2.083333 72 2.083333 73 7.986111 74 0.694444 75 7.291667 76 4.166667 77 9.722222 78 3.472222 79 2.777778 80 4.513889 81 6.250000 82 7.291667 83 0.694444 84 2.430556 85 2.777778 86 2.430556 87 6.944444 88 10.416667 89 8.680556 90 2.083333 91 4.513889 92 4.166667 93 1.388889 94 13.541667 95 3.819444 96 3.819444 97 6.944444 98 3.125000 99 7.638889 100 19.791667 101 10.416667 102 21.875000 103 1.041667 104 3.819444 105 1.736111 106 2.777778 107 3.472222 108 11.458333 109 1.041667 110 6.944444 111 5.555556 112 12.500000 113 5.555556 114 16.319444 115 3.819444 116 0.694444 117 6.944444 118 5.208333 119 5.208333 120 1.041667 121 2.777778 122 9.375000 123 9.027778 124 3.472222 125 7.986111 126 7.986111 127 3.472222 128 3.125000 129 7.638889 130 11.111111 131 18.055556 132 0.347222 133 3.472222 Name: Sensor Glucose (mg/dL) [Interpolated], dtype: float64
CGMData_auto_wholeday_hyper_crit_percentages_per_day_array = \
    CGMData_auto_wholeday_hyper_crit_percentages_per_day_series.to_numpy()
CGMData_auto_wholeday_hyper_crit_percentages_per_day_array
array([21.52777778, 4.16666667, 12.84722222, 4.16666667, 8.68055556, 0.34722222, 0.69444444, 8.33333333, 10.76388889, 14.93055556, 24.65277778, 14.58333333, 3.125 , 4.51388889, 1.73611111, 25. , 14.23611111, 7.29166667, 10.76388889, 6.94444444, 3.125 , 6.25 , 19.44444444, 14.58333333, 1.04166667, 14.93055556, 3.81944444, 2.43055556, 12.15277778, 4.86111111, 10.06944444, 3.81944444, 7.29166667, 6.25 , 1.38888889, 11.11111111, 6.25 , 3.125 , 18.75 , 4.86111111, 4.51388889, 3.47222222, 10.76388889, 10.41666667, 9.375 , 9.02777778, 4.86111111, 5.90277778, 0.69444444, 15.625 , 10.06944444, 4.16666667, 15.27777778, 2.77777778, 10.06944444, 8.33333333, 2.43055556, 0.34722222, 11.80555556, 3.81944444, 5.55555556, 17.01388889, 5.90277778, 13.88888889, 2.77777778, 3.125 , 12.5 , 2.08333333, 8.68055556, 7.29166667, 10.06944444, 2.08333333, 2.08333333, 7.98611111, 0.69444444, 7.29166667, 4.16666667, 9.72222222, 3.47222222, 2.77777778, 4.51388889, 6.25 , 7.29166667, 0.69444444, 2.43055556, 2.77777778, 2.43055556, 6.94444444, 10.41666667, 8.68055556, 2.08333333, 4.51388889, 4.16666667, 1.38888889, 13.54166667, 3.81944444, 3.81944444, 6.94444444, 3.125 , 7.63888889, 19.79166667, 10.41666667, 21.875 , 1.04166667, 3.81944444, 1.73611111, 2.77777778, 3.47222222, 11.45833333, 1.04166667, 6.94444444, 5.55555556, 12.5 , 5.55555556, 16.31944444, 3.81944444, 0.69444444, 6.94444444, 5.20833333, 5.20833333, 1.04166667, 2.77777778, 9.375 , 9.02777778, 3.47222222, 7.98611111, 7.98611111, 3.47222222, 3.125 , 7.63888889, 11.11111111, 18.05555556, 0.34722222, 3.47222222])
CGMData_auto_wholeday_hyper_crit_average_percentages_over_all_days = \
    CGMData_auto_wholeday_hyper_crit_percentages_per_day_array.sum() / number_of_days_in_data
CGMData_auto_wholeday_hyper_crit_average_percentages_over_all_days.item()
4.760194307608101

Manual Mode / Whole Day / Normal

CGMData_manual_wholeday_normal_df = \
    CGMData_df[(
        (CGMData_df['Sensor Mode'] == 'Manual Mode') & \
        #(CGMData_df['Time Interval'] == 'daytime') & \
        (CGMData_df['Sensor Glucose Classification'] == 'normal')
    )]
CGMData_manual_wholeday_normal_df.describe()
Loading...
CGMData_manual_wholeday_normal_df[0:50]
Loading...
CGMData_manual_wholeday_normal_df.groupby(
    'Day Number', 
    as_index=False)['Sensor Glucose (mg/dL) [Interpolated]'].count()
Loading...
CGMData_manual_wholeday_normal_df.groupby(
    'Day Number', 
    as_index=False)['Sensor Glucose (mg/dL) [Interpolated]'].count()['Sensor Glucose (mg/dL) [Interpolated]']
0 60 1 149 2 143 3 193 4 222 5 232 6 182 7 225 8 228 9 132 10 154 11 123 12 183 13 168 14 145 15 66 Name: Sensor Glucose (mg/dL) [Interpolated], dtype: int64
CGMData_manual_wholeday_normal_percentages_per_day_series = \
CGMData_manual_wholeday_normal_df.groupby(
    'Day Number',
    as_index=False)['Sensor Glucose (mg/dL) [Interpolated]'].count()['Sensor Glucose (mg/dL) [Interpolated]'] / 288 * 100
CGMData_manual_wholeday_normal_percentages_per_day_series
0 20.833333 1 51.736111 2 49.652778 3 67.013889 4 77.083333 5 80.555556 6 63.194444 7 78.125000 8 79.166667 9 45.833333 10 53.472222 11 42.708333 12 63.541667 13 58.333333 14 50.347222 15 22.916667 Name: Sensor Glucose (mg/dL) [Interpolated], dtype: float64
CGMData_manual_wholeday_normal_percentages_per_day_array = \
    CGMData_manual_wholeday_normal_percentages_per_day_series.to_numpy()
CGMData_manual_wholeday_normal_percentages_per_day_array
array([20.83333333, 51.73611111, 49.65277778, 67.01388889, 77.08333333, 80.55555556, 63.19444444, 78.125 , 79.16666667, 45.83333333, 53.47222222, 42.70833333, 63.54166667, 58.33333333, 50.34722222, 22.91666667])
CGMData_manual_wholeday_normal_average_percentages_over_all_days = \
    CGMData_manual_wholeday_normal_percentages_per_day_array.sum() / number_of_days_in_data
CGMData_manual_wholeday_normal_average_percentages_over_all_days.item()
4.4557334428024085

Auto Mode / Whole Day / Normal

CGMData_auto_wholeday_normal_df = \
    CGMData_df[(
        (CGMData_df['Sensor Mode'] == 'Auto Mode') & \
        #(CGMData_df['Time Interval'] == 'daytime') & \
        (CGMData_df['Sensor Glucose Classification'] == 'normal')
    )]
CGMData_auto_wholeday_normal_df.describe()
Loading...
CGMData_auto_wholeday_normal_df[0:5]
Loading...
CGMData_auto_wholeday_normal_df.groupby(
    'Day Number',
    as_index=False)['Sensor Glucose (mg/dL) [Interpolated]'].count()
Loading...
CGMData_auto_wholeday_normal_df.groupby(
    'Day Number',
    as_index=False)['Sensor Glucose (mg/dL) [Interpolated]'].count()['Sensor Glucose (mg/dL) [Interpolated]']
0 80 1 184 2 199 3 212 4 228 5 185 6 220 7 231 8 262 9 149 10 154 11 177 12 148 13 188 14 216 15 138 16 240 17 184 18 226 19 137 20 125 21 246 22 185 23 219 24 232 25 156 26 154 27 178 28 188 29 269 30 226 31 226 32 263 33 248 34 219 35 206 36 181 37 207 38 223 39 261 40 236 41 201 42 254 43 250 44 213 45 225 46 177 47 223 48 196 49 105 50 153 51 189 52 168 53 126 54 223 55 156 56 216 57 193 58 239 59 222 60 141 61 179 62 209 63 186 64 191 65 218 66 178 67 224 68 204 69 279 70 209 71 185 72 201 73 193 74 223 75 245 76 195 77 160 78 204 79 224 80 183 81 175 82 245 83 206 84 246 85 206 86 248 87 187 88 284 89 195 90 190 91 191 92 172 93 206 94 272 95 261 96 215 97 179 98 223 99 209 100 246 101 224 102 263 103 256 104 200 105 250 106 133 107 209 108 202 109 228 110 220 111 247 112 254 113 254 114 238 115 229 116 241 117 262 118 223 119 244 120 194 121 206 122 229 123 186 124 224 125 229 126 189 127 203 128 208 129 249 130 213 131 226 132 188 133 191 134 233 135 229 136 183 137 190 138 226 139 219 140 164 141 200 142 117 143 184 144 199 145 161 146 3 147 197 148 208 149 148 150 184 151 215 152 142 153 192 154 230 155 214 156 164 157 188 158 161 159 222 160 222 161 175 162 193 163 184 164 244 165 215 166 146 167 187 168 157 169 172 170 198 171 219 172 222 173 130 174 191 175 193 176 157 177 224 178 182 179 123 Name: Sensor Glucose (mg/dL) [Interpolated], dtype: int64
CGMData_auto_wholeday_normal_percentages_per_day_series = \
CGMData_auto_wholeday_normal_df.groupby(
    'Day Number',
    as_index=False)['Sensor Glucose (mg/dL) [Interpolated]'].count()['Sensor Glucose (mg/dL) [Interpolated]'] / 288 * 100
CGMData_auto_wholeday_normal_percentages_per_day_series
0 27.777778 1 63.888889 2 69.097222 3 73.611111 4 79.166667 5 64.236111 6 76.388889 7 80.208333 8 90.972222 9 51.736111 10 53.472222 11 61.458333 12 51.388889 13 65.277778 14 75.000000 15 47.916667 16 83.333333 17 63.888889 18 78.472222 19 47.569444 20 43.402778 21 85.416667 22 64.236111 23 76.041667 24 80.555556 25 54.166667 26 53.472222 27 61.805556 28 65.277778 29 93.402778 30 78.472222 31 78.472222 32 91.319444 33 86.111111 34 76.041667 35 71.527778 36 62.847222 37 71.875000 38 77.430556 39 90.625000 40 81.944444 41 69.791667 42 88.194444 43 86.805556 44 73.958333 45 78.125000 46 61.458333 47 77.430556 48 68.055556 49 36.458333 50 53.125000 51 65.625000 52 58.333333 53 43.750000 54 77.430556 55 54.166667 56 75.000000 57 67.013889 58 82.986111 59 77.083333 60 48.958333 61 62.152778 62 72.569444 63 64.583333 64 66.319444 65 75.694444 66 61.805556 67 77.777778 68 70.833333 69 96.875000 70 72.569444 71 64.236111 72 69.791667 73 67.013889 74 77.430556 75 85.069444 76 67.708333 77 55.555556 78 70.833333 79 77.777778 80 63.541667 81 60.763889 82 85.069444 83 71.527778 84 85.416667 85 71.527778 86 86.111111 87 64.930556 88 98.611111 89 67.708333 90 65.972222 91 66.319444 92 59.722222 93 71.527778 94 94.444444 95 90.625000 96 74.652778 97 62.152778 98 77.430556 99 72.569444 100 85.416667 101 77.777778 102 91.319444 103 88.888889 104 69.444444 105 86.805556 106 46.180556 107 72.569444 108 70.138889 109 79.166667 110 76.388889 111 85.763889 112 88.194444 113 88.194444 114 82.638889 115 79.513889 116 83.680556 117 90.972222 118 77.430556 119 84.722222 120 67.361111 121 71.527778 122 79.513889 123 64.583333 124 77.777778 125 79.513889 126 65.625000 127 70.486111 128 72.222222 129 86.458333 130 73.958333 131 78.472222 132 65.277778 133 66.319444 134 80.902778 135 79.513889 136 63.541667 137 65.972222 138 78.472222 139 76.041667 140 56.944444 141 69.444444 142 40.625000 143 63.888889 144 69.097222 145 55.902778 146 1.041667 147 68.402778 148 72.222222 149 51.388889 150 63.888889 151 74.652778 152 49.305556 153 66.666667 154 79.861111 155 74.305556 156 56.944444 157 65.277778 158 55.902778 159 77.083333 160 77.083333 161 60.763889 162 67.013889 163 63.888889 164 84.722222 165 74.652778 166 50.694444 167 64.930556 168 54.513889 169 59.722222 170 68.750000 171 76.041667 172 77.083333 173 45.138889 174 66.319444 175 67.013889 176 54.513889 177 77.777778 178 63.194444 179 42.708333 Name: Sensor Glucose (mg/dL) [Interpolated], dtype: float64
CGMData_auto_wholeday_normal_percentages_per_day_array = \
    CGMData_auto_wholeday_normal_percentages_per_day_series.to_numpy()
CGMData_auto_wholeday_normal_percentages_per_day_array
array([27.77777778, 63.88888889, 69.09722222, 73.61111111, 79.16666667, 64.23611111, 76.38888889, 80.20833333, 90.97222222, 51.73611111, 53.47222222, 61.45833333, 51.38888889, 65.27777778, 75. , 47.91666667, 83.33333333, 63.88888889, 78.47222222, 47.56944444, 43.40277778, 85.41666667, 64.23611111, 76.04166667, 80.55555556, 54.16666667, 53.47222222, 61.80555556, 65.27777778, 93.40277778, 78.47222222, 78.47222222, 91.31944444, 86.11111111, 76.04166667, 71.52777778, 62.84722222, 71.875 , 77.43055556, 90.625 , 81.94444444, 69.79166667, 88.19444444, 86.80555556, 73.95833333, 78.125 , 61.45833333, 77.43055556, 68.05555556, 36.45833333, 53.125 , 65.625 , 58.33333333, 43.75 , 77.43055556, 54.16666667, 75. , 67.01388889, 82.98611111, 77.08333333, 48.95833333, 62.15277778, 72.56944444, 64.58333333, 66.31944444, 75.69444444, 61.80555556, 77.77777778, 70.83333333, 96.875 , 72.56944444, 64.23611111, 69.79166667, 67.01388889, 77.43055556, 85.06944444, 67.70833333, 55.55555556, 70.83333333, 77.77777778, 63.54166667, 60.76388889, 85.06944444, 71.52777778, 85.41666667, 71.52777778, 86.11111111, 64.93055556, 98.61111111, 67.70833333, 65.97222222, 66.31944444, 59.72222222, 71.52777778, 94.44444444, 90.625 , 74.65277778, 62.15277778, 77.43055556, 72.56944444, 85.41666667, 77.77777778, 91.31944444, 88.88888889, 69.44444444, 86.80555556, 46.18055556, 72.56944444, 70.13888889, 79.16666667, 76.38888889, 85.76388889, 88.19444444, 88.19444444, 82.63888889, 79.51388889, 83.68055556, 90.97222222, 77.43055556, 84.72222222, 67.36111111, 71.52777778, 79.51388889, 64.58333333, 77.77777778, 79.51388889, 65.625 , 70.48611111, 72.22222222, 86.45833333, 73.95833333, 78.47222222, 65.27777778, 66.31944444, 80.90277778, 79.51388889, 63.54166667, 65.97222222, 78.47222222, 76.04166667, 56.94444444, 69.44444444, 40.625 , 63.88888889, 69.09722222, 55.90277778, 1.04166667, 68.40277778, 72.22222222, 51.38888889, 63.88888889, 74.65277778, 49.30555556, 66.66666667, 79.86111111, 74.30555556, 56.94444444, 65.27777778, 55.90277778, 77.08333333, 77.08333333, 60.76388889, 67.01388889, 63.88888889, 84.72222222, 74.65277778, 50.69444444, 64.93055556, 54.51388889, 59.72222222, 68.75 , 76.04166667, 77.08333333, 45.13888889, 66.31944444, 67.01388889, 54.51388889, 77.77777778, 63.19444444, 42.70833333])
CGMData_auto_wholeday_normal_average_percentages_over_all_days = \
    CGMData_auto_wholeday_normal_percentages_per_day_array.sum() / number_of_days_in_data
CGMData_auto_wholeday_normal_average_percentages_over_all_days.item()
62.15961959496442

Manual Mode / Whole Day / Secondary

CGMData_manual_wholeday_secondary_df = \
    CGMData_df[(
        (CGMData_df['Sensor Mode'] == 'Manual Mode') & \
        #(CGMData_df['Time Interval'] == 'daytime') & \
        (CGMData_df['Sensor Glucose Classification (Secondary)'] == 'secondary')
    )]
CGMData_manual_wholeday_secondary_df.describe()
Loading...
CGMData_manual_wholeday_secondary_df[0:50]
Loading...
CGMData_manual_wholeday_secondary_df.groupby(
    'Day Number', 
    as_index=False)['Sensor Glucose (mg/dL) [Interpolated]'].count()
Loading...
CGMData_manual_wholeday_secondary_df.groupby(
    'Day Number', 
    as_index=False)['Sensor Glucose (mg/dL) [Interpolated]'].count()['Sensor Glucose (mg/dL) [Interpolated]']
0 41 1 128 2 70 3 179 4 166 5 191 6 161 7 136 8 184 9 100 10 126 11 90 12 162 13 127 14 94 15 50 Name: Sensor Glucose (mg/dL) [Interpolated], dtype: int64
CGMData_manual_wholeday_secondary_percentages_per_day_series = \
CGMData_manual_wholeday_secondary_df.groupby(
    'Day Number', 
    as_index=False)['Sensor Glucose (mg/dL) [Interpolated]'].count()['Sensor Glucose (mg/dL) [Interpolated]'] / 288 * 100
CGMData_manual_wholeday_secondary_percentages_per_day_series
0 14.236111 1 44.444444 2 24.305556 3 62.152778 4 57.638889 5 66.319444 6 55.902778 7 47.222222 8 63.888889 9 34.722222 10 43.750000 11 31.250000 12 56.250000 13 44.097222 14 32.638889 15 17.361111 Name: Sensor Glucose (mg/dL) [Interpolated], dtype: float64
CGMData_manual_wholeday_secondary_percentages_per_day_array = \
    CGMData_manual_wholeday_secondary_percentages_per_day_series.to_numpy()
CGMData_manual_wholeday_secondary_percentages_per_day_array
array([14.23611111, 44.44444444, 24.30555556, 62.15277778, 57.63888889, 66.31944444, 55.90277778, 47.22222222, 63.88888889, 34.72222222, 43.75 , 31.25 , 56.25 , 44.09722222, 32.63888889, 17.36111111])
CGMData_manual_wholeday_secondary_average_percentages_over_all_days = \
    CGMData_manual_wholeday_secondary_percentages_per_day_array.sum() / number_of_days_in_data
CGMData_manual_wholeday_secondary_average_percentages_over_all_days.item()
3.429460864805692

Auto Mode / Whole Day / Secondary

CGMData_auto_wholeday_secondary_df = \
    CGMData_df[(
        (CGMData_df['Sensor Mode'] == 'Auto Mode') & \
        #(CGMData_df['Time Interval'] == 'daytime') & \
        (CGMData_df['Sensor Glucose Classification (Secondary)'] == 'secondary')
    )]
CGMData_auto_wholeday_secondary_df.describe()
Loading...
CGMData_auto_wholeday_secondary_df[0:50]
Loading...
CGMData_auto_wholeday_secondary_df.groupby(
    'Day Number', 
    as_index=False)['Sensor Glucose (mg/dL) [Interpolated]'].count()
Loading...
CGMData_auto_wholeday_secondary_df.groupby(
    'Day Number', 
    as_index=False)['Sensor Glucose (mg/dL) [Interpolated]'].count()['Sensor Glucose (mg/dL) [Interpolated]']
0 60 1 136 2 140 3 187 4 180 5 136 6 182 7 217 8 216 9 65 10 99 11 141 12 57 13 152 14 167 15 100 16 218 17 178 18 198 19 91 20 80 21 165 22 155 23 167 24 222 25 129 26 143 27 146 28 144 29 218 30 193 31 184 32 180 33 191 34 178 35 164 36 112 37 149 38 208 39 205 40 187 41 122 42 192 43 213 44 129 45 194 46 149 47 179 48 166 49 60 50 122 51 114 52 124 53 85 54 158 55 131 56 183 57 123 58 211 59 208 60 110 61 153 62 155 63 120 64 136 65 179 66 140 67 180 68 181 69 269 70 167 71 115 72 161 73 143 74 217 75 160 76 149 77 121 78 157 79 180 80 163 81 146 82 172 83 162 84 233 85 166 86 220 87 175 88 244 89 164 90 140 91 162 92 147 93 155 94 253 95 206 96 165 97 172 98 189 99 132 100 210 101 191 102 225 103 195 104 150 105 226 106 94 107 131 108 178 109 165 110 149 111 184 112 222 113 226 114 173 115 171 116 176 117 204 118 198 119 211 120 129 121 190 122 203 123 162 124 168 125 192 126 118 127 159 128 164 129 184 130 186 131 166 132 170 133 175 134 132 135 166 136 145 137 130 138 163 139 191 140 109 141 166 142 90 143 142 144 153 145 120 146 138 147 144 148 98 149 174 150 178 151 116 152 149 153 156 154 169 155 103 156 127 157 149 158 185 159 136 160 141 161 161 162 159 163 208 164 151 165 93 166 143 167 121 168 106 169 141 170 178 171 166 172 73 173 153 174 156 175 108 176 167 177 131 178 90 Name: Sensor Glucose (mg/dL) [Interpolated], dtype: int64
CGMData_auto_wholeday_secondary_percentages_per_day_series = \
CGMData_auto_wholeday_secondary_df.groupby(
    'Day Number', 
    as_index=False)['Sensor Glucose (mg/dL) [Interpolated]'].count()['Sensor Glucose (mg/dL) [Interpolated]'] / 288 * 100
CGMData_auto_wholeday_secondary_percentages_per_day_series
0 20.833333 1 47.222222 2 48.611111 3 64.930556 4 62.500000 5 47.222222 6 63.194444 7 75.347222 8 75.000000 9 22.569444 10 34.375000 11 48.958333 12 19.791667 13 52.777778 14 57.986111 15 34.722222 16 75.694444 17 61.805556 18 68.750000 19 31.597222 20 27.777778 21 57.291667 22 53.819444 23 57.986111 24 77.083333 25 44.791667 26 49.652778 27 50.694444 28 50.000000 29 75.694444 30 67.013889 31 63.888889 32 62.500000 33 66.319444 34 61.805556 35 56.944444 36 38.888889 37 51.736111 38 72.222222 39 71.180556 40 64.930556 41 42.361111 42 66.666667 43 73.958333 44 44.791667 45 67.361111 46 51.736111 47 62.152778 48 57.638889 49 20.833333 50 42.361111 51 39.583333 52 43.055556 53 29.513889 54 54.861111 55 45.486111 56 63.541667 57 42.708333 58 73.263889 59 72.222222 60 38.194444 61 53.125000 62 53.819444 63 41.666667 64 47.222222 65 62.152778 66 48.611111 67 62.500000 68 62.847222 69 93.402778 70 57.986111 71 39.930556 72 55.902778 73 49.652778 74 75.347222 75 55.555556 76 51.736111 77 42.013889 78 54.513889 79 62.500000 80 56.597222 81 50.694444 82 59.722222 83 56.250000 84 80.902778 85 57.638889 86 76.388889 87 60.763889 88 84.722222 89 56.944444 90 48.611111 91 56.250000 92 51.041667 93 53.819444 94 87.847222 95 71.527778 96 57.291667 97 59.722222 98 65.625000 99 45.833333 100 72.916667 101 66.319444 102 78.125000 103 67.708333 104 52.083333 105 78.472222 106 32.638889 107 45.486111 108 61.805556 109 57.291667 110 51.736111 111 63.888889 112 77.083333 113 78.472222 114 60.069444 115 59.375000 116 61.111111 117 70.833333 118 68.750000 119 73.263889 120 44.791667 121 65.972222 122 70.486111 123 56.250000 124 58.333333 125 66.666667 126 40.972222 127 55.208333 128 56.944444 129 63.888889 130 64.583333 131 57.638889 132 59.027778 133 60.763889 134 45.833333 135 57.638889 136 50.347222 137 45.138889 138 56.597222 139 66.319444 140 37.847222 141 57.638889 142 31.250000 143 49.305556 144 53.125000 145 41.666667 146 47.916667 147 50.000000 148 34.027778 149 60.416667 150 61.805556 151 40.277778 152 51.736111 153 54.166667 154 58.680556 155 35.763889 156 44.097222 157 51.736111 158 64.236111 159 47.222222 160 48.958333 161 55.902778 162 55.208333 163 72.222222 164 52.430556 165 32.291667 166 49.652778 167 42.013889 168 36.805556 169 48.958333 170 61.805556 171 57.638889 172 25.347222 173 53.125000 174 54.166667 175 37.500000 176 57.986111 177 45.486111 178 31.250000 Name: Sensor Glucose (mg/dL) [Interpolated], dtype: float64
CGMData_auto_wholeday_secondary_percentages_per_day_array = \
    CGMData_auto_wholeday_secondary_percentages_per_day_series.to_numpy()
CGMData_auto_wholeday_secondary_percentages_per_day_array
array([20.83333333, 47.22222222, 48.61111111, 64.93055556, 62.5 , 47.22222222, 63.19444444, 75.34722222, 75. , 22.56944444, 34.375 , 48.95833333, 19.79166667, 52.77777778, 57.98611111, 34.72222222, 75.69444444, 61.80555556, 68.75 , 31.59722222, 27.77777778, 57.29166667, 53.81944444, 57.98611111, 77.08333333, 44.79166667, 49.65277778, 50.69444444, 50. , 75.69444444, 67.01388889, 63.88888889, 62.5 , 66.31944444, 61.80555556, 56.94444444, 38.88888889, 51.73611111, 72.22222222, 71.18055556, 64.93055556, 42.36111111, 66.66666667, 73.95833333, 44.79166667, 67.36111111, 51.73611111, 62.15277778, 57.63888889, 20.83333333, 42.36111111, 39.58333333, 43.05555556, 29.51388889, 54.86111111, 45.48611111, 63.54166667, 42.70833333, 73.26388889, 72.22222222, 38.19444444, 53.125 , 53.81944444, 41.66666667, 47.22222222, 62.15277778, 48.61111111, 62.5 , 62.84722222, 93.40277778, 57.98611111, 39.93055556, 55.90277778, 49.65277778, 75.34722222, 55.55555556, 51.73611111, 42.01388889, 54.51388889, 62.5 , 56.59722222, 50.69444444, 59.72222222, 56.25 , 80.90277778, 57.63888889, 76.38888889, 60.76388889, 84.72222222, 56.94444444, 48.61111111, 56.25 , 51.04166667, 53.81944444, 87.84722222, 71.52777778, 57.29166667, 59.72222222, 65.625 , 45.83333333, 72.91666667, 66.31944444, 78.125 , 67.70833333, 52.08333333, 78.47222222, 32.63888889, 45.48611111, 61.80555556, 57.29166667, 51.73611111, 63.88888889, 77.08333333, 78.47222222, 60.06944444, 59.375 , 61.11111111, 70.83333333, 68.75 , 73.26388889, 44.79166667, 65.97222222, 70.48611111, 56.25 , 58.33333333, 66.66666667, 40.97222222, 55.20833333, 56.94444444, 63.88888889, 64.58333333, 57.63888889, 59.02777778, 60.76388889, 45.83333333, 57.63888889, 50.34722222, 45.13888889, 56.59722222, 66.31944444, 37.84722222, 57.63888889, 31.25 , 49.30555556, 53.125 , 41.66666667, 47.91666667, 50. , 34.02777778, 60.41666667, 61.80555556, 40.27777778, 51.73611111, 54.16666667, 58.68055556, 35.76388889, 44.09722222, 51.73611111, 64.23611111, 47.22222222, 48.95833333, 55.90277778, 55.20833333, 72.22222222, 52.43055556, 32.29166667, 49.65277778, 42.01388889, 36.80555556, 48.95833333, 61.80555556, 57.63888889, 25.34722222, 53.125 , 54.16666667, 37.5 , 57.98611111, 45.48611111, 31.25 ])
CGMData_auto_wholeday_secondary_average_percentages_over_all_days = \
    CGMData_auto_wholeday_secondary_percentages_per_day_array.sum() / number_of_days_in_data
CGMData_auto_wholeday_secondary_average_percentages_over_all_days.item()
48.71715927750411

Manual Mode / Whole Day / Hypoglycemia Level 1

CGMData_manual_wholeday_hypo_1_df = \
    CGMData_df[(
        (CGMData_df['Sensor Mode'] == 'Manual Mode') & \
        #(CGMData_df['Time Interval'] == 'daytime') & \
        (CGMData_df['Sensor Glucose Classification'] == 'hypoglycemia level 1')
    )]
CGMData_manual_wholeday_hypo_1_df.describe()
Loading...
CGMData_manual_wholeday_hypo_1_df[0:50]
Loading...
CGMData_manual_wholeday_hypo_1_df.groupby(
    'Day Number', 
    as_index=False)['Sensor Glucose (mg/dL) [Interpolated]'].count()
Loading...
CGMData_manual_wholeday_hypo_1_df.groupby(
    'Day Number', 
    as_index=False)['Sensor Glucose (mg/dL) [Interpolated]'].count()['Sensor Glucose (mg/dL) [Interpolated]']
0 32 1 13 2 6 3 24 4 9 5 16 6 11 7 9 8 9 9 16 10 16 Name: Sensor Glucose (mg/dL) [Interpolated], dtype: int64
CGMData_manual_wholeday_hypo_1_percentages_per_day_series = \
CGMData_manual_wholeday_hypo_1_df.groupby(
    'Day Number', 
    as_index=False)['Sensor Glucose (mg/dL) [Interpolated]'].count()['Sensor Glucose (mg/dL) [Interpolated]'] / 288 * 100
CGMData_manual_wholeday_hypo_1_percentages_per_day_series
0 11.111111 1 4.513889 2 2.083333 3 8.333333 4 3.125000 5 5.555556 6 3.819444 7 3.125000 8 3.125000 9 5.555556 10 5.555556 Name: Sensor Glucose (mg/dL) [Interpolated], dtype: float64
CGMData_manual_wholeday_hypo_1_percentages_per_day_array = \
    CGMData_manual_wholeday_hypo_1_percentages_per_day_series.to_numpy()
CGMData_manual_wholeday_hypo_1_percentages_per_day_array
array([11.11111111, 4.51388889, 2.08333333, 8.33333333, 3.125 , 5.55555556, 3.81944444, 3.125 , 3.125 , 5.55555556, 5.55555556])
CGMData_manual_wholeday_hypo_1_average_percentages_over_all_days = \
    CGMData_manual_wholeday_hypo_1_percentages_per_day_array.sum() / number_of_days_in_data
CGMData_manual_wholeday_hypo_1_average_percentages_over_all_days.item()
0.2753831417624521

Auto Mode / Whole Day / Hypoglycemia Level 1

CGMData_auto_wholeday_hypo_1_df = \
    CGMData_df[(
        (CGMData_df['Sensor Mode'] == 'Auto Mode') & \
        #(CGMData_df['Time Interval'] == 'daytime') & \
        (CGMData_df['Sensor Glucose Classification'] == 'hypoglycemia level 1')
    )]
CGMData_auto_wholeday_hypo_1_df.describe()
Loading...
CGMData_auto_wholeday_hypo_1_df[0:5]
Loading...
CGMData_auto_wholeday_hypo_1_df.groupby(
    'Day Number',
    as_index=False)['Sensor Glucose (mg/dL) [Interpolated]'].count()
Loading...
CGMData_auto_wholeday_hypo_1_df.groupby(
    'Day Number',
    as_index=False)['Sensor Glucose (mg/dL) [Interpolated]'].count()['Sensor Glucose (mg/dL) [Interpolated]']
0 17 1 10 2 4 3 2 4 9 5 7 6 14 7 3 8 10 9 12 10 10 11 7 12 2 13 38 14 37 15 3 16 17 17 8 18 7 19 10 20 3 21 3 22 5 23 7 24 14 25 12 26 23 27 2 28 5 29 3 30 8 31 7 32 2 33 3 34 5 35 11 36 1 37 12 38 54 39 12 40 4 41 7 42 10 43 21 44 5 45 10 46 2 47 21 48 44 49 17 50 34 51 12 52 9 53 13 54 6 55 8 56 39 57 8 58 11 59 9 60 13 61 1 62 12 63 10 64 7 65 7 66 5 67 2 68 25 69 3 70 2 71 4 72 5 73 5 74 14 75 5 76 8 77 3 78 8 79 19 80 2 81 14 82 7 83 14 84 34 85 6 86 10 87 14 88 13 89 6 90 11 91 5 92 5 93 7 94 2 95 18 96 16 97 17 98 6 99 17 100 2 101 3 102 17 103 4 104 20 105 9 106 18 107 29 108 9 109 5 110 23 111 43 112 13 113 11 114 5 115 13 116 2 117 15 118 6 119 11 120 3 121 6 122 16 123 8 124 5 125 6 126 12 127 6 128 11 129 30 130 27 131 6 Name: Sensor Glucose (mg/dL) [Interpolated], dtype: int64
CGMData_auto_wholeday_hypo_1_percentages_per_day_series = \
CGMData_auto_wholeday_hypo_1_df.groupby(
    'Day Number', 
    as_index=False)['Sensor Glucose (mg/dL) [Interpolated]'].count()['Sensor Glucose (mg/dL) [Interpolated]'] / 288 * 100
CGMData_auto_wholeday_hypo_1_percentages_per_day_series
0 5.902778 1 3.472222 2 1.388889 3 0.694444 4 3.125000 5 2.430556 6 4.861111 7 1.041667 8 3.472222 9 4.166667 10 3.472222 11 2.430556 12 0.694444 13 13.194444 14 12.847222 15 1.041667 16 5.902778 17 2.777778 18 2.430556 19 3.472222 20 1.041667 21 1.041667 22 1.736111 23 2.430556 24 4.861111 25 4.166667 26 7.986111 27 0.694444 28 1.736111 29 1.041667 30 2.777778 31 2.430556 32 0.694444 33 1.041667 34 1.736111 35 3.819444 36 0.347222 37 4.166667 38 18.750000 39 4.166667 40 1.388889 41 2.430556 42 3.472222 43 7.291667 44 1.736111 45 3.472222 46 0.694444 47 7.291667 48 15.277778 49 5.902778 50 11.805556 51 4.166667 52 3.125000 53 4.513889 54 2.083333 55 2.777778 56 13.541667 57 2.777778 58 3.819444 59 3.125000 60 4.513889 61 0.347222 62 4.166667 63 3.472222 64 2.430556 65 2.430556 66 1.736111 67 0.694444 68 8.680556 69 1.041667 70 0.694444 71 1.388889 72 1.736111 73 1.736111 74 4.861111 75 1.736111 76 2.777778 77 1.041667 78 2.777778 79 6.597222 80 0.694444 81 4.861111 82 2.430556 83 4.861111 84 11.805556 85 2.083333 86 3.472222 87 4.861111 88 4.513889 89 2.083333 90 3.819444 91 1.736111 92 1.736111 93 2.430556 94 0.694444 95 6.250000 96 5.555556 97 5.902778 98 2.083333 99 5.902778 100 0.694444 101 1.041667 102 5.902778 103 1.388889 104 6.944444 105 3.125000 106 6.250000 107 10.069444 108 3.125000 109 1.736111 110 7.986111 111 14.930556 112 4.513889 113 3.819444 114 1.736111 115 4.513889 116 0.694444 117 5.208333 118 2.083333 119 3.819444 120 1.041667 121 2.083333 122 5.555556 123 2.777778 124 1.736111 125 2.083333 126 4.166667 127 2.083333 128 3.819444 129 10.416667 130 9.375000 131 2.083333 Name: Sensor Glucose (mg/dL) [Interpolated], dtype: float64
CGMData_auto_wholeday_hypo_1_percentages_per_day_array = \
    CGMData_auto_wholeday_hypo_1_percentages_per_day_series.to_numpy()
CGMData_auto_wholeday_hypo_1_percentages_per_day_array
array([ 5.90277778, 3.47222222, 1.38888889, 0.69444444, 3.125 , 2.43055556, 4.86111111, 1.04166667, 3.47222222, 4.16666667, 3.47222222, 2.43055556, 0.69444444, 13.19444444, 12.84722222, 1.04166667, 5.90277778, 2.77777778, 2.43055556, 3.47222222, 1.04166667, 1.04166667, 1.73611111, 2.43055556, 4.86111111, 4.16666667, 7.98611111, 0.69444444, 1.73611111, 1.04166667, 2.77777778, 2.43055556, 0.69444444, 1.04166667, 1.73611111, 3.81944444, 0.34722222, 4.16666667, 18.75 , 4.16666667, 1.38888889, 2.43055556, 3.47222222, 7.29166667, 1.73611111, 3.47222222, 0.69444444, 7.29166667, 15.27777778, 5.90277778, 11.80555556, 4.16666667, 3.125 , 4.51388889, 2.08333333, 2.77777778, 13.54166667, 2.77777778, 3.81944444, 3.125 , 4.51388889, 0.34722222, 4.16666667, 3.47222222, 2.43055556, 2.43055556, 1.73611111, 0.69444444, 8.68055556, 1.04166667, 0.69444444, 1.38888889, 1.73611111, 1.73611111, 4.86111111, 1.73611111, 2.77777778, 1.04166667, 2.77777778, 6.59722222, 0.69444444, 4.86111111, 2.43055556, 4.86111111, 11.80555556, 2.08333333, 3.47222222, 4.86111111, 4.51388889, 2.08333333, 3.81944444, 1.73611111, 1.73611111, 2.43055556, 0.69444444, 6.25 , 5.55555556, 5.90277778, 2.08333333, 5.90277778, 0.69444444, 1.04166667, 5.90277778, 1.38888889, 6.94444444, 3.125 , 6.25 , 10.06944444, 3.125 , 1.73611111, 7.98611111, 14.93055556, 4.51388889, 3.81944444, 1.73611111, 4.51388889, 0.69444444, 5.20833333, 2.08333333, 3.81944444, 1.04166667, 2.08333333, 5.55555556, 2.77777778, 1.73611111, 2.08333333, 4.16666667, 2.08333333, 3.81944444, 10.41666667, 9.375 , 2.08333333])
CGMData_auto_wholeday_hypo_1_average_percentages_over_all_days = \
    CGMData_auto_wholeday_hypo_1_percentages_per_day_array.sum() / number_of_days_in_data
CGMData_auto_wholeday_hypo_1_average_percentages_over_all_days.item()
2.540024630541872

Manual Mode / Whole Day / Hypoglycemia Level 2

CGMData_manual_wholeday_hypo_2_df = \
    CGMData_df[(
        (CGMData_df['Sensor Mode'] == 'Manual Mode') & \
        #(CGMData_df['Time Interval'] == 'daytime') & \
        (CGMData_df['Sensor Glucose Classification'] == 'hypoglycemia level 2')
    )]
CGMData_manual_wholeday_hypo_2_df.describe()
Loading...
CGMData_manual_wholeday_hypo_2_df[0:50]
Loading...
CGMData_manual_wholeday_hypo_2_df.groupby(
    'Day Number',
    as_index=False)['Sensor Glucose (mg/dL) [Interpolated]'].count()
Loading...
CGMData_manual_wholeday_hypo_2_df.groupby(
    'Day Number',
    as_index=False)['Sensor Glucose (mg/dL) [Interpolated]'].count()['Sensor Glucose (mg/dL) [Interpolated]']
0 13 1 19 2 9 3 14 4 8 5 2 6 7 7 12 8 4 Name: Sensor Glucose (mg/dL) [Interpolated], dtype: int64
CGMData_manual_wholeday_hypo_2_percentages_per_day_series = \
CGMData_manual_wholeday_hypo_2_df.groupby(
    'Day Number',
    as_index=False)['Sensor Glucose (mg/dL) [Interpolated]'].count()['Sensor Glucose (mg/dL) [Interpolated]'] / 288 * 100
CGMData_manual_wholeday_hypo_2_percentages_per_day_series
0 4.513889 1 6.597222 2 3.125000 3 4.861111 4 2.777778 5 0.694444 6 2.430556 7 4.166667 8 1.388889 Name: Sensor Glucose (mg/dL) [Interpolated], dtype: float64
CGMData_manual_wholeday_hypo_2_percentages_per_day_array = \
    CGMData_manual_wholeday_hypo_2_percentages_per_day_series.to_numpy()
CGMData_manual_wholeday_hypo_2_percentages_per_day_array
array([4.51388889, 6.59722222, 3.125 , 4.86111111, 2.77777778, 0.69444444, 2.43055556, 4.16666667, 1.38888889])
CGMData_manual_wholeday_hypo_2_average_percentages_over_all_days = \
    CGMData_manual_wholeday_hypo_2_percentages_per_day_array.sum() / number_of_days_in_data
CGMData_manual_wholeday_hypo_2_average_percentages_over_all_days.item()
0.150519978106185

Auto Mode / Whole Day / Hypoglycemia Level 2

CGMData_auto_wholeday_hypo_2_df = \
    CGMData_df[(
        (CGMData_df['Sensor Mode'] == 'Auto Mode') & \
        #(CGMData_df['Time Interval'] == 'daytime') & \
        (CGMData_df['Sensor Glucose Classification'] == 'hypoglycemia level 2')
    )]
CGMData_auto_wholeday_hypo_2_df.describe()
Loading...
CGMData_auto_wholeday_hypo_2_df[0:5]
Loading...
CGMData_auto_wholeday_hypo_2_df.groupby(
    'Day Number', 
    as_index=False)['Sensor Glucose (mg/dL) [Interpolated]'].count()
Loading...
CGMData_auto_wholeday_hypo_2_df.groupby(
    'Day Number',
    as_index=False)['Sensor Glucose (mg/dL) [Interpolated]'].count()['Sensor Glucose (mg/dL) [Interpolated]']
0 2 1 3 2 8 3 12 4 10 5 4 6 12 7 7 8 5 9 6 10 3 11 4 12 1 13 16 14 7 15 1 16 2 17 7 18 11 19 3 20 7 21 8 22 1 23 1 24 8 25 6 26 3 27 11 28 5 29 9 30 7 31 4 32 12 33 3 34 4 35 1 36 45 37 7 38 6 39 1 40 10 41 20 42 28 43 9 44 10 45 2 46 10 47 12 48 16 49 2 50 1 51 2 52 14 53 5 54 8 55 12 56 7 57 12 58 11 59 27 60 4 61 5 62 2 63 14 64 8 65 1 66 1 67 8 68 4 69 9 70 3 71 9 72 21 73 12 74 12 75 5 76 6 77 3 78 5 79 9 80 24 81 13 82 14 83 2 84 6 85 13 86 1 87 5 88 9 Name: Sensor Glucose (mg/dL) [Interpolated], dtype: int64
CGMData_auto_wholeday_hypo_2_percentages_per_day_series = \
CGMData_auto_wholeday_hypo_2_df.groupby(
    'Day Number', 
    as_index=False)['Sensor Glucose (mg/dL) [Interpolated]'].count()['Sensor Glucose (mg/dL) [Interpolated]'] / 288 * 100
CGMData_auto_wholeday_hypo_2_percentages_per_day_series
0 0.694444 1 1.041667 2 2.777778 3 4.166667 4 3.472222 5 1.388889 6 4.166667 7 2.430556 8 1.736111 9 2.083333 10 1.041667 11 1.388889 12 0.347222 13 5.555556 14 2.430556 15 0.347222 16 0.694444 17 2.430556 18 3.819444 19 1.041667 20 2.430556 21 2.777778 22 0.347222 23 0.347222 24 2.777778 25 2.083333 26 1.041667 27 3.819444 28 1.736111 29 3.125000 30 2.430556 31 1.388889 32 4.166667 33 1.041667 34 1.388889 35 0.347222 36 15.625000 37 2.430556 38 2.083333 39 0.347222 40 3.472222 41 6.944444 42 9.722222 43 3.125000 44 3.472222 45 0.694444 46 3.472222 47 4.166667 48 5.555556 49 0.694444 50 0.347222 51 0.694444 52 4.861111 53 1.736111 54 2.777778 55 4.166667 56 2.430556 57 4.166667 58 3.819444 59 9.375000 60 1.388889 61 1.736111 62 0.694444 63 4.861111 64 2.777778 65 0.347222 66 0.347222 67 2.777778 68 1.388889 69 3.125000 70 1.041667 71 3.125000 72 7.291667 73 4.166667 74 4.166667 75 1.736111 76 2.083333 77 1.041667 78 1.736111 79 3.125000 80 8.333333 81 4.513889 82 4.861111 83 0.694444 84 2.083333 85 4.513889 86 0.347222 87 1.736111 88 3.125000 Name: Sensor Glucose (mg/dL) [Interpolated], dtype: float64
CGMData_auto_wholeday_hypo_2_percentages_per_day_array = \
    CGMData_auto_wholeday_hypo_2_percentages_per_day_series.to_numpy()
CGMData_auto_wholeday_hypo_2_percentages_per_day_array
array([ 0.69444444, 1.04166667, 2.77777778, 4.16666667, 3.47222222, 1.38888889, 4.16666667, 2.43055556, 1.73611111, 2.08333333, 1.04166667, 1.38888889, 0.34722222, 5.55555556, 2.43055556, 0.34722222, 0.69444444, 2.43055556, 3.81944444, 1.04166667, 2.43055556, 2.77777778, 0.34722222, 0.34722222, 2.77777778, 2.08333333, 1.04166667, 3.81944444, 1.73611111, 3.125 , 2.43055556, 1.38888889, 4.16666667, 1.04166667, 1.38888889, 0.34722222, 15.625 , 2.43055556, 2.08333333, 0.34722222, 3.47222222, 6.94444444, 9.72222222, 3.125 , 3.47222222, 0.69444444, 3.47222222, 4.16666667, 5.55555556, 0.69444444, 0.34722222, 0.69444444, 4.86111111, 1.73611111, 2.77777778, 4.16666667, 2.43055556, 4.16666667, 3.81944444, 9.375 , 1.38888889, 1.73611111, 0.69444444, 4.86111111, 2.77777778, 0.34722222, 0.34722222, 2.77777778, 1.38888889, 3.125 , 1.04166667, 3.125 , 7.29166667, 4.16666667, 4.16666667, 1.73611111, 2.08333333, 1.04166667, 1.73611111, 3.125 , 8.33333333, 4.51388889, 4.86111111, 0.69444444, 2.08333333, 4.51388889, 0.34722222, 1.73611111, 3.125 ])
CGMData_auto_wholeday_hypo_2_average_percentages_over_all_days = \
    CGMData_auto_wholeday_hypo_2_percentages_per_day_array.sum() / number_of_days_in_data
CGMData_auto_wholeday_hypo_2_average_percentages_over_all_days.item()
1.2298166392993979

Create Output Matrix

Compile Results into Lists

manual_mode_data_list = \
[
    CGMData_manual_overnight_hyper_average_percentages_over_all_days,
    CGMData_manual_overnight_hyper_crit_average_percentages_over_all_days,
    CGMData_manual_overnight_normal_average_percentages_over_all_days,
    CGMData_manual_overnight_secondary_average_percentages_over_all_days,
    CGMData_manual_overnight_hypo_1_average_percentages_over_all_days,
    CGMData_manual_overnight_hypo_2_average_percentages_over_all_days,
    CGMData_manual_daytime_hyper_average_percentages_over_all_days,
    CGMData_manual_daytime_hyper_crit_average_percentages_over_all_days,
    CGMData_manual_daytime_normal_average_percentages_over_all_days,
    CGMData_manual_daytime_secondary_average_percentages_over_all_days,
    CGMData_manual_daytime_hypo_1_average_percentages_over_all_days,
    CGMData_manual_daytime_hypo_2_average_percentages_over_all_days,
    CGMData_manual_wholeday_hyper_average_percentages_over_all_days,
    CGMData_manual_wholeday_hyper_crit_average_percentages_over_all_days,
    CGMData_manual_wholeday_normal_average_percentages_over_all_days,
    CGMData_manual_wholeday_secondary_average_percentages_over_all_days,
    CGMData_manual_wholeday_hypo_1_average_percentages_over_all_days,
    CGMData_manual_wholeday_hypo_2_average_percentages_over_all_days
]
manual_mode_data_list
[np.float64(0.28393541324575805), np.float64(0.0769704433497537), np.float64(1.4367816091954027), np.float64(1.0690339354132457), np.float64(0.04960317460317461), np.float64(0.0), np.float64(1.3119184455391353), np.float64(0.725232621784346), np.float64(3.0189518336070056), np.float64(2.3604269293924465), np.float64(0.2257799671592775), np.float64(0.150519978106185), np.float64(1.5958538587848932), np.float64(0.8022030651340996), np.float64(4.4557334428024085), np.float64(3.429460864805692), np.float64(0.2753831417624521), np.float64(0.150519978106185)]
auto_mode_data_list = \
[
    CGMData_auto_overnight_hyper_average_percentages_over_all_days,
    CGMData_auto_overnight_hyper_crit_average_percentages_over_all_days,
    CGMData_auto_overnight_normal_average_percentages_over_all_days,
    CGMData_auto_overnight_secondary_average_percentages_over_all_days,
    CGMData_auto_overnight_hypo_1_average_percentages_over_all_days,
    CGMData_auto_overnight_hypo_2_average_percentages_over_all_days,
    CGMData_auto_daytime_hyper_average_percentages_over_all_days,
    CGMData_auto_daytime_hyper_crit_average_percentages_over_all_days,
    CGMData_auto_daytime_normal_average_percentages_over_all_days,
    CGMData_auto_daytime_secondary_average_percentages_over_all_days,
    CGMData_auto_daytime_hypo_1_average_percentages_over_all_days,
    CGMData_auto_daytime_hypo_2_average_percentages_over_all_days,
    CGMData_auto_wholeday_hyper_average_percentages_over_all_days,
    CGMData_auto_wholeday_hyper_crit_average_percentages_over_all_days,
    CGMData_auto_wholeday_normal_average_percentages_over_all_days,
    CGMData_auto_wholeday_secondary_average_percentages_over_all_days,
    CGMData_auto_wholeday_hypo_1_average_percentages_over_all_days,
    CGMData_auto_wholeday_hypo_2_average_percentages_over_all_days
]
auto_mode_data_list
[np.float64(2.1756978653530377), np.float64(0.4053776683087028), np.float64(18.756841817186643), np.float64(16.379310344827587), np.float64(0.4019567597153804), np.float64(0.19157088122605362), np.float64(14.516625615763544), np.float64(4.354816639299398), np.float64(43.402777777777786), np.float64(32.337848932676515), np.float64(2.1380678708264913), np.float64(1.0382457580733442), np.float64(16.692323481116585), np.float64(4.760194307608101), np.float64(62.15961959496442), np.float64(48.71715927750411), np.float64(2.540024630541872), np.float64(1.2298166392993979)]

Zip the Lists Together

zipped_lists = list(zip(manual_mode_data_list, auto_mode_data_list))
transposed_lists = list(zip(*zipped_lists))

Create Output Dataframe

column_names = \
[
    'Overnight Hyperglycemia [% of time]',
    'Overnight Hyperglycemia Critical [% of time]',
    'Overnight Normal [% of time]',
    'Overnight Secondary [% of time]',
    'Overnight Hypoglycemia Level 1 [% of time]',
    'Overnight Hypoglycemia Level 2 [% of time]',
    'Daytime Hyperglycemia [% of time]',
    'Daytime Hyperglycemia Critical [% of time]',
    'Daytime Normal [% of time]',
    'Daytime Secondary [% of time]',
    'Daytime Hypoglycemia Level 1 [% of time]',
    'Daytime Hypoglycemia Level 2 [% of time]',
    'Whole Day Hyperglycemia [% of time]',
    'Whole Day Hyperglycemia Critical [% of time]',
    'Whole Day Normal [% of time]',
    'Whole Day Secondary [% of time]',
    'Whole Day Hypoglycemia Level 1 [% of time]',
    'Whole Day Hypoglycemia Level 2 [% of time]'
]
column_names_overnight = \
[
    'Overnight Hyperglycemia [% of time]',
    'Overnight Hyperglycemia Critical [% of time]',
    'Overnight Normal [% of time]',
    'Overnight Secondary [% of time]',
    'Overnight Hypoglycemia Level 1 [% of time]',
    'Overnight Hypoglycemia Level 2 [% of time]'
]
column_names_daytime = \
[
    'Daytime Hyperglycemia [% of time]',
    'Daytime Hyperglycemia Critical [% of time]',
    'Daytime Normal [% of time]',
    'Daytime Secondary [% of time]',
    'Daytime Hypoglycemia Level 1 [% of time]',
    'Daytime Hypoglycemia Level 2 [% of time]'
]
column_names_whole_day = \
[
    'Whole Day Hyperglycemia [% of time]',
    'Whole Day Hyperglycemia Critical [% of time]',
    'Whole Day Normal [% of time]',
    'Whole Day Secondary [% of time]',
    'Whole Day Hypoglycemia Level 1 [% of time]',
    'Whole Day Hypoglycemia Level 2 [% of time]'
]
row_names = ['Manual Mode', 'Auto Mode']
output_df = pd.DataFrame(
    transposed_lists,
    columns=column_names,
    index=row_names
)
output_df
Loading...
output_df[column_names_overnight]
Loading...
output_df[column_names_daytime]
Loading...
output_df[column_names_whole_day]
Loading...
output_df.columns
Index(['Overnight Hyperglycemia [% of time]', 'Overnight Hyperglycemia Critical [% of time]', 'Overnight Normal [% of time]', 'Overnight Secondary [% of time]', 'Overnight Hypoglycemia Level 1 [% of time]', 'Overnight Hypoglycemia Level 2 [% of time]', 'Daytime Hyperglycemia [% of time]', 'Daytime Hyperglycemia Critical [% of time]', 'Daytime Normal [% of time]', 'Daytime Secondary [% of time]', 'Daytime Hypoglycemia Level 1 [% of time]', 'Daytime Hypoglycemia Level 2 [% of time]', 'Whole Day Hyperglycemia [% of time]', 'Whole Day Hyperglycemia Critical [% of time]', 'Whole Day Normal [% of time]', 'Whole Day Secondary [% of time]', 'Whole Day Hypoglycemia Level 1 [% of time]', 'Whole Day Hypoglycemia Level 2 [% of time]'], dtype='object')
output_df.columns.shape
(18,)

Save Output into File

output_df.to_csv('Result.csv', header=False, index=False)