From 004478a883b3e1f6b14607122ec99c1aa890e9ad Mon Sep 17 00:00:00 2001 From: Yari Anrango Date: Tue, 6 Jun 2023 12:00:15 +0200 Subject: [PATCH 01/12] remove unnecessary code from repo --- PythonCode/Chapter2/CreateDataset.py | 125 ---- PythonCode/Chapter2/__init__.py | 0 PythonCode/Chapter3/DataTransformation.py | 70 -- .../Chapter3/ImputationMissingValues.py | 28 - PythonCode/Chapter3/KalmanFilters.py | 36 - PythonCode/Chapter3/OutlierDetection.py | 165 ----- PythonCode/Chapter3/__init__.py | 0 PythonCode/Chapter4/FrequencyAbstraction.py | 55 -- PythonCode/Chapter4/TemporalAbstraction.py | 194 ------ PythonCode/Chapter4/TextAbstraction.py | 197 ------ PythonCode/Chapter4/__init__.py | 0 PythonCode/Chapter5/Clustering.py | 329 ---------- PythonCode/Chapter5/DistanceMetrics.py | 188 ------ PythonCode/Chapter5/__init__.py | 0 PythonCode/Chapter7/Evaluation.py | 70 -- PythonCode/Chapter7/FeatureSelection.py | 193 ------ PythonCode/Chapter7/LearningAlgorithms.py | 454 ------------- .../Chapter7/PrepareDatasetForLearning.py | 194 ------ PythonCode/Chapter7/__init__.py | 0 .../Chapter8/LearningAlgorithmsTemporal.py | 613 ------------------ PythonCode/Chapter8/__init__.py | 0 PythonCode/Chapter8/dynsys/Evaluator.py | 142 ---- PythonCode/Chapter8/dynsys/Model.py | 134 ---- PythonCode/Chapter8/dynsys/__init__.py | 0 PythonCode/Python2_conda_requirements.txt | 10 - PythonCode/Python2_pip_requirements.txt | 6 - PythonCode/__init__.py | 0 PythonCode/ch3_visualization.py | 163 ----- PythonCode/ch4_visualization.py | 62 -- PythonCode/ch5_visualization.py | 343 ---------- PythonCode/ch6_visualization.py | 94 --- PythonCode/ch7_visualization.py | 210 ------ PythonCode/ch8_visualization.py | 399 ------------ PythonCode/crowdsignals_ch2.py | 96 --- PythonCode/crowdsignals_ch3_outliers.py | 81 --- PythonCode/crowdsignals_ch3_rest.py | 108 --- PythonCode/crowdsignals_ch4.py | 85 --- PythonCode/crowdsignals_ch5.py | 127 ---- PythonCode/crowdsignals_ch7_classification.py | 241 ------- PythonCode/crowdsignals_ch7_regression.py | 188 ------ PythonCode/crowdsignals_ch8_regression.py | 183 ------ PythonCode/util/VisualizeDataset.py | 365 ----------- PythonCode/util/__init__.py | 0 PythonCode/util/util.py | 104 --- RCode/Chapter2/createDataset.R | 59 -- RCode/Chapter2/visiualizeData.R | 58 -- .../Chapter3/distanceBasedOutlierDetection.R | 34 - .../distributionBasedOutlierDetection.R | 49 -- RCode/Chapter3/imputationMissingValues.R | 34 - RCode/Chapter3/kalmanFilter.R | 26 - RCode/Chapter3/lowPassFilter.R | 18 - RCode/Chapter3/principalComponent.R | 23 - RCode/Chapter4/frequencyAbstraction.R | 55 -- RCode/Chapter4/temporalAbstraction.R | 130 ---- RCode/Chapter4/textAbstraction.R | 10 - RCode/RCode.Rproj | 13 - RCode/Support/.Rhistory | 0 RCode/Support/labBook.R | 93 --- RCode/Support/util.R | 52 -- RCode/chapter7/prepareDatasetForLearning.R | 63 -- RCode/crowdsignals_ch2.R | 79 --- RCode/crowdsignals_ch3_outliers.R | 86 --- RCode/crowdsignals_ch3_rest.R | 96 --- RCode/crowdsignals_ch4.R | 80 --- RCode/crowdsignals_ch5.R | 99 --- RCode/crowdsignals_ch7_classification.R | 103 --- 66 files changed, 7312 deletions(-) delete mode 100644 PythonCode/Chapter2/CreateDataset.py delete mode 100644 PythonCode/Chapter2/__init__.py delete mode 100644 PythonCode/Chapter3/DataTransformation.py delete mode 100644 PythonCode/Chapter3/ImputationMissingValues.py delete mode 100644 PythonCode/Chapter3/KalmanFilters.py delete mode 100644 PythonCode/Chapter3/OutlierDetection.py delete mode 100644 PythonCode/Chapter3/__init__.py delete mode 100644 PythonCode/Chapter4/FrequencyAbstraction.py delete mode 100644 PythonCode/Chapter4/TemporalAbstraction.py delete mode 100644 PythonCode/Chapter4/TextAbstraction.py delete mode 100644 PythonCode/Chapter4/__init__.py delete mode 100644 PythonCode/Chapter5/Clustering.py delete mode 100644 PythonCode/Chapter5/DistanceMetrics.py delete mode 100644 PythonCode/Chapter5/__init__.py delete mode 100644 PythonCode/Chapter7/Evaluation.py delete mode 100644 PythonCode/Chapter7/FeatureSelection.py delete mode 100644 PythonCode/Chapter7/LearningAlgorithms.py delete mode 100644 PythonCode/Chapter7/PrepareDatasetForLearning.py delete mode 100644 PythonCode/Chapter7/__init__.py delete mode 100644 PythonCode/Chapter8/LearningAlgorithmsTemporal.py delete mode 100644 PythonCode/Chapter8/__init__.py delete mode 100644 PythonCode/Chapter8/dynsys/Evaluator.py delete mode 100644 PythonCode/Chapter8/dynsys/Model.py delete mode 100644 PythonCode/Chapter8/dynsys/__init__.py delete mode 100644 PythonCode/Python2_conda_requirements.txt delete mode 100644 PythonCode/Python2_pip_requirements.txt delete mode 100644 PythonCode/__init__.py delete mode 100644 PythonCode/ch3_visualization.py delete mode 100644 PythonCode/ch4_visualization.py delete mode 100644 PythonCode/ch5_visualization.py delete mode 100644 PythonCode/ch6_visualization.py delete mode 100644 PythonCode/ch7_visualization.py delete mode 100644 PythonCode/ch8_visualization.py delete mode 100644 PythonCode/crowdsignals_ch2.py delete mode 100644 PythonCode/crowdsignals_ch3_outliers.py delete mode 100644 PythonCode/crowdsignals_ch3_rest.py delete mode 100644 PythonCode/crowdsignals_ch4.py delete mode 100644 PythonCode/crowdsignals_ch5.py delete mode 100644 PythonCode/crowdsignals_ch7_classification.py delete mode 100644 PythonCode/crowdsignals_ch7_regression.py delete mode 100644 PythonCode/crowdsignals_ch8_regression.py delete mode 100644 PythonCode/util/VisualizeDataset.py delete mode 100644 PythonCode/util/__init__.py delete mode 100644 PythonCode/util/util.py delete mode 100644 RCode/Chapter2/createDataset.R delete mode 100644 RCode/Chapter2/visiualizeData.R delete mode 100644 RCode/Chapter3/distanceBasedOutlierDetection.R delete mode 100644 RCode/Chapter3/distributionBasedOutlierDetection.R delete mode 100644 RCode/Chapter3/imputationMissingValues.R delete mode 100644 RCode/Chapter3/kalmanFilter.R delete mode 100644 RCode/Chapter3/lowPassFilter.R delete mode 100644 RCode/Chapter3/principalComponent.R delete mode 100644 RCode/Chapter4/frequencyAbstraction.R delete mode 100644 RCode/Chapter4/temporalAbstraction.R delete mode 100644 RCode/Chapter4/textAbstraction.R delete mode 100644 RCode/RCode.Rproj delete mode 100644 RCode/Support/.Rhistory delete mode 100644 RCode/Support/labBook.R delete mode 100644 RCode/Support/util.R delete mode 100644 RCode/chapter7/prepareDatasetForLearning.R delete mode 100644 RCode/crowdsignals_ch2.R delete mode 100644 RCode/crowdsignals_ch3_outliers.R delete mode 100644 RCode/crowdsignals_ch3_rest.R delete mode 100644 RCode/crowdsignals_ch4.R delete mode 100644 RCode/crowdsignals_ch5.R delete mode 100644 RCode/crowdsignals_ch7_classification.R diff --git a/PythonCode/Chapter2/CreateDataset.py b/PythonCode/Chapter2/CreateDataset.py deleted file mode 100644 index 32302c5b..00000000 --- a/PythonCode/Chapter2/CreateDataset.py +++ /dev/null @@ -1,125 +0,0 @@ -############################################################## -# # -# Mark Hoogendoorn and Burkhardt Funk (2017) # -# Machine Learning for the Quantified Self # -# Springer # -# Chapter 2 # -# # -############################################################## - -import pandas as pd -import numpy as np -import re -import copy -from datetime import datetime, timedelta -import matplotlib.pyplot as plot -import matplotlib.dates as md - - -class CreateDataset(): - - base_dir = '' - granulairity = 0 - data_table = None - - def __init__(self, base_dir, granularity): - self.base_dir = base_dir - self.granularity = granularity - - # Create an initial data table with entries from start till end time, with steps - # of size granularity. Granularity is specified in milliseconds - def create_timestamps(self, start_time, end_time): - return pd.date_range(start_time, end_time, freq=str(self.granularity)+'ms') - - def create_dataset(self, start_time, end_time, cols, prefix): - c = copy.deepcopy(cols) - if not prefix == '': - for i in range(0, len(c)): - c[i] = str(prefix) + str(c[i]) - timestamps = self.create_timestamps(start_time, end_time) - self.data_table = pd.DataFrame(index=timestamps, columns=c) - - # Add numerical data, we assume timestamps in the form of nanoseconds from the epoch - def add_numerical_dataset(self, file, timestamp_col, value_cols, aggregation='avg', prefix=''): - dataset = pd.read_csv(self.base_dir + file, skipinitialspace=True) - - # Convert timestamps to dates - dataset[timestamp_col] = pd.to_datetime(dataset[timestamp_col]) - - # Create a table based on the times found in the dataset - if self.data_table is None: - self.create_dataset(min(dataset[timestamp_col]), max(dataset[timestamp_col]), value_cols, prefix) - else: - for col in value_cols: - self.data_table[str(prefix) + str(col)] = np.nan - - # Over all rows in the new table - for i in range(0, len(self.data_table.index)): - # Select the relevant measurements. - relevant_rows = dataset[ - (dataset[timestamp_col] >= self.data_table.index[i]) & - (dataset[timestamp_col] < (self.data_table.index[i] + - timedelta(milliseconds=self.granularity))) - ] - for col in value_cols: - # Take the average value - if len(relevant_rows) > 0: - if aggregation == 'avg': - self.data_table.loc[self.data_table.index[i], str(prefix)+str(col)] = np.average(relevant_rows[col]) - else: - raise ValueError("Unknown aggregation '" + aggregation + "'") - else: - self.data_table.loc[self.data_table.index[i], str(prefix)+str(col)] = np.nan - - # Remove undesired value from the names. - def clean_name(self, name): - return re.sub('[^0-9a-zA-Z]+', '', name) - - # Add data in which we have rows that indicate the occurrence of a certain event with a given start and end time. - # 'aggregation' can be 'sum' or 'binary'. - def add_event_dataset(self, file, start_timestamp_col, end_timestamp_col, value_col, aggregation='sum'): - dataset = pd.read_csv(self.base_dir + file) - - # Convert timestamps to datetime. - dataset[start_timestamp_col] = pd.to_datetime(dataset[start_timestamp_col]) - dataset[end_timestamp_col] = pd.to_datetime(dataset[end_timestamp_col]) - - # Clean the event values in the dataset - dataset[value_col] = dataset[value_col].apply(self.clean_name) - event_values = dataset[value_col].unique() - - # Add columns for all possible values (or create a new dataset if empty), set the default to 0 occurrences - if self.data_table is None: - self.create_dataset(min(dataset[start_timestamp_col]), max(dataset[end_timestamp_col]), event_values, value_col) - for col in event_values: - self.data_table[(str(value_col) + str(col))] = 0 - - # Now we need to start counting by passing along the rows.... - for i in range(0, len(dataset.index)): - # identify the time points of the row in our dataset and the value - start = dataset[start_timestamp_col][i] - end = dataset[end_timestamp_col][i] - value = dataset[value_col][i] - border = (start - timedelta(milliseconds=self.granularity)) - - # get the right rows from our data table - relevant_rows = self.data_table[(start <= (self.data_table.index +timedelta(milliseconds=self.granularity))) & (end > self.data_table.index)] - - # and add 1 to the rows if we take the sum - if aggregation == 'sum': - self.data_table.loc[relevant_rows.index, str(value_col) + str(value)] += 1 - # or set to 1 if we just want to know it happened - elif aggregation == 'binary': - self.data_table.loc[relevant_rows.index, str(value_col) + str(value)] = 1 - else: - raise ValueError("Unknown aggregation '" + aggregation + "'") - - # This function returns the column names that have one of the strings expressed by 'ids' in the column name. - def get_relevant_columns(self, ids): - relevant_dataset_cols = [] - cols = list(self.data_table.columns) - - for id in ids: - relevant_dataset_cols.extend([col for col in cols if id in col]) - - return relevant_dataset_cols diff --git a/PythonCode/Chapter2/__init__.py b/PythonCode/Chapter2/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/PythonCode/Chapter3/DataTransformation.py b/PythonCode/Chapter3/DataTransformation.py deleted file mode 100644 index c8902bd8..00000000 --- a/PythonCode/Chapter3/DataTransformation.py +++ /dev/null @@ -1,70 +0,0 @@ -############################################################## -# # -# Mark Hoogendoorn and Burkhardt Funk (2017) # -# Machine Learning for the Quantified Self # -# Springer # -# Chapter 3 # -# # -############################################################## - -import numpy as np -import matplotlib.pyplot as plot -from sklearn.decomposition import PCA -import math -import copy -import util.util as util -from scipy.signal import butter, lfilter, filtfilt - -# This class removes the high frequency data (that might be considered noise) from the data. -class LowPassFilter: - - def low_pass_filter(self, data_table, col, sampling_frequency, cutoff_frequency, order=5, phase_shift=True): - # http://stackoverflow.com/questions/12093594/how-to-implement-band-pass-butterworth-filter-with-scipy-signal-butter - # Cutoff frequencies are expressed as the fraction of the Nyquist frequency, which is half the sampling frequency - nyq = 0.5 * sampling_frequency - cut = cutoff_frequency / nyq - b, a = butter(order, cut, btype='low', analog=False) - if phase_shift: - data_table[col + '_lowpass'] = filtfilt(b, a, data_table[col]) - else: - data_table[col + '_lowpass'] = lfilter(b, a, data_table[col]) - return data_table - -# Class for Principal Component Analysis. We can only apply this when we do not have missing values (i.e. NaN). -# For this we have to impute these first, be aware of this. -class PrincipalComponentAnalysis: - - pca = [] - - def __init__(self): - self.pca = [] - - # Perform the PCA on the selected columns and return the explained variance. - def determine_pc_explained_variance(self, data_table, cols): - # Normalize the data first. - dt_norm = util.normalize_dataset(data_table, cols) - - # perform the PCA. - self.pca = PCA(n_components = len(cols)) - self.pca.fit(dt_norm[cols]) - # And return the explained variances. - return self.pca.explained_variance_ratio_ - - # Apply a PCA given the number of components we have selected. - # We add new pca columns. - def apply_pca(self, data_table, cols, number_comp): - # Normalize the data first. - dt_norm = util.normalize_dataset(data_table, cols) - - # perform the PCA. - self.pca = PCA(n_components = number_comp) - self.pca.fit(dt_norm[cols]) - - # Transform our old values. - new_values = self.pca.transform(dt_norm[cols]) - - #And add the new ones: - for comp in range(0, number_comp): - data_table['pca_' +str(comp+1)] = new_values[:,comp] - - return data_table diff --git a/PythonCode/Chapter3/ImputationMissingValues.py b/PythonCode/Chapter3/ImputationMissingValues.py deleted file mode 100644 index 6e6ab095..00000000 --- a/PythonCode/Chapter3/ImputationMissingValues.py +++ /dev/null @@ -1,28 +0,0 @@ -############################################################## -# # -# Mark Hoogendoorn and Burkhardt Funk (2017) # -# Machine Learning for the Quantified Self # -# Springer # -# Chapter 3 # -# # -############################################################## - -# Simple class to impute missing values of a single columns. -class ImputationMissingValues: - - # Impute the mean values in case if missing data. - def impute_mean(self, dataset, col): - dataset[col] = dataset[col].fillna(dataset[col].mean()) - return dataset - - # Impute the median values in case if missing data. - def impute_median(self, dataset, col): - dataset[col] = dataset[col].fillna(dataset[col].median()) - return dataset - - # Interpolate the dataset based on previous/next values.. - def impute_interpolate(self, dataset, col): - dataset[col] = dataset[col].interpolate() - # And fill the initial data points if needed: - dataset[col] = dataset[col].fillna(method='bfill') - return dataset \ No newline at end of file diff --git a/PythonCode/Chapter3/KalmanFilters.py b/PythonCode/Chapter3/KalmanFilters.py deleted file mode 100644 index 74f6257d..00000000 --- a/PythonCode/Chapter3/KalmanFilters.py +++ /dev/null @@ -1,36 +0,0 @@ -############################################################## -# # -# Mark Hoogendoorn and Burkhardt Funk (2017) # -# Machine Learning for the Quantified Self # -# Springer # -# Chapter 3 # -# # -############################################################## - -import numpy as np -from pykalman import KalmanFilter - -# Implements the Kalman filter for single columns. -class KalmanFilters: - - # Very simple Kalman filter: fill missing values and remove outliers for single attribute. - # We assume a very simple transition matrix, namely simply a [[1]]. It - # is however still useful as it is able to dampen outliers and impute missing values. The new - # values are appended in a new column. - def apply_kalman_filter(self, data_table, col): - - # Initialize the Kalman filter with the trivial transition and observation matrices. - kf = KalmanFilter(transition_matrices = [[1]], observation_matrices = [[1]]) - - numpy_array_state = data_table.as_matrix(columns=[col]) - numpy_array_state = numpy_array_state.astype(np.float32) - numpy_matrix_state_with_mask = np.ma.masked_invalid(numpy_array_state) - - # Find the best other parameters based on the data (e.g. Q) - kf = kf.em(numpy_matrix_state_with_mask, n_iter=5) - - # And apply the filter. - (new_data, filtered_state_covariances) = kf.filter(numpy_matrix_state_with_mask) - - data_table[col + '_kalman'] = new_data - return data_table diff --git a/PythonCode/Chapter3/OutlierDetection.py b/PythonCode/Chapter3/OutlierDetection.py deleted file mode 100644 index 77ad49ab..00000000 --- a/PythonCode/Chapter3/OutlierDetection.py +++ /dev/null @@ -1,165 +0,0 @@ -############################################################## -# # -# Mark Hoogendoorn and Burkhardt Funk (2017) # -# Machine Learning for the Quantified Self # -# Springer # -# Chapter 3 # -# # -############################################################## - -import scipy -import math -from sklearn import mixture -import numpy as np -import pandas as pd -import util.util as util -import copy - -# Class for outlier detection algorithms based on some distribution of the data. They -# all consider only single points per row (i.e. one column). -class DistributionBasedOutlierDetection: - - # Finds outliers in the specified column of datatable and adds a binary column with - # the same name extended with '_outlier' that expresses the result per data point. - def chauvenet(self, data_table, col): - # Taken partly from: https://www.astro.rug.nl/software/kapteyn/ - - # Computer the mean and standard deviation. - mean = data_table[col].mean() - std = data_table[col].std() - N = len(data_table.index) - criterion = 1.0/(2*N) - - # Consider the deviation for the data points. - deviation = abs(data_table[col] - mean)/std - - # Express the upper and lower bounds. - low = -deviation/math.sqrt(2) - high = deviation/math.sqrt(2) - prob = [] - mask = [] - - # Pass all rows in the dataset. - for i in range(0, len(data_table.index)): - # Determine the probability of observing the point - prob.append(1.0 - 0.5 * (scipy.special.erf(high[i]) - scipy.special.erf(low[i]))) - # And mark as an outlier when the probability is below our criterion. - mask.append(prob[i] < criterion) - data_table[col + '_outlier'] = mask - return data_table - - # Fits a mixture model towards the data expressed in col and adds a column with the probability - # of observing the value given the mixture model. - def mixture_model(self, data_table, col): - # Fit a mixture model to our data. - data = data_table[data_table[col].notnull()][col] - g = mixture.GMM(n_components=3, n_iter=1) - - g.fit(data.reshape(-1,1)) - - # Predict the probabilities - probs = g.score(data.reshape(-1,1)) - - # Create the right data frame and concatenate the two. - data_probs = pd.DataFrame(np.power(10, probs), index=data.index, columns=[col+'_mixture']) - data_table = pd.concat([data_table, data_probs], axis=1) - - return data_table - -# Class for distance based outlier detection. -class DistanceBasedOutlierDetection: - - - # Create distance table between rows in the data table. Here, only cols are considered and the specified - # distance function is used to compute the distance. - def distance_table(self, data_table, cols, d_function): - return pd.DataFrame(scipy.spatial.distance.squareform(util.distance(data_table.ix[:, cols], d_function)), columns=data_table.index, index=data_table.index) - - # The most simple distance based algorithm. We assume a distance function, e.g. 'euclidean' - # and a minimum distance of neighboring points and frequency of occurrence. - def simple_distance_based(self, data_table, cols, d_function, dmin, fmin): - # Normalize the dataset first. - new_data_table = util.normalize_dataset(data_table.dropna(axis=0, subset=cols), cols) - # Create the distance table first between all instances: - distances = self.distance_table(new_data_table, cols, d_function) - - mask = [] - # Pass the rows in our table. - for i in range(0, len(new_data_table.index)): - # Check what faction of neighbors are beyond dmin. - frac = (float(sum([1 for col_val in distances.ix[i,:].tolist() if col_val > dmin]))/len(new_data_table.index)) - # Mark as an outlier if beyond the minimum frequency. - mask.append(frac > fmin) - data_mask = pd.DataFrame(mask, index=new_data_table.index, columns=['simple_dist_outlier']) - data_table = pd.concat([data_table, data_mask], axis=1) - return data_table - - # Computes the local outlier factor. K is the number of neighboring points considered, d_function - # the distance function again (e.g. 'euclidean'). - def local_outlier_factor(self, data_table, cols, d_function, k): - # Inspired on https://github.com/damjankuznar/pylof/blob/master/lof.py - # but tailored towards the distance metrics and data structures used here. - - # Normalize the dataset first. - new_data_table = util.normalize_dataset(data_table.dropna(axis=0, subset=cols), cols) - # Create the distance table first between all instances: - self.distances = self.distance_table(new_data_table, cols, d_function) - - outlier_factor = [] - # Compute the outlier score per row. - for i in range(0, len(new_data_table.index)): - print i - outlier_factor.append(self.local_outlier_factor_instance(i, k)) - data_outlier_probs = pd.DataFrame(outlier_factor, index=new_data_table.index, columns=['lof']) - data_table = pd.concat([data_table, data_outlier_probs], axis=1) - return data_table - - # The distance between a row i1 and i2. - def reachability_distance(self, k, i1, i2): - # Compute the k-distance of i2. - k_distance_value, neighbors = self.k_distance(i2, k) - # The value is the max of the k-distance of i2 and the real distance. - return max([k_distance_value, self.distances.ix[i1,i2]]) - - # Compute the local reachability density for a row i, given a k-distance and set of neighbors. - def local_reachability_density(self, i, k, k_distance_i, neighbors_i): - # Set distances to neighbors to 0. - reachability_distances_array = [0]*len(neighbors_i) - - # Compute the reachability distance between i and all neighbors. - for i, neighbor in enumerate(neighbors_i): - reachability_distances_array[i] = self.reachability_distance(k, i, neighbor) - if not any(reachability_distances_array): - return float("inf") - else: - # Return the number of neighbors divided by the sum of the reachability distances. - return len(neighbors_i) / sum(reachability_distances_array) - - # Compute the k-distance of a row i, namely the maximum distance within the k nearest neighbors - # and return a tuple containing this value and the neighbors within this distance. - def k_distance(self, i, k): - # Simply look up the values in the distance table, select the min_pts^th lowest value and take the value pairs - # Take min_pts + 1 as we also have the instance itself in there. - neighbors = np.argpartition(np.array(self.distances.ix[i,:]), k+1)[0:(k+1)].tolist() - if i in neighbors: - neighbors.remove(i) - return max(self.distances.ix[i,neighbors]), neighbors - - # Compute the local outlier score of our row i given a setting for k. - def local_outlier_factor_instance(self, i, k): - # Compute the k-distance for i. - k_distance_value, neighbors = self.k_distance(i, k) - # Computer the local reachability given the found k-distance and neighbors. - instance_lrd = self.local_reachability_density(i, k, k_distance_value, neighbors) - lrd_ratios_array = [0]* len(neighbors) - - # Computer the k-distances and local reachability density of the neighbors - for i, neighbor in enumerate(neighbors): - k_distance_value_neighbor, neighbors_neighbor = self.k_distance(neighbor, k) - neighbor_lrd = self.local_reachability_density(neighbor, k, k_distance_value_neighbor, neighbors_neighbor) - # Store the ratio between the neighbor and the row i. - lrd_ratios_array[i] = neighbor_lrd / instance_lrd - - # Return the average ratio. - return sum(lrd_ratios_array) / len(neighbors) - diff --git a/PythonCode/Chapter3/__init__.py b/PythonCode/Chapter3/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/PythonCode/Chapter4/FrequencyAbstraction.py b/PythonCode/Chapter4/FrequencyAbstraction.py deleted file mode 100644 index d86ad66f..00000000 --- a/PythonCode/Chapter4/FrequencyAbstraction.py +++ /dev/null @@ -1,55 +0,0 @@ -############################################################## -# # -# Mark Hoogendoorn and Burkhardt Funk (2017) # -# Machine Learning for the Quantified Self # -# Springer # -# Chapter 4 # -# # -############################################################## - -import numpy as np - - -# This class performs a Fourier transformation on the data to find frequencies that occur -# often and filter noise. -class FourierTransformation: - - # Find the amplitudes of the different frequencies using a fast fourier transformation. Here, - # the sampling rate expresses - # the number of samples per second (i.e. Frequency is Hertz of the dataset). - def find_fft_transformation(self, data, sampling_rate): - # Create the transformation, this includes the amplitudes of both the real - # and imaginary part. - transformation = np.fft.rfft(data, len(data)) - return transformation.real, transformation.imag - - # Get frequencies over a certain window. - def abstract_frequency(self, data_table, cols, window_size, sampling_rate): - - # Create new columns for the frequency data. - freqs = np.fft.rfftfreq(int(window_size)) *sampling_rate - - for col in cols: - data_table[col + '_max_freq'] = np.nan - data_table[col + '_freq_weighted'] = np.nan - data_table[col + '_pse'] = np.nan - for freq in freqs: - data_table[col + '_freq_' + str(freq) + '_Hz_ws_' + str(window_size)] = np.nan - - # Pass over the dataset (we cannot compute it when we do not have enough history) - # and compute the values. - for i in range(window_size, len(data_table.index)): - for col in cols: - real_ampl, imag_ampl = self.find_fft_transformation(data_table[col][i-window_size:min(i+1, len(data_table.index))], sampling_rate) - # We only look at the real part in this implementation. - for j in range(0, len(freqs)): - data_table.ix[i, col + '_freq_' + str(freqs[j]) + '_Hz_ws_' + str(window_size)] = real_ampl[j] - # And select the dominant frequency. We only consider the positive frequencies for now. - - data_table.ix[i, col + '_max_freq'] = freqs[np.argmax(real_ampl[0:len(real_ampl)])] - data_table.ix[i, col + '_freq_weighted'] = float(np.sum(freqs * real_ampl)) / np.sum(real_ampl) - PSD = np.divide(np.square(real_ampl),float(len(real_ampl))) - PSD_pdf = np.divide(PSD, np.sum(PSD)) - data_table.ix[i, col + '_pse'] = -np.sum(np.log(PSD_pdf) * PSD_pdf) - - return data_table diff --git a/PythonCode/Chapter4/TemporalAbstraction.py b/PythonCode/Chapter4/TemporalAbstraction.py deleted file mode 100644 index 0b9803ba..00000000 --- a/PythonCode/Chapter4/TemporalAbstraction.py +++ /dev/null @@ -1,194 +0,0 @@ -############################################################## -# # -# Mark Hoogendoorn and Burkhardt Funk (2017) # -# Machine Learning for the Quantified Self # -# Springer # -# Chapter 4 # -# # -############################################################## - -import numpy as np -import scipy.stats as stats - -# Class to abstract a history of numerical values we can use as an attribute. -class NumericalAbstraction: - - - # This function aggregates a list of values using the specified aggregation - # function (which can be 'mean', 'max', 'min', 'median', 'std', 'slope') - def aggregate_value(self, data, aggregation_function): - # Compute the values and return the result. - if aggregation_function == 'mean': - return data.mean(skipna = True) - elif aggregation_function == 'max': - return data.max(skipna = True) - elif aggregation_function == 'min': - return data.min(skipna = True) - elif aggregation_function == 'median': - return data.median(skipna = True) - elif aggregation_function == 'std': - return data.std(skipna = True) - elif aggregation_function == 'slope': - # For the slope we need a bit more work. - # We create time points, assuming discrete time steps with fixed delta t: - times = np.array(range(0, len(data.index))) - data = data.as_matrix().astype(np.float32) - - # Check for NaN's - mask = ~np.isnan(data) - - # If we have no data but NaN we return NaN. - if (len(data[mask]) == 0): - return np.nan - # Otherwise we return the slope. - else: - slope, intercept, r_value, p_value, std_err = stats.linregress(times[mask], data[mask]) - return slope - else: - return np.nan - - # Abstract numerical columns specified given a window size (i.e. the number of time points from - # the past considered) and an aggregation function. - def abstract_numerical(self, data_table, cols, window_size, aggregation_function): - - # Create new columns for the temporal data. - for col in cols: - data_table[col + '_temp_' + aggregation_function + '_ws_' + str(window_size)] = np.nan - - # Pass over the dataset (we cannot compute it when we do not have enough history) - # and compute the values. - for i in range(window_size, len(data_table.index)): - for col in cols: - data_table.ix[i, col + '_temp_' + aggregation_function + '_ws_' +str(window_size)] = self.aggregate_value(data_table[col][i-window_size:min(i+1, len(data_table.index))], aggregation_function) - - return data_table - -# Class to perform categorical abstraction. We obtain patterns of categorical attributes that occur frequently -# over time. -class CategoricalAbstraction: - - pattern_prefix = 'temp_pattern_' - before = '(b)' - co_occurs = '(c)' - cache = {} - - # Determine the time points a pattern occurs in the dataset given a windows size. - def determine_pattern_times(self, data_table, pattern, window_size): - times = [] - - # If we have a pattern of length one - if len(pattern) == 1: - # If it is in the cache, we get the times from the cache. - if self.cache.has_key(self.to_string(pattern)): - times = self.cache[self.to_string(pattern)] - # Otherwise we identify the time points at which we observe the value. - else: - timestamp_rows = data_table[data_table[pattern[0]] > 0].index.values.tolist() - times = [data_table.index.get_loc(i) for i in timestamp_rows] - self.cache[self.to_string(pattern)] = times - - # If we have a complex pattern ( (b) or (c) ) - elif len(pattern) == 3: - # We computer the time points of and - time_points_first_part = self.determine_pattern_times(data_table, pattern[0], window_size) - time_points_second_part = self.determine_pattern_times(data_table, pattern[2], window_size) - - # If it co-occurs we take the intersection. - if pattern[1] == self.co_occurs: - # No use for co-occurences of the same patterns... - if pattern[0] == pattern[2]: - times = [] - else: - times = list(set(time_points_first_part) & set(time_points_second_part)) - # Otherwise we take all time points from at which we observed within the given - # window size. - elif pattern[1] == self.before: - for t in time_points_second_part: - if len([i for i in time_points_first_part if ((i >= t - window_size) & (i < t))]): - times.append(t) - return times - - # Create a string representation of a pattern. - def to_string(self, pattern): - # If we just have one component, return the string. - if len(pattern) == 1: - return str(pattern[0]) - # Otherwise, return the merger of the strings of all - # components. - else: - name = '' - for p in pattern: - name = name + self.to_string(p) - return name - - # Selects the patterns from 'patterns' that meet the minimum support in the dataset - # given the window size. - def select_k_patterns(self, data_table, patterns, min_support, window_size): - selected_patterns = [] - for pattern in patterns: - # Determine the times at which the pattern occurs. - times = self.determine_pattern_times(data_table, pattern, window_size) - # Compute the support - support = float(len(times))/len(data_table.index) - # If we meet the minum support, append the selected patterns and set the - # value to 1 at which it occurs. - if support >= min_support: - selected_patterns.append(pattern) - print self.to_string(pattern) - # Set the occurrence of the pattern in the row to 0. - data_table[self.pattern_prefix + self.to_string(pattern)] = 0 - data_table.ix[times, self.pattern_prefix + self.to_string(pattern)] = 1 - return data_table, selected_patterns - - - # extends a set of k-patterns with the 1-patterns that have sufficient support. - def extend_k_patterns(self, k_patterns, one_patterns): - new_patterns = [] - for k_p in k_patterns: - for one_p in one_patterns: - # Add a before relationship - new_patterns.append([k_p, self.before, one_p]) - # Add a co-occurs relationship. - new_patterns.append([k_p, self.co_occurs, one_p]) - return new_patterns - - - # Function to abstract our categorical data. Note that we assume a list of binary columns representing - # the different categories. We set whether the column names should match exactly 'exact' or should include the - # specified name 'like'. We also express a minimum support,a windows size between succeeding patterns and a - # maximum size for the number of patterns. - def abstract_categorical(self, data_table, cols, match, min_support, window_size, max_pattern_size): - - # Find all the relevant columns of binary attributes. - col_names = list(data_table.columns) - selected_patterns = [] - - relevant_dataset_cols = [] - for i in range(0, len(cols)): - if match[i] == 'exact': - relevant_dataset_cols.append(cols[i]) - else: - relevant_dataset_cols.extend([name for name in col_names if cols[i] in name]) - - # Generate the one patterns first - potential_1_patterns = [[pattern] for pattern in relevant_dataset_cols] - - new_data_table, one_patterns = self.select_k_patterns(data_table, potential_1_patterns, min_support, window_size) - selected_patterns.extend(one_patterns) - print 'Number of patterns of size 1 is ' + str(len(one_patterns)) - - k = 1 - k_patterns = one_patterns - - # And generate all following patterns. - while (k < max_pattern_size) & (len(k_patterns) > 0): - k = k + 1 - potential_k_patterns = self.extend_k_patterns(k_patterns, one_patterns) - new_data_table, selected_new_k_patterns = self.select_k_patterns(new_data_table, potential_k_patterns, min_support, window_size) - selected_patterns.extend(selected_new_k_patterns) - print 'Number of patterns of size ' + str(k) + ' is ' + str(len(selected_new_k_patterns)) - - return new_data_table - - - diff --git a/PythonCode/Chapter4/TextAbstraction.py b/PythonCode/Chapter4/TextAbstraction.py deleted file mode 100644 index 6202c65b..00000000 --- a/PythonCode/Chapter4/TextAbstraction.py +++ /dev/null @@ -1,197 +0,0 @@ -############################################################## -# # -# Mark Hoogendoorn and Burkhardt Funk (2017) # -# Machine Learning for the Quantified Self # -# Springer # -# Chapter 4 # -# # -############################################################## - -from nltk import tokenize -from nltk import parse -from nltk.stem.snowball import SnowballStemmer -import unicodedata -import unidecode -from nltk.corpus import stopwords -import nltk -import math -import gensim -import gensim.models.ldamodel as lda - -# This class includes a number of approaches that abstract text based data to structured features. -class TextAbstraction: - - col_name = 'words' - bow = 'bow' - - # Tokenize the text: identify sentences and words within sentences. Returns a list of words. - def tokenization(self, text): - words = [] - sentences = tokenize.sent_tokenize(text) - for sentence in sentences: - words.extend(tokenize.word_tokenize(sentence)) - words = list(filter(lambda x: x != '.', words)) - return words - - # Create a clean set of words which are lower case and do not include any undesired characters. - # Returns the cleaned set. - def lower_case_and_filter_chars(self, words): - new_words = [] - for word in words: - # Take the lower case. - word = word.lower() - try: - # Use the proper coding. - word = word.decode('utf-8') - except: - word = word - # something went wrong with the decoding, don't care for now. - - word = unidecode.unidecode(word) - newText = '' - - # Select only the letters from the alphabet. - for c in word: - if ((c >= 'a' and c <= 'z') or (c >= 'A' and c <= 'Z') or c == ' '): - newText = newText + c - if len(newText) > 0: - new_words.append(newText) - return new_words - - - # Stem a list of words. Return the list of stemmed words. - def stem(self, text): - stemmer = SnowballStemmer("english") - newText = [] - for w in text: - newText.append(str(stemmer.stem(w))) - return newText - - # Remove stopwords from a list of words. Returns the cleaned list. - def remove_stop_words(self, text): - stopwordList = stopwords.words('english') - names = nltk.corpus.names.words() - - newText = [] - for w in text: - if w.lower() not in stopwordList and w.lower() not in names: - newText.append(w) - return newText - - # Create combinations of words for n-grams. Return a list of elements - # that are the combination of words that occur adjacent. - def form_n_grams(self, words, n): - n_grams = [] - for i in range(0, len(words)-n): - n_grams.append('_'.join(words[i:i+n])) - return n_grams - - # Identify words in the specified columns, create n-grams. Returns the same - # data table with a column with text where each row is a list of cleaned n-grams - # that occur in the cols of that row and the list of unique words is returned. - def identify_words(self, data_table, cols, n): - word_attributes = [] - - # Create the cleaned text column. - data_table[self.col_name] = 0 - data_table[self.col_name] = data_table[self.col_name].astype(object) - - # Pass all rows. - for i in range(0, len(data_table.index)): - words = [] - text = '' - for col in cols: - text = text + ' ' + data_table.ix[i, col] - - # Perform the NLP pipeline. - words = self.tokenization(text) - lower_case_words = self.lower_case_and_filter_chars(words) - stemmed_words = self.stem(lower_case_words) - no_stopwords_words = self.remove_stop_words(stemmed_words) - n_grams = self.form_n_grams(no_stopwords_words, n) - current_set = set(word_attributes) - new_set = set(n_grams) - # Store the current set of n-grams found. - word_attributes = list(current_set | new_set) - # And add the found list of words to the table. - data_table.set_value(i, self.col_name, n_grams) - - return data_table, word_attributes - - # Apply the bag of words approach upon the text that can be found in cols. It identifies - # n-grams and creates columns for those n-grams. It computes the number of occurrences - # of the n-grams per row and uses that as a value. - def bag_of_words(self, data_table, cols, n): - - # Identify the words and clean the table. - data_table, words = self.identify_words(data_table, cols, n) - - # Create columns for each word. - for word in words: - data_table[cols[0] + '_bow_' + word] = 0 - - # And count the occurrences per row. - for i in range(0, len(data_table.index)): - data_table.ix[i, cols[0] + '_bow_' + word] = data_table.ix[i, self.col_name].count(word) - - # Remove the temporary column we had created for the cleaned lists of words. - del data_table[self.col_name] - return data_table - - # Apply the bag of words approach upon the text that can be found in cols. It identifies - # n-grams and creates columns for those n-grams. It computes the TF-IDF - # of the n-grams per row and uses that as a value. - def tf_idf(self, data_table, cols, n): - - # Identify the words and clean the table. - data_table, words = self.identify_words(data_table, cols, n) - - # Create columns for each word. - for word in words: - data_table[cols[0] + '_tf_idf_' + word] = 0.0 - - for i in range(0, len(data_table.index)): - - # And count the tf score. - tf = data_table.ix[i, self.col_name].count(word) - data_table.ix[i, cols[0] + '_tf_idf_' + word] = tf - - # Compute the idf score over all rows. - idf = math.log(float(len(data_table.index))/len(data_table.loc[data_table[cols[0] + '_tf_idf_' + word] > 0].index)) - # and multiply the rows with the idf. - data_table[cols[0] + '_tf_idf_' + word] = data_table[cols[0] + '_tf_idf_' + word].mul(idf) - # Remove the temporary column we had created for the cleaned lists of words. - del data_table[self.col_name] - return data_table - - # This function identifies n topics in the data using LDA and for each row computes a score for the - # topic. It returns a dataset with columns added for the topics containing the scores per row. - def topic_modeling(self, data_table, cols, n_topics): - - # Identify the words and clean the table. - data_table, words = self.identify_words(data_table, cols) - - # Create a dictionary based on the words we have identified per row. - dict_topics = gensim.corpora.Dictionary(data_table[self.col_name]) - # Create a corpus containing all words. - corpus = [dict_topics.doc2bow([word]) for word in words] - - # Apply LDA. - model = lda.LdaModel(corpus, id2word=dict_topics, num_topics=n_topics) - - # Get the topics we found. - topics = model.show_topics(num_topics=n_topics, num_words=10, log=False, formatted=False) - - # Create columns for the topics. - for topic in range(0, n_topics): - data_table[cols[0] + '_topic_' + str(topic)] = 0.0 - - # Score the topics per row and set the values accordingly. - for i in range(0, len(data_table.index)): - topic_scores = model[dict_topics.doc2bow(data_table.ix[i, self.col_name])] - for score in topic_scores: - data_table.ix[i, cols[0] + '_topic_' + str(score[0])] = score[1] - # Remove the temporary column we had created for the cleaned lists of words. - del data_table[self.col_name] - return data_table - diff --git a/PythonCode/Chapter4/__init__.py b/PythonCode/Chapter4/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/PythonCode/Chapter5/Clustering.py b/PythonCode/Chapter5/Clustering.py deleted file mode 100644 index efddf114..00000000 --- a/PythonCode/Chapter5/Clustering.py +++ /dev/null @@ -1,329 +0,0 @@ -############################################################## -# # -# Mark Hoogendoorn and Burkhardt Funk (2017) # -# Machine Learning for the Quantified Self # -# Springer # -# Chapter 5 # -# # -############################################################## - -from sklearn.cluster import KMeans -from Chapter5.DistanceMetrics import InstanceDistanceMetrics -import sklearn -import pandas as pd -import numpy as np -from sklearn.metrics import silhouette_samples, silhouette_score -from Chapter5.DistanceMetrics import PersonDistanceMetricsNoOrdering -from Chapter5.DistanceMetrics import PersonDistanceMetricsOrdering -import random -import scipy -from scipy.cluster.hierarchy import linkage, fcluster -from sklearn.neighbors import DistanceMetric -import pyclust - -# Implementation of the non hierarchical clustering approaches. -class NonHierarchicalClustering: - - # Global parameters for distance functions - p = 1 - max_lag = 1 - - # Identifiers of the various distance and abstraction approaches. - euclidean = 'euclidean' - minkowski = 'minkowski' - manhattan = 'manhattan' - gower = 'gower' - abstraction_mean = 'abstraction_mean' - abstraction_normal = 'abstraction_normal' - abstraction_p = 'abstraction_p' - abstraction_euclidean = 'abstract_euclidean' - abstraction_lag = 'abstract_lag' - abstraction_dtw = 'abstract_dtw' - - # Define the gowers distance between arrays to be used in k-means and k-medoids. - def gowers_similarity(self, X, Y=None, Y_norm_squared=None, squared=False): - X = np.matrix(X) - distances = np.zeros(shape=(X.shape[0], Y.shape[0])) - DM = InstanceDistanceMetrics() - # Pairs up the elements in the dataset - for x_row in range(0, X.shape[0]): - data_row1 = pd.DataFrame(X[x_row]) - for y_row in range(0, Y.shape[0]): - data_row2 = pd.DataFrame(Y[y_row]).transpose() - # And computer the distance as defined in our distance metrics class. - distances[x_row, y_row] = DM.gowers_similarity(data_row1, data_row2, self.p) - return np.array(distances) - - # Use a predefined distance function for the Minkowski distance - def minkowski_distance(self, X, Y=None, Y_norm_squared=None, squared=False): - dist = DistanceMetric.get_metric('minkowski', p=self.p) - return dist.pairwise(X, Y) - - # Use a predefined distance function for the Manhattan distance - def manhattan_distance(self, X, Y=None, Y_norm_squared=None, squared=False): - dist = DistanceMetric.get_metric('manhattan') - return dist.pairwise(X, Y) - - # Use a predefined distance function for the Euclidean distance - def euclidean_distance(self, X, Y=None, Y_norm_squared=None, squared=False): - dist = DistanceMetric.get_metric('euclidean') - return dist.pairwise(X, Y) - - # If we want to compare dataset between persons one approach is to flatten - # each dataset to a single record/instance. This is done based on the approaches - # we have defined in the distance metrics file. - def aggregate_datasets(self, datasets, cols, abstraction_method): - temp_datasets = [] - DM = PersonDistanceMetricsNoOrdering() - - # Flatten all datasets and add them to the newly formed dataset. - for i in range(0, len(datasets)): - temp_dataset = datasets[i][cols] - temp_datasets.append(temp_dataset) - - if abstraction_method == self.abstraction_normal: - return DM.create_instances_normal_distribution(temp_datasets) - else: - return DM.create_instances_mean(temp_datasets) - - # Perform k-means over an individual dataset. - def k_means_over_instances(self, dataset, cols, k, distance_metric, max_iters, n_inits, p=1): - - # Take the appropriate columns. - temp_dataset = dataset[cols] - # Override the standard distance functions. Store the original first - sklearn_euclidian_distances = sklearn.cluster.k_means_.euclidean_distances - if distance_metric == self.euclidean: - sklearn.cluster.k_means_.euclidean_distances = self.euclidean_distance - elif distance_metric == self.minkowski: - self.p = p - sklearn.cluster.k_means_.euclidean_distances = self.minkowski_distance - elif distance_metric == self.manhattan: - sklearn.cluster.k_means_.euclidean_distances = self.manhattan_distance - elif distance_metric == self.gower: - self.ranges = [] - for col in temp_dataset.columns: - self.ranges.append(temp_dataset[col].max() - temp_dataset[col].min()) - sklearn.cluster.k_means_.euclidean_distances = self.gower_similarity - # If we do not recognize the option we use the default distance function, which is much - # faster.... - # Now apply the k-means algorithm - kmeans = KMeans(n_clusters=k, max_iter=max_iters, n_init=n_inits, random_state=0).fit(temp_dataset) - # Add the labels to the dataset - dataset['cluster'] = kmeans.labels_ - # Compute the solhouette and add it as well. - silhouette_avg = silhouette_score(temp_dataset, kmeans.labels_) - silhouette_per_inst = silhouette_samples(temp_dataset, kmeans.labels_) - dataset['silhouette'] = silhouette_per_inst - - # Reset the module distance function for further usage - sklearn_euclidian_distances = sklearn_euclidian_distances - - return dataset - - # We have datasets covering multiple persons. We abstract the datatasets using an approach and create - # clusters of persons. - def k_means_over_datasets(self, datasets, cols, k, abstraction_method, distance_metric, max_iters, n_inits, p=1): - # Convert the datasets to instances - temp_dataset = self.aggregate_datasets(datasets, cols, abstraction_method) - - # And simply apply the instance based algorithm..... - return self.k_means_over_instances(temp_dataset, temp_dataset.columns, k, distance_metric, max_iters, n_inits, p) - - # For our own k-medoids algorithm we use our own implementation. For this we computer a complete distance matrix - # between points. - def compute_distance_matrix_instances(self, dataset, distance_metric): - # If the distance function is not defined in our distance metrics, we use the standard euclidean distance. - if not (distance_metric in [self.manhattan, self.minkowski, self.gower, self.euclidean]): - distances = sklearn.metrics.pairwise.euclidean_distances(X=dataset, Y=dataset) - return pd.DataFrame(distances, index=range(0, len(dataset.index)), columns=range(0, len(dataset.index))) - # Create an empty pandas dataframe for our distance matrix - distances = pd.DataFrame(index=range(0, len(dataset.index)), columns=range(0, len(dataset.index))) - DM = InstanceDistanceMetrics() - - # Define the ranges of the columns if we use the gower distance. - ranges = [] - if distance_metric == self.gower: - for col in dataset.columns: - self.ranges.append(dataset[col].max() - dataset[col].min()) - - # And compute the distances for each pair. Note that we assume the distances to be symmetric. - for i in range(0, len(dataset.index)): - for j in range(i, len(dataset.index)): - if distance_metric == self.manhattan: - distances.ix[i,j] = self.manhattan_distance(dataset.ix[i:i+1,:], dataset.ix[j:j+1,:]) - elif distance_metric == self.minkowski: - distances.ix[i,j] = self.manhattan_distance(dataset.ix[i:i+1,:], dataset.ix[j:j+1,:], self.p) - elif distance_metric == self.gower: - distances.ix[i,j] = self.gower_distance(dataset.ix[i:i+1,:], dataset.ix[j:j+1,:]) - elif distance_metric == self.euclidean: - distances.ix[i,j] = self.euclidean_distance(dataset.ix[i:i+1,:], dataset.ix[j:j+1,:]) - distances.ix[j,i] = distances.ix[i,j] - return distances - - # We need to implement k-medoids ourselves to accommodate all distance metrics - def k_medoids_over_instances(self, dataset, cols, k, distance_metric, max_iters, n_inits=5, p=1): - # If we set it to default we use the pyclust package... - temp_dataset = dataset[cols] - if distance_metric == 'default': - km = pyclust.KMedoids(n_clusters=k, n_trials=n_inits) - km.fit(temp_dataset.as_matrix()) - cluster_assignment = km.labels_ - - else: - self.p = p - cluster_assignment = [] - best_silhouette = -1 - - # Compute all distances - D = self.compute_distance_matrix_instances(temp_dataset, distance_metric) - - for it in range(0, n_inits): - # First select k random points as centers: - centers = random.sample(range(0, len(dataset.index)), k) - prev_centers = [] - points_to_cluster = [] - - n_iter = 0 - while (n_iter < max_iters) and not (centers == prev_centers): - n_iter += 1 - prev_centers = centers - # Assign points to clusters. - points_to_centroid = D[centers].idxmin(axis=1) - - new_centers = [] - for i in range(0, k): - # And find the new center that minimized the sum of the differences. - best_center = D.ix[points_to_centroid == centers[i], points_to_centroid == centers[i]].sum().idxmin(axis=1) - new_centers.append(best_center) - centers = new_centers - - # Convert centroids to cluster numbers: - - points_to_centroid = D[centers].idxmin(axis=1) - current_cluster_assignment = [] - for i in range(0, len(dataset.index)): - current_cluster_assignment.append(centers.index(points_to_centroid.ix[i,:])) - - silhouette_avg = silhouette_score(temp_dataset, np.array(current_cluster_assignment)) - if silhouette_avg > best_silhouette: - cluster_assignment = current_cluster_assignment - best_silhouette = silhouette_avg - - # And add the clusters and silhouette scores to the dataset. - dataset['cluster'] = cluster_assignment - silhouette_avg = silhouette_score(temp_dataset, np.array(cluster_assignment)) - silhouette_per_inst = silhouette_samples(temp_dataset, np.array(cluster_assignment)) - dataset['silhouette'] = silhouette_per_inst - - return dataset - - # For k-medoids we use all possible distance metrics between datasets as well. For this we - # again need to define a distance matrix between the datasets. - def compute_distance_matrix_datasets(self, datasets, distance_metric): - distances = pd.DataFrame(index=range(0, len(datasets)), columns=range(0, len(datasets))) - DMNoOrdering = PersonDistanceMetricsNoOrdering() - DMOrdering = PersonDistanceMetricsOrdering() - - # And compute the distances for each pair. Note that we assume the distances to be symmetric. - for i in range(0, len(datasets)): - for j in range(i, len(datasets)): - if distance_metric == self.abstraction_p: - distances.ix[i,j] = DMNoOrdering.p_distance(datasets[i], datasets[j]) - elif distance_metric == self.abstraction_euclidean: - distances.ix[i,j] = DMOrdering.euclidean_distance(datasets[i], datasets[j]) - elif distance_metric == self.abstraction_lag: - distances.ix[i,j] = DMOrdering.lag_correlation(datasets[i], datasets[j], self.max_lag) - elif distance_metric == self.abstraction_dtw: - distances.ix[i,j] = DMOrdering.dynamic_time_warping(datasets[i], datasets[j]) - distances.ix[j,i] = distances.ix[i,j] - return distances - - # Note: distance metric only important in combination with certain abstraction methods as we allow for more - # in k-medoids. - def k_medoids_over_datasets(self, datasets, cols, k, abstraction_method, distance_metric, max_iters, n_inits=5, p=1, max_lag=5): - self.p = p - self.max_lag = max_lag - - # If we compare datasets by flattening them, we can simply flatten the dataset and apply the instance based - # variant. - if abstraction_method in [self.abstraction_mean, self.abstraction_normal]: - # Convert the datasets to instances - temp_dataset = self.aggregate_datasets(datasets, cols, abstraction_method) - - # And simply apply the instance based algorithm in case of - return self.k_medoids_over_instances(temp_dataset, temp_dataset.columns, k, distance_metric, max_iters, n_inits=n_inits, p=p) - - # For the case over datasets we do not have a quality metric, therefore we just look at a single initialization for now (!) - - # First select k random points as centers: - centers = random.sample(range(0, len(datasets)), k) - prev_centers = [] - points_to_cluster = [] - # Compute all distances - D = self.compute_distance_matrix_datasets(datasets, abstraction_method) - - n_iter = 0 - while (n_iter < max_iters) and not (centers == prev_centers): - n_iter += 1 - prev_centers = centers - # Assign points to clusters. - points_to_centroid = D[centers].idxmin(axis=1) - - new_centers = [] - for i in range(0, k): - # And find the new center that minimized the sum of the differences. - best_center = D.ix[points_to_centroid == centers[i], points_to_centroid == centers[i]].sum().idxmin(axis=1) - new_centers.append(best_center) - centers = new_centers - - # Convert centroids to cluster numbers: - - points_to_centroid = D[centers].idxmin(axis=1) - cluster_assignment = [] - for i in range(0, len(datasets)): - cluster_assignment.append(centers.index(points_to_centroid.ix[i,:])) - - dataset = pd.DataFrame(index=range(0, len(datasets))) - dataset['cluster'] = cluster_assignment - - # Silhouette cannot be used here as it used a distance between instances, not datasets. - - return dataset - -# In this class, we do not implement the Gover distance between instance, all others are included. -# Furthermore, we only implement the agglomerative approach. -class HierarchicalClustering: - - link = None - - # Perform agglomerative clustering over a single dataset. - def agglomerative_over_instances(self, dataset, cols, max_clusters, distance_metric, use_prev_linkage=False, link_function='single'): - temp_dataset = dataset[cols] - df = NonHierarchicalClustering() - - if (not use_prev_linkage) or (self.link is None): - # Perform the clustering process according to the specified distance metric. - if distance_metric == df.manhattan: - self.link = linkage(temp_dataset.as_matrix(), method=link_function, metric='cityblock') - else: - self.link = linkage(temp_dataset.as_matrix(), method=link_function, metric='euclidean') - - # And assign the clusters given the set maximum. In addition, compute the - cluster_assignment = fcluster(self.link, max_clusters, criterion='maxclust') - dataset['cluster'] = cluster_assignment - silhouette_avg = silhouette_score(temp_dataset, np.array(cluster_assignment)) - silhouette_per_inst = silhouette_samples(temp_dataset, np.array(cluster_assignment)) - dataset['silhouette'] = silhouette_per_inst - - return dataset, self.link - - # Perform agglomerative clustering over the datasets by flattening them into a single dataset. - def agglomerative_over_datasets(self, datasets, cols, max_clusters, abstraction_method, distance_metric, use_prev_linkage=False, link_function='single'): - # Convert the datasets to instances - df = NonHierarchicalClustering() - temp_dataset = df.aggregate_datasets(datasets, cols, abstraction_method) - - # And simply apply the instance based algorithm... - return self.agglomerative_over_instances(temp_dataset, temp_dataset.columns, max_clusters, distance_metric, use_prev_linkage=use_prev_linkage, link_function=link_function) - diff --git a/PythonCode/Chapter5/DistanceMetrics.py b/PythonCode/Chapter5/DistanceMetrics.py deleted file mode 100644 index 7c432bde..00000000 --- a/PythonCode/Chapter5/DistanceMetrics.py +++ /dev/null @@ -1,188 +0,0 @@ -############################################################## -# # -# Mark Hoogendoorn and Burkhardt Funk (2017) # -# Machine Learning for the Quantified Self # -# Springer # -# Chapter 5 # -# # -############################################################## - -import math -import numbers -import numpy as np -import pandas as pd -from scipy.stats import norm -from scipy import stats -import sys -from sklearn.neighbors import DistanceMetric -import sklearn - - - -# Class defining the distance metrics that are not available as standard ones.... -class InstanceDistanceMetrics: - - # S for gowers distance - def s(self, val1, val2, range): - # If we compare numbers we look at the difference and normalize. - if isinstance(val1, numbers.Number) and isinstance(val1, numbers.Number): - return 1 - (float(abs(val1-val2))/range) - # If we compare something else, we just look at whether they are equal. - else: - if val1 == val2: - return 1 - else: - return 0 - - # Delta for gowers distance. - def delta(self, val1, val2): - # Check whether both values are known (i.e. nan), if so the delta is 1, 0 otherwise. - if (not np.isnan(val1)) and (not np.isnan(val2)): - return 1 - return 0 - - # Define gowers distance between two rows, given the ranges of the variables - # over the entire dataset (over all columns in row1 and row2) - def gowers_similarity(self, data_row1, data_row2, ranges): - # We cannot computer if the lengths are not equal. - if len(data_row1.columns) != len(data_row2.columns): - return -1 - - delta_total = 0 - s_total = 0 - - # iterate over all columns. - for i in range(0, len(data_row1.columns)): - val1 = data_row1[data_row1.columns[i]].values[0] - val2 = data_row2[data_row2.columns[i]].values[0] - # compute the delta - delta = self.delta(val1, val2) - delta_total = delta_total + delta - if delta > 0: - # and compute the s if the delta is above 0. - s_total = s_total + self.s(val1, val2, ranges[i]) - return float(s_total)/delta_total - -# Class to flatten datasets or compute the statistical difference between cases. -class PersonDistanceMetricsNoOrdering: - - gower = 'gower' - minkowski = 'minkowski' - - # This returns a dataset with aggregated data instances based on the mean values - # in the rows. - def create_instances_mean(self, datasets): - index = range(0, len(datasets)) - cols = datasets[0].columns - new_dataset = pd.DataFrame(index=index, columns=cols) - - for i in range(0, len(datasets)): - for col in cols: - # Compute the mean per column and assign that - # value for the row representing the current - # dataset. - new_dataset.ix[i, col] = datasets[i][col].mean() - - return new_dataset - - # Fit datasets to normal distribution and use parameters as instances - def create_instances_normal_distribution(self, datasets): - index = range(0, len(datasets)) - cols = datasets[0].columns - new_cols = [] - # Create new columns for the parameters of the distribution. - for col in cols: - new_cols.append(col + '_mu') - new_cols.append(col + '_sigma') - new_dataset = pd.DataFrame(index=index, columns=new_cols) - - for i in range(0, len(datasets)): - for col in cols: - # Fit the distribution and assign the values to the - # row representing the dataset. - mu, sigma = norm.fit(datasets[i][col]) - new_dataset.ix[i, col + '_mu'] = mu - new_dataset.ix[i, col + '_sigma'] = sigma - - return new_dataset - - # This defines the distance between datasets based on the statistical - # differences between the distribution we can only compute - # distances pairwise. - def p_distance(self, dataset1, dataset2): - - cols = dataset1.columns - distance = 0 - for col in cols: - D, p_value = stats.ks_2samp(dataset1[col], dataset2[col]) - distance= distance + (1-p_value) - return distance - -# Class to compare two time ordered datasets. -class PersonDistanceMetricsOrdering: - - extreme_value = sys.float_info.max - tiny_value = 0.000001 - - # Directly pair up the datasets and computer the euclidean - # distances between the sequences of values. - def euclidean_distance(self, dataset1, dataset2): - dist = DistanceMetric.get_metric('euclidean') - if not len(dataset1.index) == len(dataset2.index): - return -1 - distance = 0 - - for i in range(0, len(dataset1.index)): - data_row1 = dataset1.iloc[:,i:i+1].transpose() - data_row2 = dataset2.iloc[:,i:i+1].transpose() - ecl_dist = dist.pairwise(data_row1, data_row2) - distance = distance + ecl_dist - - return distance - - # Compute the distance between two datasets given a set lag. - def lag_correlation_given_lag(self, dataset1, dataset2, lag): - distance = 0 - for i in range(0, len(dataset1.columns)): - # consider the lengths of the series, and compare the - # number of points in the smallest series. - length_ds1 = len(dataset1.index) - length_ds2 = len(dataset2.index) - lag - length_used = min(length_ds1, length_ds2) - if length_used < 1: - return self.extreme_value - # We multiply the values as expressed in the book. - ccc = np.multiply(dataset1.ix[0:length_used, i].values, dataset2.ix[lag:length_used+lag, i].values) - # We add the sum of the mutliplications to the distance. Correct for the difference in length. - distance = distance + (float(1)/(float(max(ccc.sum(), self.tiny_value))))/length_used - return distance - - # Compute the lag correlation. For this we find the best lag. - def lag_correlation(self, dataset1, dataset2, max_lag): - best_dist = -1 - best_lag = 0 - for i in range(0, max_lag+1): - # Compute the distance given a lag. - current_dist = self.lag_correlation_given_lag(dataset1, dataset2, i) - if current_dist < best_dist or best_dist == -1: - best_dist = current_dist - best_lag = i - return best_dist - - # Simple implementation of the dtw. Note that we use the euclidean distance here.. - # The implementation follows the algorithm explained in the book very closely. - def dynamic_time_warping(self, dataset1, dataset2): - # Create a distance matrix between all time points. - cheapest_path = np.full((len(dataset1.index), len(dataset2.index)), self.extreme_value) - cheapest_path[0,0] = 0 - DM = InstanceDistanceMetrics() - - - for i in range(1, len(dataset1.index)): - for j in range(1, len(dataset2.index)): - data_row1 = dataset1.iloc[i:i+1,:] - data_row2 = dataset2.iloc[j:j+1,:] - d = sklearn.metrics.pairwise.euclidean_distances(data_row1, data_row2) - cheapest_path[i,j] = d + min(cheapest_path[i-1, j], cheapest_path[i, j-1], cheapest_path[i-1, j-1]) - return cheapest_path[len(dataset1.index)-1, len(dataset2.index)-1] - diff --git a/PythonCode/Chapter5/__init__.py b/PythonCode/Chapter5/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/PythonCode/Chapter7/Evaluation.py b/PythonCode/Chapter7/Evaluation.py deleted file mode 100644 index 791ea3f4..00000000 --- a/PythonCode/Chapter7/Evaluation.py +++ /dev/null @@ -1,70 +0,0 @@ -############################################################## -# # -# Mark Hoogendoorn and Burkhardt Funk (2017) # -# Machine Learning for the Quantified Self # -# Springer # -# Chapter 7 # -# # -############################################################## - -from sklearn import metrics -import pandas as pd -import numpy as np -import math - -# Class for evaluation metrics of classification problems. -class ClassificationEvaluation: - - # Returns the accuracy given the true and predicted values. - def accuracy(self, y_true, y_pred): - return metrics.accuracy_score(y_true, y_pred) - - # Returns the precision given the true and predicted values. - # Note that it returns the precision per class. - def precision(self, y_true, y_pred): - return metrics.precision_score(y_true, y_pred, average=None) - - # Returns the recall given the true and predicted values. - # Note that it returns the recall per class. - def recall(self, y_true, y_pred): - return metrics.recall_score(y_true, y_pred, average=None) - - # Returns the f1 given the true and predicted values. - # Note that it returns the recall per class. - def f1(self, y_true, y_pred): - return metrics.f1_score(y_true, y_pred, average=None) - - # Returns the area under the curve given the true and predicted values. - # Note: we expect a binary classification problem here(!) - def auc(self, y_true, y_pred_prob): - return metrics.roc_auc_score(y_true, y_pred_prob) - - # Returns the confusion matrix given the true and predicted values. - def confusion_matrix(self, y_true, y_pred, labels): - return metrics.confusion_matrix(y_true, y_pred, labels=labels) - -# Class for evaluation metrics of regression problems. -class RegressionEvaluation: - - # Returns the mean squared error between the true and predicted values. - def mean_squared_error(self, y_true, y_pred): - return metrics.mean_squared_error(y_true, y_pred) - - # Returns the mean squared error between the true and predicted values. - def mean_squared_error_with_std(self, y_true, y_pred): - y_true = np.array(y_true) - y_pred = np.array(y_pred) - errors = np.square(y_true-y_pred) - mse = errors.mean() - std = errors.std() - return mse.mean(), std.mean() - - # Returns the mean absolute error between the true and predicted values. - def mean_absolute_error(self, y_true, y_pred): - return metrics.mean_absolute_error(y_true, y_pred) - - # Return the mean absolute error between the true and predicted values - # as well as its standard deviation. - def mean_absolute_error_with_std(self, y_true, y_pred): - errors = np.absolute((y_pred - y_true)) - return errors.mean(), errors.std() diff --git a/PythonCode/Chapter7/FeatureSelection.py b/PythonCode/Chapter7/FeatureSelection.py deleted file mode 100644 index 6e4e56ca..00000000 --- a/PythonCode/Chapter7/FeatureSelection.py +++ /dev/null @@ -1,193 +0,0 @@ -############################################################## -# # -# Mark Hoogendoorn and Burkhardt Funk (2017) # -# Machine Learning for the Quantified Self # -# Springer # -# Chapter 7 # -# # -############################################################## - -from Chapter7.LearningAlgorithms import ClassificationAlgorithms -from Chapter7.Evaluation import ClassificationEvaluation -from Chapter7.LearningAlgorithms import RegressionAlgorithms -from Chapter7.Evaluation import RegressionEvaluation -from scipy.stats import pearsonr -import sys -import copy -import numpy as np -from operator import itemgetter -import pandas as pd - -# Specifies feature selection approaches for classification to identify the most important features. -class FeatureSelectionClassification: - - # Forward selection for classification which selects a pre-defined number of features (max_features) - # that show the best accuracy. We assume a decision tree learning for this purpose, but - # this can easily be changed. It return the best features. - def forward_selection(self, max_features, X_train, y_train): - # Start with no features. - ordered_features = [] - ordered_scores = [] - selected_features = [] - ca = ClassificationAlgorithms() - ce = ClassificationEvaluation() - prev_best_perf = 0 - - # Select the appropriate number of features. - for i in range(0, max_features): - print i - - #Determine the features left to select. - features_left = list(set(X_train.columns) - set(selected_features)) - best_perf = 0 - best_attribute = '' - - # For all features we can still select... - for f in features_left: - temp_selected_features = copy.deepcopy(selected_features) - temp_selected_features.append(f) - - # Determine the accuracy of a decision tree learner if we were to add - # the feature. - pred_y_train, pred_y_test, prob_training_y, prob_test_y = ca.decision_tree(X_train[temp_selected_features], y_train, X_train[temp_selected_features]) - perf = ce.accuracy(y_train, pred_y_train) - - # If the performance is better than what we have seen so far (we aim for high accuracy) - # we set the current feature to the best feature and the same for the best performance. - if perf > best_perf: - best_perf = perf - best_feature = f - # We select the feature with the best performance. - selected_features.append(best_feature) - prev_best_perf = best_perf - ordered_features.append(best_feature) - ordered_scores.append(best_perf) - return selected_features, ordered_features, ordered_scores - - # Backward selection for classification which selects a pre-defined number of features (max_features) - # that show the best accuracy. We assume a decision tree learning for this purpose, but - # this can easily be changed. It return the best features. - def backward_selection(self, max_features, X_train, y_train): - # First select all features. - selected_features = X_train.columns.tolist() - ca = ClassificationAlgorithms() - ce = ClassificationEvaluation() - for i in range(0, (len(X_train.columns) - max_features)): - best_perf = 0 - worst_feature = '' - - # Select from the features that are still in the selection. - for f in selected_features: - temp_selected_features = copy.deepcopy(selected_features) - temp_selected_features.remove(f) - - # Determine the score without the feature. - pred_y_train, pred_y_test, prob_training_y, prob_test_y = ca.decision_tree(X_train[temp_selected_features], y_train, X_train[temp_selected_features]) - perf = ce.accuracy(y_train, pred_y_train) - - # If we score better without the feature than what we have seen so far - # this is the worst feature. - if perf > best_perf: - best_perf = perf - worst_feature = f - - # Remove the worst feature. - selected_features.remove(worst_feature) - return selected_features - -# Specifies feature selection approaches for classification to identify the most important features. -class FeatureSelectionRegression: - - # Forward selection for classification which selects a pre-defined number of features (max_features) - # that show the best accuracy. We assume a decision tree learning for this purpose, but - # this can easily be changed. It return the best features. - def forward_selection(self, max_features, X_train, y_train): - ordered_features = [] - ordered_scores = [] - - # Start with no features. - selected_features = [] - ra = RegressionAlgorithms() - re = RegressionEvaluation() - prev_best_perf = sys.float_info.max - - # Select the appropriate number of features. - for i in range(0, max_features): - - #Determine the features left to select. - features_left = list(set(X_train.columns) - set(selected_features)) - best_perf = sys.float_info.max - best_feature = '' - - # For all features we can still select... - for f in features_left: - temp_selected_features = copy.deepcopy(selected_features) - temp_selected_features.append(f) - - # Determine the mse of a decision tree learner if we were to add - # the feature. - pred_y_train, pred_y_test = ra.decision_tree(X_train[temp_selected_features], y_train, X_train[temp_selected_features]) - perf = re.mean_squared_error(y_train, pred_y_train) - - # If the performance is better than what we have seen so far (we aim for low mse) - # we set the current feature to the best feature and the same for the best performance. - if perf < best_perf: - best_perf = perf - best_feature = f - # We select the feature with the best performance. - selected_features.append(best_feature) - prev_best_perf = best_perf - ordered_features.append(best_feature) - ordered_scores.append(best_perf) - return selected_features, ordered_features, ordered_scores - - # Backward selection for classification which selects a pre-defined number of features (max_features) - # that show the best accuracy. We assume a decision tree learning for this purpose, but - # this can easily be changed. It return the best features. - def backward_selection(self, max_features, X_train, y_train): - - # First select all features. - selected_features = X_train.columns.tolist() - ra = RegressionAlgorithms() - re = RegressionEvaluation() - - # Select from the features that are still in the selection. - for i in range(0, (len(X_train.columns) - max_features)): - best_perf = sys.float_info.max - worst_feature = '' - for f in selected_features: - temp_selected_features = copy.deepcopy(selected_features) - temp_selected_features.remove(f) - - # Determine the score without the feature. - pred_y_train, pred_y_test = ra.decision_tree(X_train[temp_selected_features], y_train, X_train[temp_selected_features]) - perf = re.mean_squared_error(y_train, pred_y_train) - # If we score better (i.e. a lower mse) without the feature than what we have seen so far - # this is the worst feature. - if perf < best_perf: - best_perf = perf - worst_feature = f - # Remove the worst feature. - selected_features.remove(worst_feature) - return selected_features - - # Select features based upon the correlation through the Pearson coefficient. - # It return the max_features best features. - def pearson_selection(self, max_features, X_train, y_train): - correlations = [] - full_columns_and_corr = [] - abs_columns_and_corr = [] - - # Compute the absolute correlations per column. - for i in range(0, len(X_train.columns)): - corr, p = pearsonr(X_train[X_train.columns[i]], y_train) - correlations.append(abs(corr)) - if np.isfinite(corr): - full_columns_and_corr.append((X_train.columns[i], corr)) - abs_columns_and_corr.append((X_train.columns[i], abs(corr))) - - sorted_attributes = sorted(abs_columns_and_corr,key=itemgetter(1), reverse=True) - res_list = [x[0] for x in sorted_attributes[0:max_features]] - - # And return the most correlated ones. - return res_list, sorted(full_columns_and_corr,key=itemgetter(1), reverse=True) \ No newline at end of file diff --git a/PythonCode/Chapter7/LearningAlgorithms.py b/PythonCode/Chapter7/LearningAlgorithms.py deleted file mode 100644 index 30f26960..00000000 --- a/PythonCode/Chapter7/LearningAlgorithms.py +++ /dev/null @@ -1,454 +0,0 @@ -############################################################## -# # -# Mark Hoogendoorn and Burkhardt Funk (2017) # -# Machine Learning for the Quantified Self # -# Springer # -# Chapter 7 # -# # -############################################################## - -from sklearn.neural_network import MLPClassifier -from sklearn.neural_network import MLPRegressor -from sklearn.svm import SVC -from sklearn.svm import LinearSVC -from sklearn.svm import SVR -from sklearn.svm import LinearSVR -from sklearn.neighbors import KNeighborsClassifier -from sklearn.neighbors import KNeighborsRegressor -from sklearn.tree import DecisionTreeClassifier -from sklearn.tree import DecisionTreeRegressor -from sklearn import tree -from sklearn.naive_bayes import GaussianNB -from sklearn.ensemble import RandomForestClassifier -from sklearn.ensemble import RandomForestRegressor -from sklearn.model_selection import GridSearchCV -import pandas as pd -import numpy as np - -class ClassificationAlgorithms: - - # Apply a neural network for classification upon the training data (with the specified composition of - # hidden layers and number of iterations), and use the created network to predict the outcome for both the - # test and training set. It returns the categorical predictions for the training and test set as well as the - # probabilities associated with each class, each class being represented as a column in the data frame. - def feedforward_neural_network(self, train_X, train_y, test_X, hidden_layer_sizes=(100,), max_iter=500, activation='logistic', alpha=0.0001, learning_rate='adaptive', gridsearch=True, print_model_details=False): - - - if gridsearch: - tuned_parameters = [{'hidden_layer_sizes': [(5,), (10,), (25,), (100,), (100,5,), (100,10,),], 'activation': [activation], - 'learning_rate': [learning_rate], 'max_iter': [1000, 2000], 'alpha': [alpha]}] - nn = GridSearchCV(MLPClassifier(), tuned_parameters, cv=5, scoring='accuracy') - else: - # Create the model - nn = MLPClassifier(hidden_layer_sizes=hidden_layer_sizes, activation=activation, max_iter=max_iter, learning_rate=learning_rate, alpha=alpha) - - # Fit the model - nn.fit(train_X, train_y.values.ravel()) - - if gridsearch and print_model_details: - print nn.best_params_ - - if gridsearch: - nn = nn.best_estimator_ - - # Apply the model - pred_prob_training_y = nn.predict_proba(train_X) - pred_prob_test_y = nn.predict_proba(test_X) - pred_training_y = nn.predict(train_X) - pred_test_y = nn.predict(test_X) - frame_prob_training_y = pd.DataFrame(pred_prob_training_y, columns=nn.classes_) - frame_prob_test_y = pd.DataFrame(pred_prob_test_y, columns=nn.classes_) - - return pred_training_y, pred_test_y, frame_prob_training_y, frame_prob_test_y - - # Apply a support vector machine for classification upon the training data (with the specified value for - # C, epsilon and the kernel function), and use the created model to predict the outcome for both the - # test and training set. It returns the categorical predictions for the training and test set as well as the - # probabilities associated with each class, each class being represented as a column in the data frame. - def support_vector_machine_with_kernel(self, train_X, train_y, test_X, kernel='rbf', C=1, gamma=1e-3, gridsearch=True, print_model_details=False): - # Create the model - if gridsearch: - tuned_parameters = [{'kernel': ['rbf', 'poly'], 'gamma': [1e-3, 1e-4], - 'C': [1, 10, 100]}] - svm = GridSearchCV(SVC(probability=True), tuned_parameters, cv=5, scoring='accuracy') - else: - svm = SVC(C=C, kernel=kernel, gamma=gamma, probability=True, cache_size=7000) - - # Fit the model - svm.fit(train_X, train_y.values.ravel()) - - if gridsearch and print_model_details: - print svm.best_params_ - - if gridsearch: - svm = svm.best_estimator_ - - # Apply the model - pred_prob_training_y = svm.predict_proba(train_X) - pred_prob_test_y = svm.predict_proba(test_X) - pred_training_y = svm.predict(train_X) - pred_test_y = svm.predict(test_X) - frame_prob_training_y = pd.DataFrame(pred_prob_training_y, columns=svm.classes_) - frame_prob_test_y = pd.DataFrame(pred_prob_test_y, columns=svm.classes_) - - return pred_training_y, pred_test_y, frame_prob_training_y, frame_prob_test_y - - # Apply a support vector machine for classification upon the training data (with the specified value for - # C, epsilon and the kernel function), and use the created model to predict the outcome for both the - # test and training set. It returns the categorical predictions for the training and test set as well as the - # probabilities associated with each class, each class being represented as a column in the data frame. - def support_vector_machine_without_kernel(self, train_X, train_y, test_X, C=1, tol=1e-3, max_iter=1000, gridsearch=True, print_model_details=False): - # Create the model - if gridsearch: - tuned_parameters = [{'max_iter': [1000, 2000], 'tol': [1e-3, 1e-4], - 'C': [1, 10, 100]}] - svm = GridSearchCV(LinearSVC(), tuned_parameters, cv=5, scoring='accuracy') - else: - svm = LinearSVC(C=C, tol=tol, max_iter=max_iter) - - # Fit the model - svm.fit(train_X, train_y.values.ravel()) - - if gridsearch and print_model_details: - print svm.best_params_ - - if gridsearch: - svm = svm.best_estimator_ - - # Apply the model - - distance_training_platt = 1/(1+np.exp(svm.decision_function(train_X))) - pred_prob_training_y = distance_training_platt / distance_training_platt.sum(axis=1)[:,None] - distance_test_platt = 1/(1+np.exp(svm.decision_function(test_X))) - pred_prob_test_y = distance_test_platt / distance_test_platt.sum(axis=1)[:,None] - pred_training_y = svm.predict(train_X) - pred_test_y = svm.predict(test_X) - frame_prob_training_y = pd.DataFrame(pred_prob_training_y, columns=svm.classes_) - frame_prob_test_y = pd.DataFrame(pred_prob_test_y, columns=svm.classes_) - - return pred_training_y, pred_test_y, frame_prob_training_y, frame_prob_test_y - - - # Apply a nearest neighbor approach for classification upon the training data (with the specified value for - # k), and use the created model to predict the outcome for both the - # test and training set. It returns the categorical predictions for the training and test set as well as the - # probabilities associated with each class, each class being represented as a column in the data frame. - def k_nearest_neighbor(self, train_X, train_y, test_X, n_neighbors=5, gridsearch=True, print_model_details=False): - # Create the model - if gridsearch: - tuned_parameters = [{'n_neighbors': [1, 2, 5, 10]}] - knn = GridSearchCV(KNeighborsClassifier(), tuned_parameters, cv=5, scoring='accuracy') - else: - knn = KNeighborsClassifier(n_neighbors=n_neighbors) - - # Fit the model - knn.fit(train_X, train_y.values.ravel()) - - if gridsearch and print_model_details: - print knn.best_params_ - - if gridsearch: - knn = knn.best_estimator_ - - # Apply the model - pred_prob_training_y = knn.predict_proba(train_X) - pred_prob_test_y = knn.predict_proba(test_X) - pred_training_y = knn.predict(train_X) - pred_test_y = knn.predict(test_X) - frame_prob_training_y = pd.DataFrame(pred_prob_training_y, columns=knn.classes_) - frame_prob_test_y = pd.DataFrame(pred_prob_test_y, columns=knn.classes_) - - return pred_training_y, pred_test_y, frame_prob_training_y, frame_prob_test_y - - # Apply a decision tree approach for classification upon the training data (with the specified value for - # the minimum samples in the leaf, and the export path and files if print_model_details=True) - # and use the created model to predict the outcome for both the - # test and training set. It returns the categorical predictions for the training and test set as well as the - # probabilities associated with each class, each class being represented as a column in the data frame. - def decision_tree(self, train_X, train_y, test_X, min_samples_leaf=50, criterion='gini', print_model_details=False, export_tree_path='Example_graphs/Chapter7/', export_tree_name='tree.dot', gridsearch=True): - # Create the model - if gridsearch: - tuned_parameters = [{'min_samples_leaf': [2, 10, 50, 100, 200], - 'criterion':['gini', 'entropy']}] - dtree = GridSearchCV(DecisionTreeClassifier(), tuned_parameters, cv=5, scoring='accuracy') - else: - dtree = DecisionTreeClassifier(min_samples_leaf=min_samples_leaf, criterion=criterion) - - # Fit the model - - dtree.fit(train_X, train_y.values.ravel()) - - if gridsearch and print_model_details: - print dtree.best_params_ - - if gridsearch: - dtree = dtree.best_estimator_ - - # Apply the model - pred_prob_training_y = dtree.predict_proba(train_X) - pred_prob_test_y = dtree.predict_proba(test_X) - pred_training_y = dtree.predict(train_X) - pred_test_y = dtree.predict(test_X) - frame_prob_training_y = pd.DataFrame(pred_prob_training_y, columns=dtree.classes_) - frame_prob_test_y = pd.DataFrame(pred_prob_test_y, columns=dtree.classes_) - - if print_model_details: - ordered_indices = [i[0] for i in sorted(enumerate(dtree.feature_importances_), key=lambda x:x[1], reverse=True)] - print 'Feature importance decision tree:' - for i in range(0, len(dtree.feature_importances_)): - print train_X.columns[ordered_indices[i]], - print ' & ', - print dtree.feature_importances_[ordered_indices[i]] - tree.export_graphviz(dtree, out_file=export_tree_path + export_tree_name, feature_names=train_X.columns, class_names=dtree.classes_) - - return pred_training_y, pred_test_y, frame_prob_training_y, frame_prob_test_y - - # Apply a naive bayes approach for classification upon the training data - # and use the created model to predict the outcome for both the - # test and training set. It returns the categorical predictions for the training and test set as well as the - # probabilities associated with each class, each class being represented as a column in the data frame. - def naive_bayes(self, train_X, train_y, test_X): - # Create the model - nb = GaussianNB() - - # Fit the model - nb.fit(train_X, train_y) - - # Apply the model - pred_prob_training_y = nb.predict_proba(train_X) - pred_prob_test_y = nb.predict_proba(test_X) - pred_training_y = nb.predict(train_X) - pred_test_y = nb.predict(test_X) - frame_prob_training_y = pd.DataFrame(pred_prob_training_y, columns=nb.classes_) - frame_prob_test_y = pd.DataFrame(pred_prob_test_y, columns=nb.classes_) - - return pred_training_y, pred_test_y, frame_prob_training_y, frame_prob_test_y - - # Apply a random forest approach for classification upon the training data (with the specified value for - # the minimum samples in the leaf, the number of trees, and if we should print some of the details of the - # model print_model_details=True) and use the created model to predict the outcome for both the - # test and training set. It returns the categorical predictions for the training and test set as well as the - # probabilities associated with each class, each class being represented as a column in the data frame. - def random_forest(self, train_X, train_y, test_X, n_estimators=10, min_samples_leaf=5, criterion='gini', print_model_details=False, gridsearch=True): - - if gridsearch: - tuned_parameters = [{'min_samples_leaf': [2, 10, 50, 100, 200], - 'n_estimators':[10, 50, 100], - 'criterion':['gini', 'entropy']}] - rf = GridSearchCV(RandomForestClassifier(), tuned_parameters, cv=5, scoring='accuracy') - else: - rf = RandomForestClassifier(n_estimators=n_estimators, min_samples_leaf=min_samples_leaf, criterion=criterion) - - # Fit the model - - rf.fit(train_X, train_y.values.ravel()) - - if gridsearch and print_model_details: - print rf.best_params_ - - if gridsearch: - rf = rf.best_estimator_ - - pred_prob_training_y = rf.predict_proba(train_X) - pred_prob_test_y = rf.predict_proba(test_X) - pred_training_y = rf.predict(train_X) - pred_test_y = rf.predict(test_X) - frame_prob_training_y = pd.DataFrame(pred_prob_training_y, columns=rf.classes_) - frame_prob_test_y = pd.DataFrame(pred_prob_test_y, columns=rf.classes_) - - if print_model_details: - ordered_indices = [i[0] for i in sorted(enumerate(rf.feature_importances_), key=lambda x:x[1], reverse=True)] - print 'Feature importance random forest:' - for i in range(0, len(rf.feature_importances_)): - print train_X.columns[ordered_indices[i]], - print ' & ', - print rf.feature_importances_[ordered_indices[i]] - - return pred_training_y, pred_test_y, frame_prob_training_y, frame_prob_test_y - -class RegressionAlgorithms: - - # Apply a neural network for regression upon the training data (with the specified composition of - # hidden layers and number of iterations), and use the created network to predict the outcome for both the - # test and training set. It returns the categorical numerical predictions for the training and test set. - def feedforward_neural_network(self, train_X, train_y, test_X, hidden_layer_sizes=(100,), max_iter=500, activation='identity', learning_rate='adaptive', gridsearch=True, print_model_details=False): - if gridsearch: - tuned_parameters = [{'hidden_layer_sizes': [(5,), (10,), (25,), (100,), (100,5,), (100,10,),], 'activation': ['identity'], - 'learning_rate': ['adaptive'], 'max_iter': [1000, 2000]}] - nn = GridSearchCV(MLPRegressor(), tuned_parameters, cv=5, scoring='neg_mean_squared_error') - else: - # Create the model - nn = MLPRegressor(hidden_layer_sizes=hidden_layer_sizes, activation=activation, max_iter=max_iter, learning_rate=learning_rate) - - # Fit the model - nn.fit(train_X, train_y) - - if gridsearch and print_model_details: - print rf.best_params_ - - if gridsearch: - nn = nn.best_estimator_ - - # Apply the model - pred_training_y = nn.predict(train_X) - pred_test_y = nn.predict(test_X) - - return pred_training_y, pred_test_y - - # Apply a support vector machine with a given kernel function for regression upon the training data (with the specified value for - # C, gamma and the kernel function), and use the created model to predict the outcome for both the - # test and training set. It returns the predictions for the training and test set. - def support_vector_regression_with_kernel(self, train_X, train_y, test_X, kernel='rbf', C=1, gamma=1e-3, gridsearch=True, print_model_details=False): - if gridsearch: - tuned_parameters = [{'kernel': ['rbf', 'poly'], 'gamma': [1e-3, 1e-4], - 'C': [1, 10, 100]}] - svr = GridSearchCV(SVR(), tuned_parameters, cv=5, scoring='neg_mean_squared_error') - else: - # Create the model - svr = SVR(C=C, kernel=kernel, gamma=gamma) - - # Fit the model - svr.fit(train_X, train_y) - - if gridsearch and print_model_details: - print svr.best_params_ - - if gridsearch: - svr = svr.best_estimator_ - - # Apply the model - pred_training_y = svr.predict(train_X) - pred_test_y = svr.predict(test_X) - - return pred_training_y, pred_test_y - - # Apply a support vector machine without a complex kernel function for regression upon the training data (with the specified value for - # C, tolerance and max iterations), and use the created model to predict the outcome for both the - # test and training set. It returns the predictions for the training and test set. - def support_vector_regression_without_kernel(self, train_X, train_y, test_X, C=1, tol=1e-3, max_iter=1000, gridsearch=True, print_model_details=False): - if gridsearch: - tuned_parameters = [{'max_iter': [1000, 2000], 'tol': [1e-3, 1e-4], - 'C': [1, 10, 100]}] - svr = GridSearchCV(LinearSVR(), tuned_parameters, cv=5, scoring='neg_mean_squared_error') - else: - # Create the model - svr = LinearSVR(C=C, kernel=kernel, tol=tol, max_iter=max_iter) - - # Fit the model - svr.fit(train_X, train_y) - - if gridsearch and print_model_details: - print svr.best_params_ - - if gridsearch: - svr = svr.best_estimator_ - - # Apply the model - pred_training_y = svr.predict(train_X) - pred_test_y = svr.predict(test_X) - - return pred_training_y, pred_test_y - - # Apply a nearest neighbor approach for regression upon the training data (with the specified value for - # k), and use the created model to predict the outcome for both the - # test and training set. It returns the predictions for the training and test set. - def k_nearest_neighbor(self, train_X, train_y, test_X, n_neighbors=5, gridsearch=True, print_model_details=False): - # Create the model - if gridsearch: - tuned_parameters = [{'n_neighbors': [1, 2, 5, 10]}] - knn = GridSearchCV(KNeighborsRegressor(), tuned_parameters, cv=5, scoring='neg_mean_squared_error') - else: - # Create the model - knn = KNeighborsRegressor(n_neighbors=n_neighbors) - - # Fit the model - knn.fit(train_X, train_y) - - if gridsearch and print_model_details: - print knn.best_params_ - - if gridsearch: - knn = knn.best_estimator_ - - # Apply the model - pred_training_y = knn.predict(train_X) - pred_test_y = knn.predict(test_X) - - return pred_training_y, pred_test_y - - # Apply a decision tree approach for regression upon the training data (with the specified value for - # the minimum samples in the leaf, and the export path and files if print_model_details=True) - # and use the created model to predict the outcome for both the - # test and training set. It returns the predictions for the training and test set. - def decision_tree(self, train_X, train_y, test_X, min_samples_leaf=50, criterion='mse', print_model_details=False, export_tree_path='Example_graphs/Chapter7/', export_tree_name='tree.dot', gridsearch=True): - # Create the model - if gridsearch: - tuned_parameters = [{'min_samples_leaf': [2, 10, 50, 100, 200], - 'criterion':['mse']}] - dtree = GridSearchCV(DecisionTreeRegressor(), tuned_parameters, cv=5, scoring='neg_mean_squared_error') - else: - # Create the model - dtree = DecisionTreeRegressor(min_samples_leaf=min_samples_leaf, criterion=criterion) - - # Fit the model - dtree.fit(train_X, train_y) - - if gridsearch and print_model_details: - print dtree.best_params_ - - if gridsearch: - dtree = dtree.best_estimator_ - - # Apply the model - pred_training_y = dtree.predict(train_X) - pred_test_y = dtree.predict(test_X) - - if print_model_details: - print 'Feature importance decision tree:' - ordered_indices = [i[0] for i in sorted(enumerate(dtree.feature_importances_), key=lambda x:x[1], reverse=True)] - for i in range(0, len(dtree.feature_importances_)): - print train_X.columns[ordered_indices[i]], - print ' & ', - print dtree.feature_importances_[ordered_indices[i]] - tree.export_graphviz(dtree, out_file=export_tree_path + export_tree_name, feature_names=train_X.columns, class_names=dtree.classes_) - - return pred_training_y, pred_test_y - - # Apply a random forest approach for regression upon the training data (with the specified value for - # the minimum samples in the leaf, the number of trees, and if we should print some of the details of the - # model print_model_details=True) and use the created model to predict the outcome for both the - # test and training set. It returns the predictions for the training and test set. - def random_forest(self, train_X, train_y, test_X, n_estimators=10, min_samples_leaf=5, criterion='mse', print_model_details=False, gridsearch=True): - - if gridsearch: - tuned_parameters = [{'min_samples_leaf': [2, 10, 50, 100, 200], - 'n_estimators':[10, 50, 100], - 'criterion':['mse']}] - rf = GridSearchCV(RandomForestRegressor(), tuned_parameters, cv=5, scoring='neg_mean_squared_error') - else: - # Create the model - rf = RandomForestRegressor(n_estimators=n_estimators, min_samples_leaf=min_samples_leaf, criterion=criterion) - - # Fit the model - rf.fit(train_X, train_y) - - if gridsearch and print_model_details: - print rf.best_params_ - - if gridsearch: - rf = rf.best_estimator_ - - # Apply the model - pred_training_y = rf.predict(train_X) - pred_test_y = rf.predict(test_X) - - if print_model_details: - print 'Feature importance random forest:' - ordered_indices = [i[0] for i in sorted(enumerate(rf.feature_importances_), key=lambda x:x[1], reverse=True)] - - for i in range(0, len(rf.feature_importances_)): - print train_X.columns[ordered_indices[i]], - print ' & ', - print rf.feature_importances_[ordered_indices[i]] - - return pred_training_y, pred_test_y diff --git a/PythonCode/Chapter7/PrepareDatasetForLearning.py b/PythonCode/Chapter7/PrepareDatasetForLearning.py deleted file mode 100644 index 8d42bfed..00000000 --- a/PythonCode/Chapter7/PrepareDatasetForLearning.py +++ /dev/null @@ -1,194 +0,0 @@ -############################################################## -# # -# Mark Hoogendoorn and Burkhardt Funk (2017) # -# Machine Learning for the Quantified Self # -# Springer # -# Chapter 7 # -# # -############################################################## - -from sklearn.model_selection import train_test_split -import numpy as np -import random -import copy -import pandas as pd - -# This class creates datasets that can be used by the learning algorithms. Up till now we have -# assumed binary columns for each class, we will for instance introduce approaches to create -# a single categorical attribute. -class PrepareDatasetForLearning: - - default_label = 'undefined' - class_col = 'class' - person_col = 'person' - - # This function creates a single class column based on a set of binary class columns. - # it essentially merges them. It removes the old label columns. - def assign_label(self, dataset, class_labels): - # Find which columns are relevant based on the possibly partial class_label - # specification. - labels = [] - for i in range(0, len(class_labels)): - labels.extend([name for name in list(dataset.columns) if class_labels[i] == name[0:len(class_labels[i])]]) - - # Determine how many class values are label as 'true' in our class columns. - sum_values = dataset[labels].sum(axis=1) - # Create a new 'class' column and set the value to the default class. - dataset['class'] = self.default_label - for i in range(0, len(dataset.index)): - # If we have exactly one true class column, we can assign that value, - # otherwise we keep the default class. - if sum_values.ix[i,:] == 1: - dataset.ix[i, self.class_col] = dataset.ix[i, labels].idxmax(axis=1) - # And remove our old binary columns. - dataset = dataset.drop(labels, axis=1) - return dataset - - # Split a dataset of a single person for a classificaiton problem with the the specified class columns class_labels. - # We can have multiple targets if we want. It assumes a list in 'class_labels' - # If 'like' is specified in matching, we will merge the columns that contain the class_labels into a single - # columns. We can select a filter for rows where we are unable to identifty a unique - # class and we can select whether we have a temporal dataset or not. In the former, we will select the first - # training_frac of the data for training and the last 1-training_frac for testing. Otherwise, we select points randomly. - # We return a training set, the labels of the training set, and the same for a test set. We can set the random seed - # to make the split reproducible. - def split_single_dataset_classification(self, dataset, class_labels, matching, training_frac, filter=True, temporal=False, random_state=0): - # Create a single class column if we have the 'like' option. - if matching == 'like': - dataset = self.assign_label(dataset, class_labels) - class_labels = self.class_col - elif len(class_labels) == 1: - class_labels = class_labels[0] - - # Filer NaN is desired and those for which we cannot determine the class should be removed. - if filter: - dataset = dataset.dropna() - dataset = dataset[dataset['class'] != self.default_label] - - # The features are the ones not in the class label. - features = [x for x in dataset.columns if x not in class_labels] - - # For temporal data, we select the desired fraction of training data from the first part - # and use the rest as test set. - if temporal: - end_training_set = int(training_frac * len(dataset.index)) - training_set_X = dataset.ix[0:end_training_set, features] - training_set_y = dataset.ix[0:end_training_set, class_labels] - test_set_X = dataset.ix[end_training_set:len(dataset.index), features] - test_set_y = dataset.ix[end_training_set:len(dataset.index), class_labels] - print test_set_y - # For non temporal data we use a standard function to randomly split the dataset. - else: - training_set_X, test_set_X, training_set_y, test_set_y = train_test_split(dataset.ix[:,features], - dataset.ix[:,class_labels], test_size=(1-training_frac), stratify=dataset.ix[:,class_labels], random_state=random_state) - return training_set_X, test_set_X, training_set_y, test_set_y - - def split_single_dataset_regression_by_time(self, dataset, target, start_training, end_training, end_test): - training_instances = dataset[start_training:end_training] - test_instances = dataset[end_training:end_test] - train_y = copy.deepcopy(training_instances[target]) - test_y = copy.deepcopy(test_instances[target]) - train_X = training_instances - del train_X[target] - test_X = test_instances - del test_X[target] - return train_X, test_X, train_y, test_y - - - # Split a dataset of a single person for a regression with the specified targets. We can - # have multiple targets if we want. It assumes a list in 'targets' - # We can select whether we have a temporal dataset or not. In the former, we will select the first - # training_frac of the data for training and the last 1-training_frac for testing. Otherwise, we select points randomly. - # We return a training set, the labels of the training set, and the same for a test set. We can set the random seed - # to make the split reproducible. - def split_single_dataset_regression(self, dataset, targets, training_frac, filter=False, temporal=False, random_state=0): - # We just temporarily change some attribute values associated with the classification algorithm - # and change them for numerical values. We then simply apply the classification variant of the - # function. - temp_default_label = self.default_label - self.default_label = np.nan - training_set_X, test_set_X, training_set_y, test_set_y = self.split_single_dataset_classification(dataset, targets, 'exact', training_frac, filter=filter, temporal=temporal, random_state=random_state) - self.default_label = temp_default_label - return training_set_X, test_set_X, training_set_y, test_set_y - - # If we have multiple overlapping indices (e.g. user 1 and user 2 have the same time stamps) our - # series cannot me merged properly, therefore we can create a new index. - def update_set(self, source_set, addition): - if source_set is None: - return addition - else: - # Check if the index is unique. If not, create a new index. - if len(set(source_set.index) & set(addition.index)) > 0: - return source_set.append(addition).reset_index(drop=True) - else: - return source_set.append(addition) - - # If we have multiple datasets representing different users and want to perform classification, - # we do the same as we have seen for the single dataset - # case. However, now we can in addition select what we would like to predict: do we want to perform well for an unknown - # use (unknown_user=True) or for unseen data over all users. In the former, it return a training set containing - # all data of training_frac users and test data for the remaining users. If the later, it return the training_frac - # data of each user as a training set, and 1-training_frac data as a test set. - def split_multiple_datasets_classification(self, datasets, class_labels, matching, training_frac, filter=False, temporal=False, unknown_users=False, random_state=0): - training_set_X = None - training_set_y = None - test_set_X = None - test_set_y = None - - # If we want to learn to predict well for unknown users. - if unknown_users: - # Shuffle the users we have. - random.seed(random_state) - indices = range(0, len(datasets)) - random.shuffle(indices) - training_len = int(training_frac * len(datasets)) - - # And select the data of the first fraction training_frac of users as the training set and the data of - # the remaining users as test set. - for i in range(0, training_len): - # We use the single dataset function for classification and add it to the training data - training_set_X_person, test_set_X_person, training_set_y_person, test_set_y_person = self.split_single_dataset_classification(datasets[indices[i]], class_labels, matching, - 1, filter=filter, temporal=temporal, random_state=random_state) - # We add a person column. - training_set_X_person[self.person_col] = indices[i] - training_set_X = self.update_set(training_set_X, training_set_X_person) - training_set_y = self.update_set(training_set_y, training_set_y_person) - - for j in range(training_len, len(datasets)): - # We use the single dataset function for classification and add it to the test data - training_set_X_person, test_set_X_person, training_set_y_person, test_set_y_person = self.split_single_dataset_classification(datasets[indices[j]], class_labels, matching, - 1, filter=filter, temporal=temporal, random_state=random_state) - # We add a person column. - training_set_X_person[self.person_col] = indices[j] - test_set_X = self.update_set(test_set_X, training_set_X_person) - test_set_y = self.update_set(test_set_y, training_set_y_person) - else: - init = True - # Otherwise we split each dataset individually in a training and test set and add them. - for i in range(0, len(datasets)): - training_set_X_person, test_set_X_person, training_set_y_person, test_set_y_person = self.split_single_dataset_classification(datasets[i], class_labels, matching, - training_frac, filter=filter, temporal=temporal, random_state=random_state) - # We add a person column. - training_set_X_person[self.person_col] = i - test_set_X_person[self.person_col] = i - training_set_X = self.update_set(training_set_X, training_set_X_person) - training_set_y = self.update_set(training_set_y, training_set_y_person) - test_set_X = self.update_set(test_set_X, test_set_X_person) - test_set_y = self.update_set(test_set_y, test_set_y_person) - return training_set_X, test_set_X, training_set_y, test_set_y - - # If we have multiple datasets representing different users and want to perform regression, - # we do the same as we have seen for the single dataset - # case. However, now we can in addition select what we would like to predict: do we want to perform well for an unknown - # use (unknown_user=True) or for unseen data over all users. In the former, it return a training set containing - # all data of training_frac users and test data for the remaining users. If the later, it return the training_frac - # data of each user as a training set, and 1-training_frac data as a test set. - def split_multiple_datasets_regression(self, datasets, targets, training_frac, filter=False, temporal=False, unknown_users=False, random_state=0): - # We just temporarily change some attribute values associated with the regression algorithm - # and change them for numerical values. We then simply apply the classification variant of the - # function. - temp_default_label = self.default_label - self.default_label = np.nan - training_set_X, test_set_X, training_set_y, test_set_y = self.split_multiple_datasets_classification(datasets, targets, 'exact', training_frac, filter=filter, temporal=temporal, unknown_users=unknown_users, random_state=random_state) - self.default_label = temp_default_label - return training_set_X, test_set_X, training_set_y, test_set_y diff --git a/PythonCode/Chapter7/__init__.py b/PythonCode/Chapter7/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/PythonCode/Chapter8/LearningAlgorithmsTemporal.py b/PythonCode/Chapter8/LearningAlgorithmsTemporal.py deleted file mode 100644 index aa7a673d..00000000 --- a/PythonCode/Chapter8/LearningAlgorithmsTemporal.py +++ /dev/null @@ -1,613 +0,0 @@ -############################################################## -# # -# Mark Hoogendoorn and Burkhardt Funk (2017) # -# Machine Learning for the Quantified Self # -# Springer # -# Chapter 8 # -# # -############################################################## - -import pandas as pd -import scipy.linalg -import copy -import random -import numpy as np -from scipy import linalg -import inspyred -from Chapter8.dynsys.Model import Model -from Chapter8.dynsys.Evaluator import Evaluator -from pybrain.structure import RecurrentNetwork -from pybrain.structure import LinearLayer, SigmoidLayer, FullConnection -from pybrain.datasets import SequentialDataSet -from pybrain.supervised.trainers import BackpropTrainer -from pybrain.supervised.trainers import RPropMinusTrainer -from pybrain.tools.validation import testOnSequenceData -from pybrain.tools.shortcuts import buildNetwork -from Chapter7.Evaluation import ClassificationEvaluation -from Chapter7.Evaluation import RegressionEvaluation -import sys -import matplotlib.pyplot as plot -import pyflux as pf -from statsmodels.tsa.arima_model import ARIMA - - - -# The class includes several algorithms that capture the temporal dimension explicitly for -# classification problems. -class TemporalClassificationAlgorithms: - - # This function converts a single dataset (no test or train split up) with possibly - # categorical attributes to a numerical dataset, where categorical attributes are - # taken as dummy variables (i.e. binary columns for each possible value). - def create_numerical_single_dataset(self, dataset): - return copy.deepcopy(pd.get_dummies(pd.DataFrame(dataset), prefix='', prefix_sep='')) - - # This function converts a train and test dataset with possibly - # categorical attributes to a numerical dataset, where categorical attributes are - # taken as dummy variables (i.e. binary columns for each possible value). - def create_numerical_multiple_dataset(self, train, test): - - # Combine the two datasets as we want to include all possible values - # for the categorical attribute. - total_dataset = train.append(test) - - # Convert and split up again. - total_dataset = pd.get_dummies(pd.DataFrame(total_dataset), prefix='', prefix_sep='') - new_train = copy.deepcopy(total_dataset.iloc[0:len(train.index),:]) - new_test = copy.deepcopy(total_dataset.iloc[len(train.index):len(train.index)+len(test.index),:]) - return new_train, new_test - - # This function initializes an echo state network given the specified number of - # inputs, outputs, and nodes in the reservoir. It returns the weight matrices W_in, - # W, and W_back. - def initialize_echo_state_network(self, inputs, outputs, reservoir): - - # http://minds.jacobs-university.de/mantas/code - # Create random matrices. - Win = (np.random.rand(reservoir,1+inputs)-0.5) * 1 - W = np.random.rand(reservoir,reservoir)-0.5 - Wback = (np.random.rand(reservoir,outputs)-0.5) * 1 - - # Adjust W to "guarantee" the echo state property. - rhoW = max(abs(linalg.eig(W)[0])) - W *= 1.25 / rhoW - return Win, W, Wback - - # Predict the values of an echo state network given the matrices Win, W, Wback, Wout, the setting for a, - # the reservoir size, and the dataset (which potentially includes the target as well). The cols are - # the relevant columns of X. Finally, per_time_step=True means that we feed to correct output back into - # the network instead of our prediction (this requires a non empty y_true). It returns the predicted class - # and probabilites per class in the form a pandas dataframe with a column per class value. - # http://minds.jacobs-university.de/sites/default/files/uploads/mantas/code/minimalESN.py.txt - - def predict_values_echo_state_network(self, Win, W, Wback, Wout, a, reservoir_size, X, y_true, cols, per_time_step): - # http://minds.jacobs-university.de/mantas/code - # Set the initial activation to zero. - x = np.zeros((reservoir_size,1)) - Y = [] - - # Predict all time points. - for t in range(0, len(X.index)): - - # Set the input according to X. - u = X.ix[t,:].as_matrix() - - # If we have a previous time point - if t > 0: - - # If we predict per time step, set the previous value - # to the true previous value. - if per_time_step: - y_prev = y_true.ix[t-1,:].as_matrix() - - # Otherwise set it to the predicted value. - else: - y_prev= y - - # If we do not have a previous time point, set the values to 0. - else: - y_prev = np.array([0]*len(cols)) - - # Compute the activation of the reservoir. - x = (1-a)*x + a*np.tanh( np.dot( Win, np.vstack(np.insert(u,0,1)) ) + np.dot( W, x ) + np.dot( Wback, np.vstack(y_prev) )) - - # And the output. - y = np.tanh( np.dot( Wout, np.hstack(np.insert(np.insert(x, 0, u), 0, 1)) )) - Y.append(y) - y_result = pd.DataFrame(Y, columns=cols, index=X.index) - return y_result.idxmax(axis=1), y_result - - # Given a dictionary with an ordered list of parameter values to try, return - # all possible combinations in the form of a list. - def generate_parameter_combinations(self, parameter_dict, params): - combinations = [] - if len(params) == 1: - values = parameter_dict[params[0]] - for val in values: - combinations.append([val]) - return combinations - else: - params_without_first_element = copy.deepcopy(params) - params_without_first_element.pop(0) - params_without_first_element_combinations = self.generate_parameter_combinations(parameter_dict, params_without_first_element) - values_first_element = parameter_dict[params[0]] - for i in range(0, len(values_first_element)): - for j in range(0, len(params_without_first_element_combinations)): - list = [values_first_element[i]] - list.extend(params_without_first_element_combinations[j]) - combinations.append(list) - return combinations - - def gridsearch_reservoir_computing(self, train_X, train_y, test_X, test_y, per_time_step=False, error = 'mse', gridsearch_training_frac=0.7): - tuned_parameters = {'a': [0.6, 0.8], 'reservoir_size':[400, 700, 1000]} -# tuned_parameters = {'a': [0.4], 'reservoir_size':[250]} - params = tuned_parameters.keys() - combinations = self.generate_parameter_combinations(tuned_parameters, params) - split_point = int(gridsearch_training_frac * len(train_X.index)) - train_params_X = train_X.ix[0:split_point,] - test_params_X = train_X.ix[split_point:len(train_X.index),] - train_params_y = train_y.ix[0:split_point,] - test_params_y = train_y.ix[split_point:len(train_X.index),] - - if error == 'mse': - best_error = sys.float_info.max - elif error == 'accuracy': - best_error = 0 - - best_combination = [] - for comb in combinations: - print comb - # Order of the keys might have changed. - keys = tuned_parameters.keys() - pred_train_y, pred_test_y, pred_train_y_prob, pred_test_y_prob = self.reservoir_computing(train_params_X, train_params_y, test_params_X, test_params_y, - reservoir_size=comb[keys.index('reservoir_size')], a=comb[keys.index('a')], per_time_step=per_time_step, - gridsearch=False) - - if error == 'mse': - eval = RegressionEvaluation() - mse = eval.mean_squared_error(test_params_y, pred_test_y_prob) - if mse < best_error: - best_error = mse - best_combination = comb - elif error == 'accuracy': - eval = ClassificationEvaluation() - acc = eval.accuracy(test_params_y, pred_test_y) - if acc > best_error: - best_error = acc - best_combination = comb - - print '-------' - print best_combination - print '-------' - return best_combination[keys.index('reservoir_size')], best_combination[keys.index('a')] - - def normalize(self, train, test, range_min, range_max): - - total = copy.deepcopy(train).append(test, ignore_index=True) - - max = total.max() - min = total.min() - difference = max - min - difference = difference.replace(0, 1) - - new_train = (((train - min)/difference) * (range_max - range_min)) + range_min - new_test = (((test - min)/difference) * (range_max - range_min)) + range_min - return new_train, new_test, min, max - - - def denormalize(self, y, min, max, range_min, range_max): - difference = max - min - difference = difference.replace(0, 1) - - y = (y - range_min)/(range_max - range_min) - - return (y * difference) + min - - # Apply an echo state network for classification upon the training data (with the specified reservoir size), - # and use the created network to predict the outcome for both the - # test and training set. It returns the categorical predictions for the training and test set as well as the - # probabilities associated with each class, each class being represented as a column in the data frame. - def reservoir_computing(self, train_X, train_y, test_X, test_y, reservoir_size=100, a=0.8, per_time_step=False, gridsearch=True, gridsearch_training_frac=0.7, error='accuracy'): - # Inspired by http://minds.jacobs-university.de/mantas/code - - if gridsearch: - reservoir_size, a = self.gridsearch_reservoir_computing(train_X, train_y, test_X, test_y, per_time_step=per_time_step, gridsearch_training_frac=gridsearch_training_frac, error=error) - - # We assume these parameters as fixed, but feel free to change them as well. - washout_period = 10 - - # Create a numerical dataset without categorical attributes. - new_train_X, new_test_X = self.create_numerical_multiple_dataset(train_X, test_X) - if test_y is None: - new_train_y = self.create_numerical_single_dataset(train_y) - new_test_y = None - else: - new_train_y, new_test_y = self.create_numerical_multiple_dataset(train_y, test_y) - - # We normalize the input..... - new_train_X, new_test_X, min_X, max_X = self.normalize(new_train_X, new_test_X, 0, 1) - new_train_y, new_test_y, min_y, max_y = self.normalize(new_train_y, new_test_y, -0.9, 0.9) - - inputs = len(new_train_X.columns) - outputs = len(new_train_y.columns) - - # Randomly initialize our weight vectors. - Win, W, Wback = self.initialize_echo_state_network(inputs, outputs, reservoir_size) - - - # Allocate memory for our result matrices. - X = np.zeros((len(train_X.index)-washout_period, 1+inputs+reservoir_size)) - Yt = new_train_y.ix[washout_period:len(new_train_y.index),:].as_matrix() - Yt = np.arctanh( Yt ) - x = np.zeros((reservoir_size,1)) - - # Train over all time points. - for t in range(0, len(new_train_X.index)): - - # Set the inputs according to the values seen in the training set. - u = new_train_X.ix[t,:].as_matrix() - - # Set the previous target value to the real value if available. - if t > 0: - y_prev= new_train_y.ix[t-1,:].as_matrix() - else: - y_prev = np.array([0]*outputs) - - # Determine the activation of the reservoir. - x = (1-a)*x + a*np.tanh( np.dot( Win, np.vstack(np.insert(u,0,1)) ) + np.dot( W, x ) + np.dot( Wback, np.vstack(y_prev) )) - - # And store the values obtained after the washout period. - if t >= washout_period: - X[t-washout_period,:] = np.hstack(np.insert(np.insert(x, 0, u), 0, 1)) - - - # Train Wout. - X_p = linalg.pinv(X) - Wout = np.transpose(np.dot( X_p, Yt )) - - # And predict for both training and test set. - - - pred_train_y, pred_train_y_prob = self.predict_values_echo_state_network(Win, W, Wback, Wout, a, reservoir_size, new_train_X, new_train_y, new_train_y.columns, per_time_step) - pred_test_y, pred_test_y_prob = self.predict_values_echo_state_network(Win, W, Wback, Wout, a, reservoir_size, new_test_X, new_test_y, new_train_y.columns, per_time_step) - - pred_train_y_prob = self.denormalize(pred_train_y_prob, min_y, max_y, -0.9, 0.9) - pred_test_y_prob = self.denormalize(pred_test_y_prob, min_y, max_y, -0.9, 0.9) - - return pred_train_y, pred_test_y, pred_train_y_prob, pred_test_y_prob - - # Creates a recurrent neural network dataset according to the pybrain specification. - # Returns this new format. - def rnn_dataset(self, X, y): - - # Create an empty dataset. - ds = SequentialDataSet(len(X.columns), len(y.columns)) - - # And add all rows... - for i in range(0, len(X.index)): - ds.addSample(tuple(X.ix[i,:].values), tuple(y.ix[i,:].values)) - return ds - - # Do a gridsearch for the recurrent neural network... - def gridsearch_recurrent_neural_network(self, train_X, train_y, test_X, test_y, error='accuracy', gridsearch_training_frac=0.7): - tuned_parameters = {'n_hidden_neurons': [50, 100], 'iterations':[250, 500], 'outputbias': [True]} - params = tuned_parameters.keys() - combinations = self.generate_parameter_combinations(tuned_parameters, params) - split_point = int(gridsearch_training_frac * len(train_X.index)) - train_params_X = train_X.ix[0:split_point,] - test_params_X = train_X.ix[split_point:len(train_X.index),] - train_params_y = train_y.ix[0:split_point,] - test_params_y = train_y.ix[split_point:len(train_X.index),] - - if error == 'mse': - best_error = sys.float_info.max - elif error == 'accuracy': - best_error = 0 - - best_combination = [] - for comb in combinations: - print comb - # Order of the keys might have changed. - keys = tuned_parameters.keys() - pred_train_y, pred_test_y, pred_train_y_prob, pred_test_y_prob = self.recurrent_neural_network(train_params_X, train_params_y, test_params_X, test_params_y, - n_hidden_neurons=comb[params.index('n_hidden_neurons')], iterations=comb[params.index('iterations')], - outputbias=comb[params.index('outputbias')], gridsearch=False) - - if error == 'mse': - eval = RegressionEvaluation() - mse = eval.mean_squared_error(test_params_y, pred_test_y_prob) - if mse < best_error: - best_error = mse - best_combination = comb - elif error == 'accuracy': - eval = ClassificationEvaluation() - acc = eval.accuracy(test_params_y, pred_test_y) - if acc > best_error: - best_error = acc - best_combination = comb - print '-------' - print best_combination - print '-------' - return best_combination[params.index('n_hidden_neurons')], best_combination[params.index('iterations')], best_combination[params.index('outputbias')] - - # Apply a recurrent neural network for classification upon the training data (with the specified number of - # hidden neurons and iterations), and use the created network to predict the outcome for both the - # test and training set. It returns the categorical predictions for the training and test set as well as the - # probabilities associated with each class, each class being represented as a column in the data frame. - def recurrent_neural_network(self, train_X, train_y, test_X, test_y, n_hidden_neurons=50, iterations=100, gridsearch=False, gridsearch_training_frac=0.7, outputbias=False, error='accuracy'): - - if gridsearch: - n_hidden_neurons, iterations, outputbias = self.gridsearch_recurrent_neural_network(train_X, train_y, test_X, test_y, gridsearch_training_frac=gridsearch_training_frac, error=error) - # Create numerical datasets first. - new_train_X, new_test_X = self.create_numerical_multiple_dataset(train_X, test_X) - new_train_y, new_test_y = self.create_numerical_multiple_dataset(train_y, test_y) - - # We normalize the input..... - new_train_X, new_test_X, min_X, max_X = self.normalize(new_train_X, new_test_X, 0, 1) - new_train_y, new_test_y, min_y, max_y = self.normalize(new_train_y, new_test_y, 0.1, 0.9) - - # Create the proper pybrain datasets. - ds_training = self.rnn_dataset(new_train_X, new_train_y) - ds_test = self.rnn_dataset(new_test_X, new_test_y) - - inputs = len(new_train_X.columns) - outputs = len(new_train_y.columns) - - # Build the network with the proper parameters. - n = buildNetwork(inputs, n_hidden_neurons, outputs, hiddenclass=SigmoidLayer, outclass=SigmoidLayer, outputbias=outputbias, recurrent=True) - - # Train using back propagation through time. - #trainer = BackpropTrainer(n, dataset=ds_training, verbose=False, momentum=0.9, learningrate=0.01) - trainer = RPropMinusTrainer(n, dataset=ds_training, verbose=False) - - for i in range(0, iterations): - trainer.train() - -# for mod in n.modules: -# for conn in n.connections[mod]: -# print conn -# for cc in range(len(conn.params)): -# print conn.whichBuffers(cc), conn.params[cc] - - # Determine performance on the training and test set.... -# Y_train = [] -# for i in range(0, len(new_train_X.index)): -# input = tuple(new_train_X.ix[i,:].values) -# output = n.activate(input) -# Y_train.append(output) -# Y_test = [] -# for i in range(0, len(new_test_X.index)): -# Y_test.append(n.activate(tuple(new_test_X.ix[i,:].values))) - - Y_train = [] - Y_test = [] - - for sample, target in ds_training.getSequenceIterator(0): - Y_train.append(n.activate(sample).tolist()) - - for sample, target in ds_test.getSequenceIterator(0): - Y_test.append(n.activate(sample).tolist()) - - y_train_result = pd.DataFrame(Y_train, columns=new_train_y.columns, index=train_y.index) - y_test_result = pd.DataFrame(Y_test, columns=new_test_y.columns, index=test_y.index) - -# print y_train_result - - y_train_result = self.denormalize(y_train_result, min_y, max_y, 0.1, 0.9) - y_test_result = self.denormalize(y_test_result, min_y, max_y, 0.1, 0.9) - -# plot.plot(train_y.index, train_y) -# plot.hold(True) -# plot.plot(train_y.index, pred_train_y_prob) -# plot.show() - - - return y_train_result.idxmax(axis=1), y_test_result.idxmax(axis=1), y_train_result, y_test_result - -# The class includes several algorithm that capture the temporal dimension explicitly for -# classification problems. -class TemporalRegressionAlgorithms: - - # Applies a known dynamical systems model for a regression problem by tuning its parameters towards the data. - # Hereto, it can use multiple objectives as it uses the nsga 2 algorithm. To be provided are: - # training set (both input and target) - # test set (both input and target) - # a list of columns the model addresses (i.e. the states), the string should be preceded by 'self.' in order for the approach to work. - # a list of equations to derive the specified states, again using 'self.' preceding all parameters and columns names. - # a list of targets (a subset of the columns) (again with 'self.') - # a list of parameters in the equations (again with 'self.') - # the population size of nsga 2 - # the maximum number of generations for nsga 2 - # whether we want to predict per time point (i.e. we reset the state values of the previous time point to their - # observed values. - # It returns a series of predictions for the training and test sets that are the results of parameter setting that are positioned - # on the Pareto front. - def dynamical_systems_model_nsga_2(self, train_X, train_y, test_X, test_y, columns, equations, targets, parameters, pop_size=10, max_generations=100, per_time_step=True): - prng = random.Random() - evaluator = Evaluator() - model = Model() - - # Create the model. - model.set_model(columns, equations, parameters) - - # Set the desired/known values in our evaluator. - evaluator.set_values(model, train_X, train_y, test_X, test_y, targets) - - # Initialize the NSGA2 algorithm. - ea = inspyred.ec.emo.NSGA2(prng) - ea.variator = [inspyred.ec.variators.blend_crossover, - inspyred.ec.variators.gaussian_mutation] - ea.terminator = inspyred.ec.terminators.generation_termination - - # Let it run. - final_pop = ea.evolve(generator=evaluator.generator, evaluator=evaluator.evaluator_multi_objective, pop_size=pop_size, maximize=False, bounder=None,max_generations=max_generations) - final_arc = ea.archive - - # For all solutions (they reside on the pareto front) - return_values = [] - for f in final_arc: - - # Predict the results. - train_fitness, y_train_pred = evaluator.predict(f.candidate, training=True, per_time_step=per_time_step) - test_fitness, y_test_pred = evaluator.predict(f.candidate, training=False, per_time_step=per_time_step) - - # And collect the predictions and fitness values. - row = [y_train_pred, train_fitness, y_test_pred, test_fitness] - return_values.append(row) - return return_values - - # Applies a known dynamical systems model for a regression problem by tuning its parameters towards the data using a GA. - # Hereto, it can use multiple objectives but will just average the values of each one. In the end, one solution - # will be provided. To be provided are: - # training set (both input and target) - # test set (both input and target) - # a list of columns the model addresses (i.e. the states), the string should be preceded by 'self.' in order for the approach to work. - # a list of equations to derive the specified states, again using 'self.' preceding all parameters and columns names. - # a list of targets (a subset of the columns) (again with 'self.') - # a list of parameters in the equations (again with 'self.') - # the population size of the GA - # the maximum number of generations for the GA. - # whether we want to predict per time point (i.e. we reset the state values of the previous time point to their - # observed values. - # It returns a prediction for the training and test sets that are the result of the best parameter setting. - def dynamical_systems_model_ga(self, train_X, train_y, test_X, test_y, columns, equations, targets, parameters, pop_size=10, max_generations=100, per_time_step=True): - prng = random.Random() - evaluator = Evaluator() - model = Model() - - # Create the model. - model.set_model(columns, equations, parameters) - - # Set the desired/known values in our evaluator. - evaluator.set_values(model, train_X, train_y, test_X, test_y, targets) - ea = inspyred.ec.GA(prng) - ea.terminator = inspyred.ec.terminators.generation_termination - - # Let it run. - final_pop = ea.evolve(generator=evaluator.generator, evaluator=evaluator.evaluator_single_objective, pop_size=pop_size, maximize=False, bounder=None,max_generations=max_generations) - - # Select the best one and use it to predict. - best = min(final_pop) - train_fitness, y_train_pred = evaluator.predict(best.candidate, training=True, per_time_step=per_time_step) - test_fitness, y_test_pred = evaluator.predict(best.candidate, training=False, per_time_step=per_time_step) - return y_train_pred, y_test_pred - - # Applies a known dynamical systems model for a regression problem by tuning its parameters towards the data using SA. - # Hereto, it can use multiple objectives but will just average the values of each one. In the end, one solution - # will be provided. To be provided are: - # training set (both input and target) - # test set (both input and target) - # a list of columns the model addresses (i.e. the states), the string should be preceded by 'self.' in order for the approach to work. - # a list of equations to derive the specified states, again using 'self.' preceding all parameters and columns names. - # a list of targets (a subset of the columns) (again with 'self.') - # a list of parameters in the equations (again with 'self.') - # the population size for SA - # the maximum number of generations for the SA. - # whether we want to predict per time point (i.e. we reset the state values of the previous time point to their - # observed values. - # It returns a prediction for the training and test sets that are the result of the best parameter setting. - def dynamical_systems_model_sa(self, train_X, train_y, test_X, test_y, columns, equations, targets, parameters, pop_size=10, max_generations=100, per_time_step=True): - prng = random.Random() - evaluator = Evaluator() - model = Model() - - # Create the model. - model.set_model(columns, equations, parameters) - - # Set the desired/known values in our evaluator. - evaluator.set_values(model, train_X, train_y, test_X, test_y, targets) - ea = inspyred.ec.SA(prng) - ea.terminator = inspyred.ec.terminators.generation_termination - - # Let it run. - final_pop = ea.evolve(generator=evaluator.generator, evaluator=evaluator.evaluator_single_objective, maximize=False, bounder=None, max_generations=max_generations) - - # Select the best one and use it to predict. - best = min(final_pop) - train_fitness, y_train_pred = evaluator.predict(best.candidate, training=True, per_time_step=per_time_step) - test_fitness, y_test_pred = evaluator.predict(best.candidate, training=False, per_time_step=per_time_step) - return y_train_pred, y_test_pred - - # Apply an echo state network for regression upon the training data (with the specified reservoir size), - # and use the created network to predict the outcome for both the - # test and training set. It returns the predictions for the training and test set. - def reservoir_computing(self, train_X, train_y, test_X, test_y, reservoir_size=100, a=0.8, per_time_step=False, gridsearch=True, gridsearch_training_frac=0.7): - # Simply apply the classification variant, but only consider the numerical predictions. - tc = TemporalClassificationAlgorithms() - pred_train_y, pred_test_y, pred_train_y_val, pred_test_y_val = tc.reservoir_computing(train_X, train_y, test_X, test_y, reservoir_size=reservoir_size, a=a, per_time_step=per_time_step, gridsearch=gridsearch, gridsearch_training_frac=gridsearch_training_frac, error='mse') - return pred_train_y_val, pred_test_y_val - - - # Apply a recurrent neural network for regression upon the training data (with the specified number of - # hidden neurons and iterations), and use the created network to predict the outcome for both the - # test and training set. It returns the predictions for the training and test set. - def recurrent_neural_network(self, train_X, train_y, test_X, test_y, n_hidden_neurons=50, iterations=100, gridsearch=False, gridsearch_training_frac=0.7, outputbias=False): - # Simply apply the classification variant, but only consider the numerical predictions. - tc = TemporalClassificationAlgorithms() - pred_train_y, pred_test_y, pred_train_y_val, pred_test_y_val = tc.recurrent_neural_network(train_X, train_y, test_X, test_y, n_hidden_neurons=n_hidden_neurons, iterations=iterations, gridsearch=gridsearch, gridsearch_training_frac=gridsearch_training_frac, outputbias=outputbias, error='mse') - return pred_train_y_val, pred_test_y_val - - # Do a gridsearch for the time series. - def gridsearch_time_series(self, train_X, train_y, test_X, test_y, error = 'mse', gridsearch_training_frac=0.7): - tuned_parameters = {'ar': [0, 5], 'ma':[0, 5], 'd':[1]} - params = tuned_parameters.keys() - - tc = TemporalClassificationAlgorithms() - combinations = tc.generate_parameter_combinations(tuned_parameters, params) - split_point = int(gridsearch_training_frac * len(train_X.index)) - train_params_X = train_X.ix[0:split_point,] - test_params_X = train_X.ix[split_point:len(train_X.index),] - train_params_y = train_y.ix[0:split_point,] - test_params_y = train_y.ix[split_point:len(train_X.index),] - - if error == 'mse': - best_error = sys.float_info.max - elif error == 'accuracy': - best_error = 0 - - best_combination = [] - for comb in combinations: - print comb - # Order of the keys might have changed. - keys = tuned_parameters.keys() - pred_train_y, pred_test_y = self.time_series(train_params_X, train_params_y, test_params_X, test_params_y, - ar=comb[keys.index('ar')], ma=comb[keys.index('ma')],d=comb[keys.index('d')], - gridsearch=False) - - eval = RegressionEvaluation() - mse = eval.mean_squared_error(test_params_y, pred_test_y) - if mse < best_error: - best_error = mse - best_combination = comb - - print '-------' - print best_combination - print '-------' - return best_combination[keys.index('ar')], best_combination[keys.index('ma')], best_combination[keys.index('d')] - - - # Apply a time series ARIMAX approach, and use the created network to predict the outcome for both the - # test and training set. It returns the predictions for the training and test set. Parameters can be - # provided around the learning algorithm and a grid search can also be performed. - def time_series(self, train_X, train_y, test_X, test_y, ar=1, ma=1, d=0, gridsearch=False, gridsearch_training_frac=0.7): - if gridsearch: - ar, ma, d = self.gridsearch_time_series(train_X, train_y, test_X, test_y, gridsearch_training_frac=gridsearch_training_frac, error='mse') - - train_dataset = copy.deepcopy(train_X) - formula = train_y.name + '~1+' + "+".join(train_X.columns) - train_dataset[train_y.name] = train_y - test_dataset = copy.deepcopy(test_X) - test_dataset[test_y.name] = test_y - - model = pf.ARIMAX(data=train_dataset,formula=formula,ar=ar,ma=ma) - x = model.fit() - x.summary() - model_pred = model.predict(h=len(train_y.index)-max(ar, ma), oos_data=train_dataset) - values = np.empty((len(model_pred) + max(ar, ma),1)) - values[:] = np.nan - values[max(ar, ma):] = model_pred.values - pred_train = pd.DataFrame(values, index=train_y.index, columns=[train_y.name]) - pred_train.ix[max(ar, ma):,:] = model_pred.values - pred_test = pd.DataFrame(model.predict(h=len(test_y.index), oos_data=test_dataset).values, index=test_y.index, columns=[test_y.name]) - - return pred_train, pred_test diff --git a/PythonCode/Chapter8/__init__.py b/PythonCode/Chapter8/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/PythonCode/Chapter8/dynsys/Evaluator.py b/PythonCode/Chapter8/dynsys/Evaluator.py deleted file mode 100644 index 5591d354..00000000 --- a/PythonCode/Chapter8/dynsys/Evaluator.py +++ /dev/null @@ -1,142 +0,0 @@ -############################################################## -# # -# Mark Hoogendoorn and Burkhardt Funk (2017) # -# Machine Learning for the Quantified Self # -# Springer # -# Chapter 8 # -# # -############################################################## - -from inspyred.ec import emo -import random -from sklearn.metrics import mean_squared_error -import copy -import pandas as pd - -# This class evaluates a dynamical systems model. -class Evaluator(): - - training_data = {} - test_data = {} - model = [] - eval_aspects = [] - cleaned_eval_aspects = [] - default_start = 'self.' - - def __init__(self): - self.training_data = {} - self.test_data = {} - self.model = [] - self.eval_aspects = [] - self.cleaned_eval_aspects = [] - - # This sets the values for the training and test period. We will just - # consider the eval_aspects (states/columns) for the evaluation. - def set_values(self, m, train_X, train_y, test_X, test_y, eval_aspects): - - # Create a copy of the data - self.training_data = copy.deepcopy(train_X) - self.test_data = copy.deepcopy(test_X) - - # Add the targets we use from y to the copy of the data to create a single dataset - # for training and testing. - for col in eval_aspects: - self.training_data[col[len(self.default_start):]] = train_y[col[len(self.default_start):]] - self.test_data[col[len(self.default_start):]] = test_y[col[len(self.default_start):]] - self.model = m - self.eval_aspects = eval_aspects - - # The eval_aspects array is poluted with the 'self.', we also create a variant without. - self.cleaned_eval_aspects = [] - for eval in eval_aspects: - self.cleaned_eval_aspects.append(eval[len(self.default_start):]) - - # This funtion generates a random initial candidate for our optimization algorithm and returns it. - def generator(self, random, args): - numb_parameters = len(self.model.parameter_names) - return [random.uniform(-1.0, 1.0) for _ in range(numb_parameters)] - - # This functions takes a candidate (i.e. a number of parameter settings for our - # dynamical systems model) and the dataset and evaluates how well it performs. - # in terms of the mean squared error per eval_aspect. It return the fitness - # and the prediction. If we have the per_time_step=True we will overwrite the - # predicted values for the previous time point with the real values. - def evaluator_internal(self, candidate, dataset, per_time_step=False): - self.model.reset() - y = [] - y.append(dataset.ix[0,self.cleaned_eval_aspects].values) - - # Go through the dataset, all but last as we need to evaluate our - # prediction with the next time point. - for step in range(0, len(dataset.index)-1): - state_values = [] - - # Get the relevant values for each of the states - # in our model. - for col in self.model.state_names: - # Overwrite the values we predicted previously for the evaluation states - # if we do it per time step or if we do not have any prediction yet. - if per_time_step or (step == 0): - state_values.append(dataset.ix[step, col[len(self.default_start):]]) - - # Only overwrite values for the non eval states if we do not do it - # per time step and use our predicted value for the eval aspects. - else: - if col in self.eval_aspects: - state_values.append(pred_values[self.eval_aspects.index(col)]) - else: - state_values.append(dataset.ix[step, col[len(self.default_start):]]) - - # Set the state values, parameter values, and execute the model. - self.model.set_state_values(state_values) - self.model.set_parameter_values(candidate) - self.model.execute_steps(1) - - evals = [] - pred_values = [] - - # Determine the error for the evaluation aspects. - for eval in self.eval_aspects: - pred_value = self.model.get_values(eval)[-1] - pred_values.append(pred_value) - mse = mean_squared_error([pred_value], [dataset.ix[step+1, col[len(self.default_start):]]]) - evals.append(mse) - - # Store the fitness for all aspects. - fitness = emo.Pareto(evals) - - # Store the predicted values. - y.append(pred_values) - # And return the fitness and the predicted values. - y_frame = pd.DataFrame(y, columns=self.cleaned_eval_aspects) - return fitness, y_frame - - # This function evaluates a population of candidates in a multi-objective way. - # It return the fitness on each eval_aspect for each candidate. - def evaluator_multi_objective(self, candidates, args): - fitness_values = [] - for c in candidates: - fitness, y_pred = self.evaluator_internal(c, self.training_data, per_time_step=True) - fitness_values.append(fitness) - return fitness_values - - # This function evaluates a population of candidates in a single objective way. - # It returns a single fitness value per candidate. - def evaluator_single_objective(self, candidates, args): - fitness_values = [] - for c in candidates: - fitness, y_pred = self.evaluator_internal(c, self.training_data, per_time_step=True) - - # Sum the fitness values over all aspects. - fitness_values.append(sum(fitness)) - return fitness_values - - # Generate a prediction for a candidate on either the training set (training=True) or the test - # set. We can again select whether we want to set the values for the previous time point - # to the true values all the time. We return the fitness van the predicted values. - def predict(self, candidate, training=True, per_time_step=False): - if training: - fitness, y_pred = self.evaluator_internal(candidate, self.training_data, per_time_step=per_time_step) - else: - fitness, y_pred = self.evaluator_internal(candidate, self.test_data, per_time_step=per_time_step) - return fitness, y_pred \ No newline at end of file diff --git a/PythonCode/Chapter8/dynsys/Model.py b/PythonCode/Chapter8/dynsys/Model.py deleted file mode 100644 index 6e18fea9..00000000 --- a/PythonCode/Chapter8/dynsys/Model.py +++ /dev/null @@ -1,134 +0,0 @@ -############################################################## -# # -# Mark Hoogendoorn and Burkhardt Funk (2017) # -# Machine Learning for the Quantified Self # -# Springer # -# Chapter 8 # -# # -############################################################## - -import math - -# The class represents a dynamical systems model. -class Model: - - state_names = [] - state_values = [] - predicted_values = [] - state_equations = [] - parameter_names = [] - parameter_values = [] - t = 0 - max_value = 10000 - - def __init__(self): - self.state_names = [] - self.state_values = [] - self.predicted_values = [] - self.state_equations = [] - self.parameter_names = [] - self.parameter_values = [] - self.t = 0 - - # This function sets the model in the global variables. It uses the state names, equations - # in the same order, and the parameter names. - def set_model(self, state_names, state_equations, parameter_names): - self.state_names = state_names - self.state_values.append([]) - self.state_equations = state_equations - self.parameter_names = parameter_names - - # This function resets the model, it empties the predictions for the states and sets - # the time point to 0. - def reset(self): - self.t = 0 - self.state_values = [] - self.state_values.append([]) - self.predicted_values = [] - self.predicted_values.append([]) - - # This function sets the parameter values in the model. - def set_parameter_values(self, param_values): - for p in range(len(self.parameter_names)): - # We do a bit of magic here, since we do not know the variable - # names for the parameters up front we execute it in this - # way. This results in global variables with the proper values. - exec("%s = %f" % (self.parameter_names[p], param_values[p])) - self.parameter_values.append(param_values[p]) - - # This functions sets the state values in the model. - def set_state_values(self, state_values): - for s in range(len(self.state_names)): - # We do a bit of magic here, since we do not know the variable - # names for the states up front we execute it in this - # way. This results in global variables with the proper values. - exec("%s = %f" % (self.state_names[s], state_values[s])) - self.state_values[self.t].append(state_values[s]) - - # Some basic printing of the model. - def print_model(self): - for e in range(len(self.state_equations)): - print str(self.state_names[e]) + ' = ', - print self.state_equations[e] - - # Prints the model to a file with the generation of the high level optimization algorithm. - def print_model_to_file(self, file, generation): - file.write('======================' + str(generation) + '======================\n') - for e in range(len(self.state_equations)): - file.write(str(self.state_names[e]) + ' = ' + str(self.state_equations[e]) + '\n') - - # Return the model in a string representation. - def to_string(self): - result = '' - for e in range(len(self.state_equations)): - result += str(self.state_equations[e]) - return result - - # Executes the model for the given number of time steps, given the current - # settings for the states. - def execute_steps(self, steps): - - # Repeat for the given number of time steps. - for i in range(0,steps): - - # Allocate memory for the state values and the predicted values. - self.state_values.append([0]*len(self.state_names)) - self.predicted_values.append([0]*len(self.state_names)) - self.t += 1 - - # Compute the predicted values based on the current values for the states. - for v in range(len(self.state_names)): - - # We compute the value of the state equation. - value = eval(self.state_equations[v]) - - # If the number is fishy, we select the maximum value. - if math.isinf(value) or math.isnan(value): - value = self.max_value - - # And we set the value of the state accordingly. - exec("%s = %f" % (self.state_names[v], value)) - - # For debugging. - self.state_values[self.t][v] = eval(self.state_names[v]) - - # And we add the prediction for the time point to the file. - self.predicted_values[self.t][v] = self.state_values[self.t][v] - - - # This function return the values of the specified state from time point 0 to now. - def get_values(self, state): - - # If we do not have any values, we do not do anything. - if self.t == 0: - print 'number of values ' + str(self.t) - values = [] - - # Get the index of the state - index = self.state_names.index(state) - - # And get the values over all time points. - for i in range(1, len(self.predicted_values)): - value = self.predicted_values[i][index] - values.append(value) - return values \ No newline at end of file diff --git a/PythonCode/Chapter8/dynsys/__init__.py b/PythonCode/Chapter8/dynsys/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/PythonCode/Python2_conda_requirements.txt b/PythonCode/Python2_conda_requirements.txt deleted file mode 100644 index 8b6ee65f..00000000 --- a/PythonCode/Python2_conda_requirements.txt +++ /dev/null @@ -1,10 +0,0 @@ -gensim==0.13.3 -nltk==3.2.1 -unidecode==0.04.20 -statsmodels==0.6.1 -matplotlib==1.5.3 -statsmodels==0.6.1 -scikit-learn==0.18.1 -numpy==1.11.1 -pandas==0.19.2 -scipy==0.18.1 diff --git a/PythonCode/Python2_pip_requirements.txt b/PythonCode/Python2_pip_requirements.txt deleted file mode 100644 index 438fce9b..00000000 --- a/PythonCode/Python2_pip_requirements.txt +++ /dev/null @@ -1,6 +0,0 @@ -pyflux==0.4.14 -pykalman==0.9.5 -pyclust==0.1.15 -inspyred==1.0.1 -pybrain==0.3 -treelib==1.3.5 diff --git a/PythonCode/__init__.py b/PythonCode/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/PythonCode/ch3_visualization.py b/PythonCode/ch3_visualization.py deleted file mode 100644 index 2ae15252..00000000 --- a/PythonCode/ch3_visualization.py +++ /dev/null @@ -1,163 +0,0 @@ -############################################################## -# # -# Mark Hoogendoorn and Burkhardt Funk (2017) # -# Machine Learning for the Quantified Self # -# Springer # -# Chapter 3 - Exemplary graphs # -# # -############################################################## - -import pandas as pd -import numpy as np -import matplotlib.pyplot as plot -import math -from scipy.stats import norm -from Chapter3.DataTransformation import LowPassFilter -from sklearn.decomposition import PCA - -np.random.seed(0) - -# Figure 3.1 - -df = pd.DataFrame(np.arange(0, 1, 0.001), columns=list('X')) -mean = 0.5 -sd = 0.1 -p = pd.DataFrame(norm.pdf(df,mean,sd), columns=list('p')) -plot.hold(True) -plot.plot(df, p) -plot.xlabel('$X_{1}$') -plot.ylabel('$P(X_{1})$') -ax = plot.axes() -ax.fill_between(df['X'], 0, p['p'], where=df['X']<=0.3, facecolor='red') -ax.fill_between(df['X'], 0, p['p'], where=df['X']>=0.7, facecolor='red') -ax.annotate('outliers', xy=(0.3, 0.25), xytext=(0.45, 0.7), - arrowprops=dict(facecolor='black', shrink=0.05)) -ax.annotate('outliers', xy=(0.7, 0.25), xytext=(0.45, 0.7), - arrowprops=dict(facecolor='black', shrink=0.05)) -plot.hold(False) -plot.show() - -# Figure 3.2 - -df = pd.DataFrame(np.random.random_sample(size=(100, 2)), columns=list('XY')) -plot.plot(df['X'], df['Y'], 'ro') -plot.xlabel('X$_{1}$') -plot.ylabel('X$_{2}$') -plot.hold(True) -plot.plot([0.5], [0.5], 'ko') - -# draw the circle with the arrow -# http://stackoverflow.com/questions/34823886/plotting-circle-diagram-with-rotary-arrow - -radius = 0.2 -angle = 20 -angle_rad = angle * math.pi / 180 # degrees to radians -# Draw circle -circle = plot.Circle((0.5,0.5), radius, color='black', fill=False) -fig = plot.gcf() -fig.gca().add_artist(circle) - -ax = plot.axes() -ax.arrow(0.5, 0.5, - (radius - 0.02) * math.cos(angle_rad), - (radius - 0.02) * math.sin(angle_rad), - head_width=0.02, head_length=0.02, fc='k', ec='k') -ax.annotate('$d_{min}$', xy=(.6, .5), xycoords='axes fraction', - horizontalalignment='center', verticalalignment='center') -plot.show() -plot.hold(False) - -# Figure 3.3 - -np.random.seed(0) -df1 = pd.DataFrame(np.random.randint(10,20,size=(40, 2)), columns=list('XY')) -df2 = pd.DataFrame(np.random.randint(70,90,size=(5, 2)), columns=list('XY')) -df1 = df1 / float(100) -df2 = df2 / float(100) -plot.hold(True) -plot.plot(df1['X'], df1['Y'], 'ro') -plot.plot(0.7, 0.7, 'ro') -plot.plot(df2['X'], df2['Y'], 'ro') -plot.plot(0.2, 0.2, 'ro') -plot.xlabel('X$_{1}$') -plot.ylabel('X$_{2}$') -plot.xlim([0,1]) -plot.ylim([0,1]) -plot.plot([0.25], [0.25], 'ko') -plot.plot([0.65], [0.65], 'ko') -plot.show() - -# Figure 3.4 - -# Sample frequency (Hz) -fs = 100 - -# Create time points.... -t = pd.DataFrame(np.arange(0, 16, float(1)/fs), columns=list('X')) -c1 = 3 * np.sin(2 * math.pi * 0.1 * t) -c2 = 2 * np.sin(2 * math.pi * t) -plot.hold(True) -plot.plot(t, c1, 'b--') -plot.plot(t, c2, 'b:') -plot.plot(t, c1+c2, 'b-') -LowPass = LowPassFilter() -new_dataset = LowPass.low_pass_filter(c1+c2, 'X', fs, 0.5, order=3, phase_shift=True) -plot.plot(t, new_dataset['X_lowpass'], 'r-') -plot.legend(['$3 \cdot sin(2 \cdot \pi \cdot 0.1 \cdot t))$', '$2 \cdot sin(2 \cdot \pi \cdot t))$', '$combined$', '$combined$ $after$ $filter (f_{c}=0.5Hz, n=3)$'], - loc=4, fontsize='small') -plot.xlabel('time') -plot.ylabel('$X_{1}$') -plot.show() - -# Figure 3.5 - -df = pd.DataFrame(np.arange(0, 1, 0.1), columns=list('X')) -df['Y'] = pd.DataFrame(np.random.normal(0, 0.1, size=(10,1)), columns=list('Y')) -df['Y'] = df['Y'] + df['X'] - -pca = PCA(n_components=2, svd_solver='full') -pca.fit(df) -first_component = pca.components_[0] -second_component = pca.components_[1] - -factor_1 = first_component[0]/first_component[1] -factor_2 = second_component[0]/second_component[1] - -plot.hold(True) -plot.plot(df['X'], df['Y'], 'ro') -plot.plot(df['X'], df['X']*factor_1, 'r-') -plot.plot(df['X'], df['X']*factor_2+0.5, 'b-') -plot.legend(['$data$', '$first$ $component$', '$second$ $component$'], loc=2) -plot.xlim([0,1]) -plot.ylim([0,1]) -plot.xlabel('$X_{1}$') -plot.ylabel('$X_{2}$') -plot.hold(False) -plot.show() - -# Figure 3.6 - -transformed_dataset = np.inner(first_component, df) -plot.hold(True) -plot.plot(transformed_dataset, [0]*transformed_dataset.shape[0], 'ro') -plot.ylim([-0.05,1]) -plot.xlabel('$X\'_{1}$') -ax = plot.axes() -ax.get_yaxis().set_visible(False) -ax.spines['right'].set_visible(False) -ax.spines['left'].set_visible(False) -ax.spines['bottom'].set_position('zero') -plot.legend(['$transformed$ $data$'], loc=(0.5, 0.1)) -plot.hold(False) -plot.show() - -# Figure 3.7 - -transformed_dataset = np.inner(pca.components_, df) -plot.hold(True) -plot.plot(transformed_dataset[0], transformed_dataset[1], 'ro') -plot.xlabel('$X\'_{1}$') -plot.ylabel('$X\'_{2}$') -plot.legend(['$transformed$ $data$'], loc=4) -plot.hold(False) -plot.show() diff --git a/PythonCode/ch4_visualization.py b/PythonCode/ch4_visualization.py deleted file mode 100644 index 00bc3db4..00000000 --- a/PythonCode/ch4_visualization.py +++ /dev/null @@ -1,62 +0,0 @@ -############################################################## -# # -# Mark Hoogendoorn and Burkhardt Funk (2017) # -# Machine Learning for the Quantified Self # -# Springer # -# Chapter 4 - Exemplary graphs # -# # -############################################################## - -import pandas as pd -import numpy as np -import matplotlib.pyplot as plot -import math -import copy -from scipy.stats import norm -from sklearn.decomposition import PCA -from Chapter4.FrequencyAbstraction import FourierTransformation -import re - -np.random.seed(0) - -# Figure 4.1 - -# Sample frequency (Hz) -fs = 10 - -# Create time points.... -df = pd.DataFrame(np.arange(0, 16.1, float(1)/fs), columns=list('X')) -c1 = 3 * np.sin(2 * math.pi * 0.2 * df['X']) -c2 = 2 * np.sin(2 * math.pi * 0.25 * (df['X']-2)) + 5 -df['Y'] = c1 + c2 - -plot.hold(True) -plot.plot(df['X'], df['Y'], 'b-') -plot.legend(['$example$ $measurement$ $sequence$'], loc=3, fontsize='small') -plot.xlabel('time') -plot.ylabel('$X_{1}$') -plot.show() - -# Figure 4.2 - -FreqAbs = FourierTransformation() -data_table = FreqAbs.abstract_frequency(copy.deepcopy(df), ['Y'], 160, fs) -# Get the frequencies from the columns.... -frequencies = [] -values = [] -for col in data_table.columns: - val = re.findall(r'freq_\d+\.\d+_Hz', col) - if len(val) > 0: - frequency = float((val[0])[5:len(val)-4]) - frequencies.append(frequency) - values.append(data_table.ix[data_table.index, col]) - -fig = plot.figure() -plot.hold(True) -ax1 = fig.add_subplot(111) -plot.xlim([0, 5]) -ax1.plot(frequencies, values, 'b+') -ax1.set_xlabel('Frequency (Hz)') -ax1.set_ylabel('$a$') -plot.show() - diff --git a/PythonCode/ch5_visualization.py b/PythonCode/ch5_visualization.py deleted file mode 100644 index d9b4301f..00000000 --- a/PythonCode/ch5_visualization.py +++ /dev/null @@ -1,343 +0,0 @@ -############################################################## -# # -# Mark Hoogendoorn and Burkhardt Funk (2017) # -# Machine Learning for the Quantified Self # -# Springer # -# Chapter 5 - Exemplary graphs # -# # -############################################################## - -import pandas as pd -import numpy as np -import matplotlib.pyplot as plot -import math -import copy -from scipy.stats import norm -from sklearn.decomposition import PCA -from Chapter4.FrequencyAbstraction import FourierTransformation -from matplotlib.patches import Rectangle -import re -import sklearn - -np.random.seed(0) - -# Figure 5.1 - -points_x = [0.25, 0.75] -points_y = [0.25, 0.75] - -plot.hold(True) -plot.plot(points_x, points_y, 'ro') -manhattan_x = [points_x[0], points_x[0], points_x[1]] -manhattan_y = [points_y[0], points_y[1], points_y[1]] -euclidean_x = [points_x[0], points_x[1]] -euclidean_y = [points_y[0], points_y[1]] - -plot.plot(manhattan_x, manhattan_y, 'b-') -plot.plot(euclidean_x, euclidean_y, 'r:') - -plot.legend(['$measurements$','$manhattan$ $distance$', '$euclidean$ $distance$'], loc=4, fontsize='small') -plot.xlabel('$X_{1}$') -plot.ylabel('$X_{2}$') -plot.xlim([0,1]) -plot.ylim([0,1]) -plot.hold(False) -plot.show() - -# Figure 5.2 (complicated figure....) - -df = pd.DataFrame(np.arange(0, 1, 0.001), columns=list('X')) -mean = 0.5 -sd = 0.1 -p = pd.DataFrame(norm.pdf(df,mean,sd), columns=list('p')) -mean2 = 0.6 -sd2 = 0.2 -p2 = pd.DataFrame(norm.pdf(df,mean2,sd2), columns=list('p')) -plot.hold(True) - -f, axarr = plot.subplots(7, 3) -f.subplots_adjust(hspace=0.8) - -axarr[0, 0].axes.set_axis_off() -axarr[0, 0].set_xlim([0,1]) -axarr[0, 0].set_ylim([0,1]) -axarr[0, 0].text(0, 0.65, '1', fontsize=12, - bbox={'facecolor':'grey', 'alpha':0.5, 'pad':10}) -axarr[0, 0].text(0.2, 0.8, '$x_{1,qs_{i}}^{1},\dots,x_{N_{qs_{i}},qs_{i}}^{1}$', - verticalalignment='bottom', horizontalalignment='left', - color='black', fontsize=10) -axarr[0, 0].plot([0.4, 0.4], [0.55, 0.75], 'k:') -axarr[0, 0].text(0.2, 0.2, '$x_{1,qs_{i}}^{p},\dots,x_{N_{qs_{i}},qs_{i}}^{p}$', - verticalalignment='bottom', horizontalalignment='left', - color='black', fontsize=10) -axarr[0, 0].arrow(0.75, 0.65, 0.15, 0, head_width=0.05, head_length=0.05, fc='k', ec='k') -axarr[0, 1].axes.set_axis_off() -axarr[0, 1].set_xlim([0,1]) -axarr[0, 1].set_ylim([0,1]) -axarr[0, 1].text(0.2, 0.8, '$x\_mean_{qs_{i}}^{1}$', - verticalalignment='bottom', horizontalalignment='left', - color='black', fontsize=10) -axarr[0, 1].plot([0.4, 0.4], [0.55, 0.75], 'k:') -axarr[0, 1].text(0.2, 0.2, '$x\_mean_{qs_{i}}^{p}$', - verticalalignment='bottom', horizontalalignment='left', - color='black', fontsize=10) -axarr[0, 2].arrow(0, 0.7, 0.15, 0, head_width=0.05, head_length=0.05, fc='k', ec='k') -axarr[0, 2].axes.set_axis_off() -axarr[0, 2].set_xlim([0,1]) -axarr[0, 2].set_ylim([0,1]) -axarr[0, 2].text(0.3, 0.55, '$cluster$ $on$ $mean$ $values$', - verticalalignment='bottom', horizontalalignment='left', - color='black', fontsize=12) -axarr[1, 0].axes.set_axis_off() -axarr[1, 1].plot(df['X'], p, 'b-') -axarr[1, 1].xaxis.set_ticklabels([]) -axarr[1, 1].yaxis.set_ticklabels([]) -axarr[1, 1].set_xlabel('$X_{1}$') -axarr[1, 1].set_ylabel('$P(X_{1})$') -axarr[1, 2].axes.set_axis_off() -axarr[2, 0].axes.set_axis_off() -axarr[2, 0].set_xlim([0,1]) -axarr[2, 0].set_ylim([0,1]) -axarr[2, 0].text(0, 0.65, '2', fontsize=12, - bbox={'facecolor':'grey', 'alpha':0.5, 'pad':10}) -axarr[2, 0].text(0.2, 0.8, '$x_{1,qs_{i}}^{1},\dots,x_{N_{qs_{i}},qs_{i}}^{1}$', - verticalalignment='bottom', horizontalalignment='left', - color='black', fontsize=10) -axarr[2, 0].plot([0.4, 0.4], [0.55, 0.75], 'k:') -axarr[2, 0].text(0.2, 0.2, '$x_{1,qs_{i}}^{p},\dots,x_{N_{qs_{i}},qs_{i}}^{p}$', - verticalalignment='bottom', horizontalalignment='left', - color='black', fontsize=10) -axarr[2, 0].arrow(0.75, 0.65, 0.15, 0, head_width=0.05, head_length=0.05, fc='k', ec='k') -axarr[2, 1].axes.set_axis_off() -axarr[2, 1].set_xlim([0,1]) -axarr[2, 1].set_ylim([0,1]) -axarr[2, 1].plot([0.5,0.5], [0,1], 'k:') -axarr[2, 2].axes.set_axis_off() -axarr[2, 2].set_xlim([0,1]) -axarr[2, 2].set_ylim([0,1]) -axarr[2, 2].arrow(0, 0.7, 0.15, 0, head_width=0.05, head_length=0.05, fc='k', ec='k') -axarr[2, 2].text(0.3, 0.55, '$cluster$ $on$ $distribution$ $parameters$', - verticalalignment='bottom', horizontalalignment='left', - color='black', fontsize=12) -axarr[3, 0].axes.set_axis_off() -axarr[3, 0].set_xlim([0,1]) -axarr[3, 0].set_ylim([0,1]) -axarr[3, 1].plot(df['X'], p, 'b-') -axarr[3, 1].xaxis.set_ticklabels([]) -axarr[3, 1].yaxis.set_ticklabels([]) -axarr[3, 1].set_xlabel('$X_{p}$') -axarr[3, 1].set_ylabel('$P(X_{p})$') -axarr[3, 2].axes.set_axis_off() - -axarr[4, 0].axes.set_axis_off() -axarr[4, 0].set_xlim([0,1]) -axarr[4, 0].set_ylim([0,1]) -axarr[4, 0].text(0, 0.65, '3', fontsize=12, - bbox={'facecolor':'grey', 'alpha':0.5, 'pad':10}) -axarr[4, 0].text(0.2, 0.8, '$x_{1,qs_{i}}^{1},\dots,x_{N_{qs_{i}},qs_{i}}^{1}$', - verticalalignment='bottom', horizontalalignment='left', - color='black', fontsize=10) -axarr[4, 0].plot([0.4, 0.4], [0.55, 0.75], 'k:') -axarr[4, 0].text(0.2, 0.2, '$x_{1,qs_{i}}^{p},\dots,x_{N_{qs_{i}},qs_{i}}^{p}$', - verticalalignment='bottom', horizontalalignment='left', - color='black', fontsize=10) -axarr[4, 0].plot([0.4, 0.4], [-0.2, 0.2], 'k:') -axarr[4, 1].plot(df['X'], p, 'b-') -axarr[4, 1].plot(df['X'], p2, 'r-') -axarr[4, 1].legend(['$i$', '$j$'], loc=2, fontsize='xx-small') -axarr[4, 1].xaxis.set_ticklabels([]) -axarr[4, 1].yaxis.set_ticklabels([]) -axarr[4, 1].set_xlabel('$X_{1}$') -axarr[4, 1].set_ylabel('$P(X_{1})$') -axarr[4, 2].axes.set_axis_off() -axarr[5, 0].axes.set_axis_off() -axarr[5, 0].set_xlim([0,1]) -axarr[5, 0].set_ylim([0,1]) -axarr[5, 0].text(0.2, 0.8, '$x_{1,qs_{j}}^{1},\dots,x_{N_{qs_{j}},qs_{j}}^{1}$', - verticalalignment='bottom', horizontalalignment='left', - color='black', fontsize=10) -axarr[5, 0].plot([0.4, 0.4], [0.55, 0.75], 'k:') -axarr[5, 0].text(0.2, 0.2, '$x_{1,qs_{j}}^{p},\dots,x_{N_{qs_{j}},qs_{j}}^{p}$', - verticalalignment='bottom', horizontalalignment='left', - color='black', fontsize=10) -axarr[5, 0].arrow(0.75, 0.65, 0.15, 0, head_width=0.05, head_length=0.05, fc='k', ec='k') -axarr[5, 1].axes.set_axis_off() -axarr[5, 1].set_xlim([0,1]) -axarr[5, 1].set_ylim([0,1]) -axarr[5, 1].plot([0.5,0.5], [0,1], 'k:') -axarr[5, 2].axes.set_axis_off() -axarr[5, 2].set_xlim([0,1]) -axarr[5, 2].set_ylim([0,1]) -axarr[5, 2].arrow(0, 0.7, 0.15, 0, head_width=0.05, head_length=0.05, fc='k', ec='k') -axarr[5, 2].text(0.3, 0.55, '$cluster$ $on$ $p$ $values$ $between$ $i$ $and$ $j$', - verticalalignment='bottom', horizontalalignment='left', - color='black', fontsize=12) -axarr[6, 0].axes.set_axis_off() -axarr[6, 0].set_xlim([0,1]) -axarr[6, 0].set_ylim([0,1]) -axarr[6, 1].plot(df['X'], p, 'b-') -axarr[6, 1].plot(df['X'], p2, 'r-') -axarr[6, 1].legend(['$i$', '$j$'], loc=2, fontsize='xx-small') -axarr[6, 1].xaxis.set_ticklabels([]) -axarr[6, 1].yaxis.set_ticklabels([]) -axarr[6, 1].set_xlabel('$X_{p}$') -axarr[6, 1].set_ylabel('$P(X_{p})$') -axarr[6, 2].axes.set_axis_off() -plot.hold(False) -plot.show() - -# Figure 5.3 - -time = np.array([1,2,3,4,5,6,7]) -y_arnold = np.array([0.2,0.2,0.5,0.2,0.2,0.2,0.2]) -y_eric = np.array([0.18,0.18,0.18,0.34,0.5,0.34,0.18]) -plot.hold(True) -plot.plot(time, y_arnold, 'b-o') -plot.plot(time, y_eric, 'r:*') - -plot.legend(['$Arnold$','$Eric$'], loc=1, fontsize='small') -plot.xlabel('time') -plot.ylabel('$X_{1}$') -plot.ylim([0,1]) -plot.hold(False) -plot.show() - -# Figure 5.4 - -f, axarr = plot.subplots(2, 2) -f.subplots_adjust(hspace=0) -f.subplots_adjust(wspace=0) -plot.hold(True) -axarr[0, 0].axes.set_axis_off() -axarr[0, 0].set_xlim([0,max(1-y_arnold)+0.05]) -axarr[0, 0].set_ylim([1,8]) -axarr[0, 0].plot(1-y_arnold, time+0.5, 'b-o') -axarr[1, 0].axes.set_axis_off() -axarr[0, 1].xaxis.set_ticklabels([]) -axarr[0, 1].xaxis.set_ticks(time) -axarr[0, 1].set_xlim([1,8]) -axarr[0, 1].yaxis.set_ticklabels([]) -axarr[0, 1].yaxis.set_ticks(time) -for t in time: - axarr[0, 1].plot([t,t], [min(time), max(time)+1], 'k:') -for t in time: - axarr[0, 1].plot([min(time), max(time)+1], [t,t], 'k:') -axarr[0, 1].add_patch(Rectangle((1, 1), 1, 1,alpha=1)) -axarr[0, 1].add_patch(Rectangle((2, 2), 1, 1,alpha=1)) -axarr[0, 1].add_patch(Rectangle((3, 2), 1, 1,alpha=1)) -axarr[0, 1].add_patch(Rectangle((4, 3), 1, 1,alpha=1)) -axarr[0, 1].add_patch(Rectangle((5, 3), 1, 1,alpha=1)) -axarr[0, 1].add_patch(Rectangle((6, 3), 1, 1,alpha=1)) -axarr[0, 1].add_patch(Rectangle((7, 4), 1, 1,alpha=1)) -axarr[0, 1].add_patch(Rectangle((7, 5), 1, 1,alpha=1)) -axarr[0, 1].add_patch(Rectangle((7, 6), 1, 1,alpha=1)) -axarr[0, 1].add_patch(Rectangle((7, 7), 1, 1,alpha=1)) - -axarr[0, 1].set_ylim([1,8]) -axarr[1, 1].axes.set_axis_off() -axarr[1, 1].set_xlim([1,8]) -axarr[1, 1].set_ylim([0,max(1-y_eric)+0.05]) -axarr[1, 1].plot(time+0.5, 1-y_eric, 'r-*') -plot.hold(False) -plot.show() - -# Figure 5.5 - -np.random.seed(0) -f, axarr = plot.subplots(2, 2) -f.subplots_adjust(hspace=0.4) -f.subplots_adjust(wspace=0.4) -plot.hold(True) - -# Generate random data points. -numbers = np.vstack([np.random.randint(10,20,size=(10, 2)),np.random.randint(70,90,size=(10, 2))]) -df = pd.DataFrame(numbers, columns=list('XY')) -centers = pd.DataFrame(np.vstack([[0.25, 0.35], [0.02, 0.02]]), columns=list('XY')) -df = df / float(100) -# Set the initial random centers to values such that we have a nice example. -axarr[0, 0].plot(centers['X'], centers['Y'], 'ko') -axarr[0, 0].plot(df['X'], df['Y'], 'ro') -axarr[0, 0].legend(['$centers$', '$data$ $points$'], loc=4, fontsize='small', numpoints=1) -axarr[0, 0].set_xlim([0,1]) -axarr[0, 0].set_ylim([0,1]) -axarr[0, 0].set_xlabel('$X_{1}$') -axarr[0, 0].set_ylabel('$X_{2}$') -axarr[0, 0].set_title('$step$ $1:$ $random$ $centers$') - -# Determine the cluster for each of the data points - -cluster = np.argmin(sklearn.metrics.pairwise.euclidean_distances(X=df, Y=centers), axis=1) -df['cluster'] = cluster - -axarr[0, 1].plot(df[df['cluster']==0]['X'], df[df['cluster']==0]['Y'], 'ro') -axarr[0, 1].plot(df[df['cluster']==1]['X'], df[df['cluster']==1]['Y'], 'bo') -axarr[0, 1].plot(centers['X'], centers['Y'], 'ko') -axarr[0, 1].legend(['$cluster$ $1$', '$cluster$ $2$', '$centers$'], loc=4, fontsize='small', numpoints=1) -axarr[0, 1].set_xlim([0,1]) -axarr[0, 1].set_ylim([0,1]) -axarr[0, 1].set_xlabel('$X_{1}$') -axarr[0, 1].set_ylabel('$X_{2}$') -axarr[0, 1].set_title('$step$ $2:$ $cluster$ $assignment$') - -# Update the centers - -centers.ix[0,:] = df[df['cluster']==0].mean(axis=0)[['X','Y']] -centers.ix[1,:] = df[df['cluster']==1].mean(axis=0)[['X','Y']] - -axarr[1, 0].plot(df[df['cluster']==0]['X'], df[df['cluster']==0]['Y'], 'ro') -axarr[1, 0].plot(df[df['cluster']==1]['X'], df[df['cluster']==1]['Y'], 'bo') -axarr[1, 0].plot(centers['X'], centers['Y'], 'ko') -axarr[1, 0].legend(['$cluster$ $1$', '$cluster$ $2$', '$centers$'], loc=4, fontsize='small', numpoints=1) -axarr[1, 0].set_xlim([0,1]) -axarr[1, 0].set_ylim([0,1]) -axarr[1, 0].set_xlabel('$X_{1}$') -axarr[1, 0].set_ylabel('$X_{2}$') -axarr[1, 0].set_title('$step$ $3:$ $update$ $centers$') - -# And determine the cluster for each of the data points: - -cluster = np.argmin(sklearn.metrics.pairwise.euclidean_distances(X=df[['X', 'Y']], Y=centers), axis=1) -df['cluster'] = cluster - -axarr[1, 1].plot(df[df['cluster']==0]['X'], df[df['cluster']==0]['Y'], 'ro') -axarr[1, 1].plot(df[df['cluster']==1]['X'], df[df['cluster']==1]['Y'], 'bo') -axarr[1, 1].plot(centers['X'], centers['Y'], 'ko') -axarr[1, 1].legend(['$cluster$ $1$', '$cluster$ $2$', '$centers$'], loc=4, fontsize='small', numpoints=1) -axarr[1, 1].set_xlim([0,1]) -axarr[1, 1].set_ylim([0,1]) -axarr[1, 1].set_xlabel('$X_{1}$') -axarr[1, 1].set_ylabel('$X_{2}$') -axarr[1, 1].set_title('$step$ $4:$ $cluster$ $assignment$') - -plot.hold(False) -plot.show() - -# Figure 5.7 - -np.random.seed(0) -numbers = np.vstack([np.random.randint(0,20,size=(20, 2)), - np.random.randint(60,100,size=(30, 2)), - np.random.randint(40,60,size=(20, 2))]) -numbers = pd.DataFrame(numbers, columns=list('XY')) -numbers = numbers / float(100) -print numbers -plot.hold(True) -values = np.arange(0,1,0.2) -plot.xlim([0,1]) -plot.ylim([0,1]) -plot.plot(numbers['X'], numbers['Y'], 'ro') -plot.legend(['$data$ $points$'], loc=4, fontsize='small', numpoints=1) -for v in values: - plot.plot([v,v], [min(values), max(values)+1], 'k:') -for v in values: - plot.plot([min(values), max(values)+1], [v,v], 'k:') - ax = plot.gca() - -ax.add_patch(Rectangle((0.0, 0), 0.2, 0.2,alpha=0.5, color='grey')) -ax.add_patch(Rectangle((0.4, 0.4), 0.2, 0.2,alpha=0.5, color='grey')) -ax.add_patch(Rectangle((0.6, 0.6), 0.4, 0.4,alpha=0.5, color='grey')) -plot.xlabel('$X_{1}$') -plot.ylabel('$X_{2}$') - -plot.hold(False) -plot.show() diff --git a/PythonCode/ch6_visualization.py b/PythonCode/ch6_visualization.py deleted file mode 100644 index 38108d5d..00000000 --- a/PythonCode/ch6_visualization.py +++ /dev/null @@ -1,94 +0,0 @@ -############################################################## -# # -# Mark Hoogendoorn and Burkhardt Funk (2017) # -# Machine Learning for the Quantified Self # -# Springer # -# Chapter 6 - Exemplary graphs # -# # -############################################################## - -import pandas as pd -import numpy as np -import matplotlib.pyplot as plot -import math -import copy -from scipy.stats import norm -from sklearn.decomposition import PCA -from Chapter4.FrequencyAbstraction import FourierTransformation -from matplotlib.patches import Rectangle -import re -import sklearn -from mpl_toolkits.mplot3d import Axes3D -from matplotlib import cm - - -np.random.seed(0) - -# Figure 6.1 - -df = pd.DataFrame(columns=['x', 'y']) -x = np.random.normal(0, 0.5, 100) -df['x'] = x -y = 2.5 * x + 3 -df['y'] = y - -a = np.arange(0, 5, 0.1) -b = np.arange(0, 5, 0.1) -X, Y = np.meshgrid(a, b) - -result = np.empty((0,3)) -for i in b: - for j in a: - y_calc = x * i + j - error = sklearn.metrics.mean_squared_error(y, y_calc) - result = np.vstack([result, [i, j, error]]) - -X, Y = np.meshgrid(a, b) -e_df = pd.DataFrame(result, columns=['b', 'a', 'error']) - -Z = e_df['error'].values.reshape(len(X),len(Y)) - -fig = plot.figure() -plot.hold(True) -ax = fig.gca(projection='3d') -surf = ax.plot_surface(X, Y, Z, rstride=1, cstride=1, cmap='brg_r') -#ax.scatter(e_df['a'], e_df['b'], e_df['error']) -ax.set_xlabel('$\\theta_{1}$') -ax.set_ylabel('$\\theta_{2}$') -ax.set_zlabel('$E_{in}(h)$') -fig.colorbar(surf, shrink=0.5, aspect=5) -print e_df - -plot.hold(False) -plot.show() - -# Figure 6.2 - -plot.hold(True) -V, U = np.gradient(Z, .2, .2) -Q = plot.quiver(X, Y, -U, -V, pivot='mid', units='inches') -plot.xlabel('$\\theta_{1}$') -plot.ylabel('$\\theta_{2}$') -plot.hold(False) -plot.show() - -plot.hold(True) -p = plot.contour(X, Y, Z,cmap='brg_r') -plot.clabel(p, fontsize=9, inline=1) -current_value = np.array([0,0]) -x_values = [0] -y_values = [0] -V, U = np.gradient(Z, .1, .1) -steps = 1000 -for i in range(0, steps): - current_value = current_value - [0.1*V[current_value[0]/0.1, current_value[1]/0.1], 0.1*U[current_value[0]/0.1, current_value[1]/0.1]] - x_values.append(current_value[0]) - y_values.append(current_value[1]) -plot.plot(x_values, y_values, 'k:') -plot.gca().arrow(x_values[-1]-0.1, y_values[-1], +0.0001, 0, head_width=0.1, head_length=0.1, fc='k', ec='k') -plot.xlabel('$\\theta_{1}$') -plot.ylabel('$\\theta_{2}$') -plot.legend(['$gradient$ $descent$ $path$'], loc=1, fontsize='small') - -plot.hold(False) -plot.show() \ No newline at end of file diff --git a/PythonCode/ch7_visualization.py b/PythonCode/ch7_visualization.py deleted file mode 100644 index a140ec78..00000000 --- a/PythonCode/ch7_visualization.py +++ /dev/null @@ -1,210 +0,0 @@ -############################################################## -# # -# Mark Hoogendoorn and Burkhardt Funk (2017) # -# Machine Learning for the Quantified Self # -# Springer # -# Chapter 7 - Exemplary graphs # -# # -############################################################## - -import pandas as pd -import numpy as np -import matplotlib.pyplot as plot -import math -import copy -from scipy.stats import norm -from sklearn.decomposition import PCA -from Chapter4.FrequencyAbstraction import FourierTransformation -from matplotlib.patches import Rectangle -import re -import sklearn -import random -from mpl_toolkits.mplot3d import Axes3D - -np.random.seed(0) - - -# Figure 7.2 - -plot.hold(True) -df1 = pd.DataFrame(np.random.normal(30,5,size=(50, 2)), columns=list('XY')) -df2 = pd.DataFrame(np.random.normal(70,5,size=(50, 2)), columns=list('XY')) -df1 = df1 / float(100) -df2 = df2 / float(100) -# Set the initial random centers to values such that we have a nice example. -plot.plot(df1['X'], df1['Y'], 'ro') -plot.plot(df2['X'], df2['Y'], 'bo') -plot.plot([0,1],[1,0],'k:') -plot.legend(['$class$ $1$ $(active)$', '$class$ $2$ $(inactive)$', '$decision$ $boundary$'], loc=4, fontsize='small', numpoints=1) -plot.xlim([0,1]) -plot.ylim([0,1]) -plot.xlabel('$X_{1}$') -plot.ylabel('$X_{2}$') -plot.hold(False) -plot.show() - -# Figure 7.3 - -plot.hold(True) -df1 = pd.DataFrame(np.vstack([np.hstack([np.random.normal(50,5,size=(50, 1)), np.random.normal(80,5,size=(50, 1))]), - np.hstack([np.random.normal(50,5,size=(50, 1)), np.random.normal(20,5,size=(50, 1))])]), - columns=list('XY')) -df1 = df1 / float(100) -df2 = pd.DataFrame(np.vstack([np.hstack([np.random.normal(20,5,size=(50, 1)), np.random.normal(50,5,size=(50, 1))]), - np.hstack([np.random.normal(80,5,size=(50, 1)), np.random.normal(50,5,size=(50, 1))])]), - columns=list('XY')) -df2 = df2 / float(100) -# Set the initial random centers to values such that we have a nice example. -plot.plot(df1['X'], df1['Y'], 'ro') -plot.plot(df2['X'], df2['Y'], 'bo') -x = np.arange(0,1.1,0.1) -y1 = x -y2 = 1-x -plot.plot(x,y1,'k:') -plot.plot(x,y2,'k:') -ax = plot.axes() -ax.fill_between(x, y1, y2, where=y1<=y2, facecolor='grey', linewidth=0.0) -ax.fill_between(x, y2, y1, where=y1>=y2, facecolor='grey', linewidth=0.0) -ax.annotate('$P_{1}$', xy=(0.2, 0.2), xytext=(0.3, 0.1), - arrowprops=dict(facecolor='black', shrink=0.05, width=1, headwidth=3.5, headlength=3), fontsize=15) -ax.annotate('$P_{2}$', xy=(0.2, 0.8), xytext=(0.3, 0.9), - arrowprops=dict(facecolor='black', shrink=0.05, width=1, headwidth=3.5, headlength=3), fontsize=15) - -plot.legend(['$class$ $1$ $(active)$', '$class$ $2$ $(inactive)$', '$decision$ $boundary$'], loc=4, fontsize='small', numpoints=1) -plot.xlim([0,1]) -plot.ylim([0,1]) -plot.xlabel('$X_{1}$') -plot.ylabel('$X_{2}$') -plot.hold(False) -plot.show() - -# Figure 7.6 -plot.hold(True) -df1 = pd.DataFrame(np.random.normal(30,5,size=(50, 2)), columns=list('XY')) -df2 = pd.DataFrame(np.random.normal(70,5,size=(50, 2)), columns=list('XY')) -df1 = df1 / float(100) -df2 = df2 / float(100) - -# Given the way we have generate out data, the line -# y = 1-x is the best separating line. This can be -# written as -x-y+1 = 0 - -# Let us computer the distance of our data points to this line... -result1 = ((-1 * df1['X']) + (-1 * df1['Y']) + 1).abs() / float(math.sqrt(2)) -df1['dist'] = result1 -index_closest_point_1 = df1['dist'].idxmin(axis=0) -result2 = ((-1 * df2['X']) + (-1 * df2['Y']) + 1).abs() / float(math.sqrt(2)) -df2['dist'] = result2 -index_closest_point_2 = df2['dist'].idxmin(axis=0) - -# And draw the two lines that go through this point: -b_1 = df1.ix[index_closest_point_1, 'X'] + df1.ix[index_closest_point_1, 'Y'] -b_2 = df2.ix[index_closest_point_2, 'X'] + df2.ix[index_closest_point_2, 'Y'] -x = np.arange(0,1.1, 0.1) -y_1 = -1 * x + b_1 -y_2 = -1 * x + b_2 -y = (y_1 + y_2) / 2 - - -# Set the initial random centers to values such that we have a nice example. -plot.plot(df1['X'], df1['Y'], 'ro') -plot.plot(df2['X'], df2['Y'], 'bo') -plot.plot(x,y,'k-') -plot.plot(x,y_1,'k:') -plot.plot(x,y_2,'k:') -plot.legend(['$class$ $1$ $(active)$', '$class$ $2$ $(inactive)$', '$decision$ $boundary$'], loc=2, fontsize='small', numpoints=1) - -plot.xlim([0,1]) -plot.ylim([0,1]) -plot.xlabel('$X_{1}$') -plot.ylabel('$X_{2}$') -ax = plot.gca() -ax.annotate('$w^{T}x + b=1$', xy=(x[9], y_2[9]), xytext=(x[9] - 0.08, y_2[9] + 0.08), - arrowprops=dict(facecolor='black', shrink=0.05, width=1, headwidth=3.5, headlength=3), fontsize=15) -ax.annotate('$w^{T}x + b=0$', xy=(x[8], y[8]), xytext=(x[8] - 0.08, y[8] + 0.08), - arrowprops=dict(facecolor='black', shrink=0.05, width=1, headwidth=3.5, headlength=3), fontsize=15) -ax.annotate('$w^{T}x + b=-1$', xy=(x[7], y_1[7]), xytext=(x[7] - 0.08, y_1[7] + 0.08), - arrowprops=dict(facecolor='black', shrink=0.05, width=1, headwidth=3.5, headlength=3), fontsize=15) -ax.annotate ('', (x[2], y_1[2]), (x[4]-0.02, y_2[4]+0.02), arrowprops={'arrowstyle':'<->'}) -ax.text(0.25, 0.6, '$2/|W|$', - verticalalignment='bottom', horizontalalignment='left', - color='black', fontsize=10) -plot.hold(False) -plot.show() - -# Figure 7.7 - - -x = np.arange(0, 1.05, 0.05) - -# Radius of one cicle is 0.1, the other circle 0.3 - -x_1 = [] -x_2 = [] -y_1 = [] -y_2 = [] -for i in range(0,1000): - angle = random.uniform(0,1)*(math.pi*2) - x_1.append(math.cos(angle)/3 + 0.5 + random.gauss(0, 0.025)) - x_2.append(math.cos(angle)/10 + 0.5 + random.gauss(0, 0.025)) - y_1.append(math.sin(angle)/3 + 0.5 + random.gauss(0, 0.025)) - y_2.append(math.sin(angle)/10 + 0.5 + random.gauss(0, 0.025)) - -fig = plot.figure(figsize=plot.figaspect(2.)) -ax = fig.add_subplot(1, 2, 1) - -plot.hold(True) -ax.plot(x_1,y_1,'ro') -ax.plot(x_2,y_2,'bo') -ax.legend(['$class$ $1$ $(other$ $activity)$', '$class$ $2$ $(walking)$'], loc=2, fontsize='small', numpoints=1) -ax.set_xlim([0,1]) -ax.set_ylim([0,1]) -ax.set_xlabel('$X_{1}$') -ax.set_ylabel('$X_{2}$') - -df1 = pd.DataFrame(columns=list('XY')) -df1['X'] = x_1 -df1['Y'] = y_1 -df2 = pd.DataFrame(columns=list('XY')) -df2['X'] = x_2 -df2['Y'] = y_2 -sigma = 1 -z_1 = np.power(math.e, -(sklearn.metrics.pairwise.euclidean_distances(X=df1, Y=np.array([0.5, 0.5]))/2 * math.pow(sigma, 2))) -z_2 = np.power(math.e, -(sklearn.metrics.pairwise.euclidean_distances(X=df2, Y=np.array([0.5, 0.5]))/2 * math.pow(sigma, 2))) -ax = fig.add_subplot(1, 2, 2, projection='3d') - -ax.scatter(x_1, y_1, z_1, color='r', marker='o') -ax.scatter(x_2, y_2, z_2, color='b', marker='o') -ax.set_xlabel('$X_{1}$') -ax.set_ylabel('$X_{2}$') -ax.set_zlabel('$e^{||x-x''||^{2}/2\cdot\sigma^{2}}$') -ax.legend(['$class$ $1$ $(other$ $activity)$', '$class$ $2$ $(walking)$'], loc=2, fontsize='small', numpoints=1) - -plot.hold(False) -plot.show() - -# Figure 7.8 - -plot.hold(True) -df1 = pd.DataFrame(np.random.normal(30,5,size=(50, 2)), columns=list('XY')) -df2 = pd.DataFrame(np.random.normal(70,5,size=(50, 2)), columns=list('XY')) -df1 = df1 / float(100) -df2 = df2 / float(100) -# Set the initial random centers to values such that we have a nice example. -plot.plot(df1['X'], df1['Y'], 'ro') -plot.plot(df2['X'], df2['Y'], 'bo') -plot.plot([0.51],[0.51],'ko') -k = 3 -df_full = pd.concat([df1, df2], ignore_index=True) -distances_df_full = sklearn.metrics.pairwise.euclidean_distances(X=df_full, Y=np.array([0.51, 0.51])).flatten() -ind = np.argsort(distances_df_full)[:k] -plot.plot(df_full.loc[ind, 'X'], df_full.loc[ind, 'Y'] ,'y*', markersize=12) - - -plot.legend(['$class$ $1$ $(active)$', '$class$ $2$ $(inactive)$', '$new$ $point$', '$nearest$ $neighbors$'], loc=4, fontsize='small', numpoints=1) -plot.xlim([0,1]) -plot.ylim([0,1]) -plot.xlabel('$X_{1}$') -plot.ylabel('$X_{2}$') -plot.hold(False) -plot.show() diff --git a/PythonCode/ch8_visualization.py b/PythonCode/ch8_visualization.py deleted file mode 100644 index 74be40c1..00000000 --- a/PythonCode/ch8_visualization.py +++ /dev/null @@ -1,399 +0,0 @@ -############################################################## -# # -# Mark Hoogendoorn and Burkhardt Funk (2017) # -# Machine Learning for the Quantified Self # -# Springer # -# Chapter 8 - Exemplary graphs # -# # -############################################################## - -import pandas as pd -import numpy as np -import matplotlib.pyplot as plot -import matplotlib.dates as md -import math -import copy -from scipy.stats import norm -from sklearn.decomposition import PCA -from Chapter4.FrequencyAbstraction import FourierTransformation -from matplotlib.patches import Rectangle -import re -import sklearn -import random -from mpl_toolkits.mplot3d import Axes3D -from pandas.tools.plotting import autocorrelation_plot -from statsmodels.tsa.stattools import pacf -from statsmodels.tsa.arima_model import ARIMA -import pyflux as pf -from statsmodels.tsa.seasonal import seasonal_decompose -import statsmodels - - - - - -np.random.seed(0) - - -# Figure 8.1 - -plot.hold(True) -time = np.arange(1,15,1) - -pred_mood = [0.5] -pred_al = [0.4] -x = [1] -delta_t = 1 -gamma_1 = 5 -gamma_2 = 0.8 -gamma_3 = 0.25 -gamma_4 = 1 -gamma_5 = 1 - -for t in range(1, len(time)): - pred_mood.append(pred_mood[-1] + x[-1]*(gamma_1*(1-pred_mood[-1])*max((pred_al[-1] - pred_mood[-1]), 0) + gamma_2*pred_mood[-1]*(min((pred_al[-1] - pred_mood[-1]), 0)))*delta_t) - pred_al.append(pred_al[-1] + gamma_3 * (pred_al[-1] * min(math.sin(((t-(gamma_4*math.pi))/gamma_5)), 0) + (1-pred_al[-1])* max(math.sin(((t-(gamma_4*math.pi))/gamma_5)), 0))) - x.append(x[-1]); - -values_mood = pred_mood -activity_level = pred_al - -plot.plot(time, pred_mood, 'ro-') -plot.plot(time, pred_al, 'bo:') -plot.ylim([0,1]) -plot.xlabel('time') -plot.ylabel('value') -plot.legend(['$mood$', '$activity$ $level$'], loc=4, fontsize='small', numpoints=1) -plot.hold(False) -plot.show() - -# Figure 8.2 - -plot.hold(True) -f, axarr = plot.subplots(3, 2) -f.subplots_adjust(hspace=0.5) -f.subplots_adjust(wspace=0.5) -random.seed(0) -random_time_series = pd.DataFrame(np.random.normal(0.1, 2, 5200), index=range(0, 5200), columns=['value']) -axarr[0,0].plot(random_time_series.index, random_time_series['value']) -axarr[0,0].set_xlim([101, 500]) -axarr[0,0].set_ylim([-10, 10]) -axarr[0,0].set_xlabel('time') -axarr[0,0].set_ylabel('value') - -autocorrelation_plot(random_time_series['value'], ax=axarr[0, 1]) -axarr[0, 1].set_xlim([0, 30]) -axarr[0, 1].set_ylim([-1.1, 1.1]) - -rolling_window_data = pd.rolling_mean(random_time_series['value'], 10) -print rolling_window_data -axarr[1,0].plot(random_time_series.index, rolling_window_data) -axarr[1,0].set_xlim([101, 500]) -axarr[1,0].set_ylim([-10, 10]) -axarr[1,0].set_xlabel('time') -axarr[1,0].set_ylabel('value') - -autocorrelation_plot(rolling_window_data[10:], ax=axarr[1, 1]) -axarr[1, 1].set_xlim([0, 30]) -axarr[1, 1].set_ylim([-1.1, 1.1]) - -cumsum_data = random_time_series.cumsum(axis=0) -print rolling_window_data -axarr[2,0].plot(random_time_series.index, cumsum_data) -axarr[2,0].set_xlim([0, 5000]) -axarr[2,0].set_xlabel('time') -axarr[2,0].set_ylabel('value') - -autocorrelation_plot(cumsum_data, ax=axarr[2, 1]) -axarr[2, 1].set_xlim([0, 30]) -axarr[2, 1].set_ylim([-1.1, 1.1]) -plot.hold(False) -plot.show() - -# Figure 8.3 - -plot.hold(True) -plot.plot(random_time_series.index, cumsum_data, 'b-') -plot.plot(random_time_series.index, cumsum_data.ewm(alpha=0.2).mean(), 'k:') -plot.plot(random_time_series.index, cumsum_data.ewm(alpha=0.05).mean(), 'r:') -plot.xlim([0, 1000]) -plot.ylim([-50, 100]) -plot.xlabel('time') -plot.ylabel('value') -plot.legend(['$original$ $series$', '$\\alpha=0.2$', '$\\alpha=0.05$'], fontsize='small') -plot.hold(False) -plot.show() - -# Figure 8.4 - -plot.hold(True) -random_time_series = pd.DataFrame(np.random.normal(0, 1, 5200), index=range(0, 5200), columns=['value']) -random_time_series['value'] = random_time_series['value'] + 5 -random_time_series.ix[1000:3999, 'value'] = random_time_series.ix[1000:3999, 'value'] + 20 -linear_deduction = np.arange(0, -20, -(float(20)/2000)) -random_time_series.ix[2000:3999, 'value'] = random_time_series.ix[2000:3999, 'value'] + linear_deduction - -plot.plot(random_time_series.index, random_time_series['value'], 'b-') -plot.plot(random_time_series.index, random_time_series['value'].ewm(alpha=0.05).mean(), 'r:') -plot.plot(random_time_series.index, random_time_series['value'].diff(periods=1), 'k-') - -plot.xlim([0, 5200]) -plot.xlabel('time') -plot.ylabel('value') -plot.legend(['$original$ $series$', '$trend$ $using $ $\\alpha=0.05$', '$detrended$'], fontsize='small') -plot.hold(False) -plot.show() - -# Figure 8.5 - -plot.hold(True) -dataset_path = './intermediate_datafiles/' -dataset = pd.read_csv(dataset_path + 'chapter2_result.csv', index_col=0) -dataset.index = dataset.index.to_datetime() - -f, axarr = plot.subplots(1, 2) -f.subplots_adjust(hspace=0.5) -f.subplots_adjust(wspace=0.5) -xfmt = md.DateFormatter('%H:%M') - -axarr[0].plot(dataset.index, dataset['acc_phone_x'], 'b-') -axarr[0].set_xlabel('time') -axarr[0].set_ylabel('value') -axarr[0].xaxis.set_major_formatter(xfmt) -axarr[1].plot(dataset.index, dataset['acc_phone_x'].diff(periods=1), 'k-') -axarr[1].set_xlabel('time') -axarr[1].set_ylabel('value') -axarr[1].xaxis.set_major_formatter(xfmt) -plot.hold(False) -plot.show() - -# Figure 8.6 - -plot.hold(True) -dataset_path = './intermediate_datafiles/' -dataset = pd.read_csv(dataset_path + 'chapter2_result.csv', index_col=0) -dataset.index = dataset.index.to_datetime() - -xfmt = md.DateFormatter('%H:%M') - -plot.plot(dataset.index, dataset['acc_phone_x'], color='0.75') -plot.xlabel('time') -plot.ylabel('value') -plot.gca().xaxis.set_major_formatter(xfmt) -dataset['filtered_acc_x'] = dataset['acc_phone_x'].rolling(400).mean().shift(-200) -dataset['filtered_acc_y'] = dataset['acc_phone_y'].rolling(400).mean().shift(-200) -dataset['filtered_acc_z'] = dataset['acc_phone_z'].rolling(400).mean().shift(-200) -plot.plot(dataset.index, dataset['filtered_acc_x'], 'b-') -dataset['radius'] = dataset['filtered_acc_x'].pow(2) + dataset['filtered_acc_y'].pow(2) + dataset['filtered_acc_z'].pow(2) -dataset['radius'] = dataset['radius'].pow(0.5) -plot.plot(dataset.index, dataset['radius'], 'r-') -plot.legend(['$original$ $series$', '$filtered$', '$||a||(filtered)$'], fontsize='small') -plot.hold(False) -plot.show() - -# Figure 8.7 - -f, axarr = plot.subplots(1, 2) -plot.hold(True) -dataset_path = '../datasets/crowdsignals.io/csv-participant-one/' -dataset = pd.read_csv(dataset_path + 'accelerometer_phone.csv', index_col=0) -dataset.index = pd.to_datetime(dataset['timestamps']).values -del dataset['timestamps'] -dataset = dataset.ix[400000:404000, 'x'] -dataset = dataset.resample('10L').mean() - - -temp_ts = dataset -xfmt = md.DateFormatter('%H:%M') - -autocorrelation_plot(temp_ts, ax=axarr[0]) -axarr[0].set_xlim([0,1000]) -axarr[0].set_ylim([-1,1]) - -pacf_x, confint = pacf(temp_ts, nlags=100, alpha=.05) -df = pd.DataFrame(confint, columns=['lower', 'upper']) -df['lower'] = df['lower'] - np.array(pacf_x) -df['upper'] = df['upper'] - np.array(pacf_x) -print pacf_x.shape -axarr[1].plot(range(0, 101), pacf_x, 'b-') -axarr[1].plot(range(1, 101), df.ix[1:,'lower'], color='0.5') -axarr[1].plot(range(0, 101), [0]*101, color='0') -axarr[1].plot(range(1, 101), df.ix[1:,'upper'], color='0.5') -axarr[1].grid() -axarr[1].set_ylim([-1,1]) -axarr[1].set_xlabel('Lag') -axarr[1].set_ylabel('Partial Autocorrelation') -plot.hold(False) -plot.show() - -# Figure 8.8 - -plot.hold(True) - -model = ARIMA(temp_ts[0:500], order=(3,1,2)) -results_AR = model.fit(disp=-1) - -df = pd.DataFrame(temp_ts[0:500], index=temp_ts.index[0:500], columns=['x']) -model = pf.ARIMA(df, ar=3, ma=2) -x = model.fit() -xfmt = md.DateFormatter('%H:%M:%S') -plot.gca().xaxis.set_major_formatter(xfmt) -plot.plot(temp_ts.index[200:500], temp_ts[200:500], 'b') -pred = model.predict_is(h=300) -plot.plot(pred.index,pred, 'r:') -#plot.plot(temp_ts.index[200:400], temp_ts[200:400] - pred['Series'], 'k:') -plot.legend(['$original$ $series$', '$predicted$', '$difference$'], fontsize='small') -plot.xlabel('time') -plot.ylabel('value') - -plot.hold(False) -plot.show() - -#Figure 8.9 - -plot.hold(True) -xfmt = md.DateFormatter('%H:%M:%S') -plot.gca().xaxis.set_major_formatter(xfmt) -df = pd.DataFrame(temp_ts[0:400], index=temp_ts.index[0:400], columns=['x']) - -model = pf.ARIMA(df, ar=3, ma=2) -x = model.fit() -predictions = model.predict(h=100, intervals=True) -print df -print predictions -plot.plot(temp_ts.index[400:500], predictions['x'], 'r:') -y1 = predictions['5% Prediction Interval'] -y2 = predictions['95% Prediction Interval'] -plot.fill_between(temp_ts.index[400:500], y1, y2, where=y2 >= y1, facecolor='grey', interpolate=True) -plot.plot(temp_ts.index[200:500], temp_ts[200:500], 'b') - -plot.legend(['$predicted$', '$original$ $series$'], fontsize='small') -plot.xlabel('time') -plot.ylabel('value') -plot.show() - -#Figure 8.10 - -plot.hold(True) -xfmt = md.DateFormatter('%H:%M:%S') -plot.gca().xaxis.set_major_formatter(xfmt) -df = pd.DataFrame(temp_ts[0:500], index=temp_ts.index[0:500], columns=['x']) -decomposition = seasonal_decompose(np.array(df['x'].values),freq=107) - -seasonal = decomposition.seasonal -residual = df['x'] - decomposition.seasonal - -f, axarr = plot.subplots(3, 1) -f.subplots_adjust(hspace=0.5) -f.subplots_adjust(wspace=0.5) -axarr[0].plot(temp_ts.index[0:500], temp_ts[0:500], 'b') -axarr[0].legend(['$original$ $data$'], fontsize='small') -axarr[0].xaxis.set_major_formatter(xfmt) -axarr[0].set_ylabel('value') -axarr[1].plot(temp_ts.index[0:500], seasonal, 'b:') -axarr[1].legend(['$seasonality$'], fontsize='small') -axarr[1].xaxis.set_major_formatter(xfmt) -axarr[1].set_ylabel('value') -axarr[2].plot(temp_ts.index[0:500], residual, 'k:') -axarr[2].legend(['$residual$'], fontsize='small') -axarr[2].xaxis.set_major_formatter(xfmt) -axarr[2].set_ylabel('value') -axarr[2].set_xlabel('time') - -plot.hold(False) -plot.show() - -#Figure 8.11 - -plot.hold(True) -df = pd.DataFrame(residual[0:480], index=temp_ts.index[0:480], columns=['x']) -model = pf.ARIMA(df, ar=3, ma=2) -x = model.fit() -predictions = model.predict(h=100, intervals=True) -plot.plot(temp_ts.index[400:500], predictions['x'] + seasonal[400:500], 'r:') -y1 = predictions['5% Prediction Interval'] + seasonal[400:500] -y2 = predictions['95% Prediction Interval'] + seasonal[400:500] -plot.fill_between(temp_ts.index[400:500], y1, y2, where=y2 >= y1, facecolor='grey', interpolate=True) -plot.plot(temp_ts.index[200:500], temp_ts[200:500], 'b') - -plot.legend(['$predicted$', '$original$ $series$'], fontsize='small') -plot.xlabel('time') -plot.ylabel('value') -plot.gca().xaxis.set_major_formatter(xfmt) -plot.hold(False) -plot.show() - - -# Figure 8.16 - - -plot.hold(True) -f, axarr = plot.subplots(1, 2) - -pred_mood = [0.5] -pred_al = [0.4] -x = [1] -delta_t = 1 -gamma_1 = gamma_2 = gamma_3 = gamma_4 = gamma_5 = 1 - -for t in range(1, len(time)): - pred_mood.append(pred_mood[-1] + x[-1]*(gamma_1*(1-pred_mood[-1])*max((pred_al[-1] - pred_mood[-1]), 0) + gamma_2*pred_mood[-1]*(min((pred_al[-1] - pred_mood[-1]), 0)))*delta_t) - pred_al.append(pred_al[-1] + gamma_3 * (pred_al[-1] * min(math.sin(((t-(gamma_4*math.pi))/gamma_5)), 0) + (1-pred_al[-1])* max(math.sin(((t-(gamma_4*math.pi))/gamma_5)), 0))) - x.append(x[-1]); - -axarr[0].plot(time, values_mood, 'ro') -axarr[0].plot(time, activity_level, 'bo') -axarr[0].plot(time, pred_mood, 'r-') -axarr[0].plot(time, pred_al, 'b:') - -axarr[0].set_ylim([0,1]) -axarr[0].set_xlabel('time') -axarr[0].set_ylabel('value') -axarr[0].legend(['$mood$', '$activity$ $level$', '$predicted$ $mood$ $with$ $\gamma_{1}=\gamma_{2}=\gamma_{3}=\gamma_{4}=\gamma_{5}=1$', - '$predicted$ $mood$ $with$ $\gamma_{1}=\gamma_{2}=\gamma_{3}=\gamma_{4}=\gamma_{5}=1$'], loc=4, fontsize='small', numpoints=1) - -pred_mood = [0.5] -pred_al = [0.4] -x = [1] -delta_t = 1 -gamma_1 = 5 -gamma_2 = 0.75 -gamma_3 = 0.3 -gamma_4 = 1 -gamma_5 = 1 - -for t in range(1, len(time)): - pred_mood.append(pred_mood[-1] + x[-1]*(gamma_1*(1-pred_mood[-1])*max((pred_al[-1] - pred_mood[-1]), 0) + gamma_2*pred_mood[-1]*(min((pred_al[-1] - pred_mood[-1]), 0)))*delta_t) - pred_al.append(pred_al[-1] + gamma_3 * (pred_al[-1] * min(math.sin(((t-(gamma_4*math.pi))/gamma_5)), 0) + (1-pred_al[-1])* max(math.sin(((t-(gamma_4*math.pi))/gamma_5)), 0))) - x.append(x[-1]); - -axarr[1].plot(time, values_mood, 'ro') -axarr[1].plot(time, activity_level, 'bo') -axarr[1].plot(time, pred_mood, 'r-') -axarr[1].plot(time, pred_al, 'b:') - -axarr[1].set_ylim([0,1]) -axarr[1].set_xlabel('time') -axarr[1].set_ylabel('value') -axarr[1].legend(['$mood$', '$activity$ $level$', '$predicted$ $mood$ $with$ $\gamma_{1}=5, \gamma_{2}=0.75, \gamma_{3}=0.3, \gamma_{4}=\gamma_{5}=1$', - '$predicted$ $mood$ $with$ $\gamma_{1}=5, \gamma_{2}=0.75, \gamma_{3}=0.3, \gamma_{4}=\gamma_{5}=1$'], loc=4, fontsize='small', numpoints=1) - - -plot.hold(False) -plot.show() - -# Figure 8.19 - -plot.hold(True) -x = np.arange(0.05, 1.01, 0.01) -y = 0.05/x -plot.plot(x, y, 'r-') -plot.plot([x[1], x[6], x[20], x[40], x[80]], [y[1], y[6], y[20], y[40], y[80]], 'ro') -plot.plot([0.4, 0.6], [0.6, 0.4], 'bo') -plot.legend(['$pareto$ $front$', '$non-dominated$ $instance$','$dominated$ $instance$'], loc=1, fontsize='small', numpoints=1) -plot.xlim([0,1]) -plot.ylim([0,1]) -plot.xlabel('$E_{X_{1}}$') -plot.ylabel('$E{X_{2}}$') -plot.hold(False) -plot.show() diff --git a/PythonCode/crowdsignals_ch2.py b/PythonCode/crowdsignals_ch2.py deleted file mode 100644 index 8f8f0d10..00000000 --- a/PythonCode/crowdsignals_ch2.py +++ /dev/null @@ -1,96 +0,0 @@ -############################################################## -# # -# Mark Hoogendoorn and Burkhardt Funk (2017) # -# Machine Learning for the Quantified Self # -# Springer # -# Chapter 2 # -# # -############################################################## - - -dataset_path = '../datasets/crowdsignals.io/csv-participant-one/' -result_dataset_path = './intermediate_datafiles/' - -# Import the relevant classes. - -from Chapter2.CreateDataset import CreateDataset -from util.VisualizeDataset import VisualizeDataset -from util import util -import copy -import os - - -if not os.path.exists(result_dataset_path): - print('Creating result directory: ' + result_dataset_path) - os.makedirs(result_dataset_path) - -# Chapter 2: Initial exploration of the dataset. - -# Set a granularity (i.e. how big are our discrete time steps). We start very -# coarse grained, namely one measurement per minute, and secondly use four measurements -# per second - -granularities = [60000, 250] -datasets = [] - -for milliseconds_per_instance in granularities: - - # Create an initial dataset object with the base directory for our data and a granularity - DataSet = CreateDataset(dataset_path, milliseconds_per_instance) - - # Add the selected measurements to it. - - # We add the accelerometer data (continuous numerical measurements) of the phone and the smartwatch - # and aggregate the values per timestep by averaging the values/ - DataSet.add_numerical_dataset('accelerometer_phone.csv', 'timestamps', ['x','y','z'], 'avg', 'acc_phone_') - DataSet.add_numerical_dataset('accelerometer_smartwatch.csv', 'timestamps', ['x','y','z'], 'avg', 'acc_watch_') - - # We add the gyroscope data (continuous numerical measurements) of the phone and the smartwatch - # and aggregate the values per timestep by averaging the values/ - DataSet.add_numerical_dataset('gyroscope_phone.csv', 'timestamps', ['x','y','z'], 'avg', 'gyr_phone_') - DataSet.add_numerical_dataset('gyroscope_smartwatch.csv', 'timestamps', ['x','y','z'], 'avg', 'gyr_watch_') - - # We add the heart rate (continuous numerical measurements) and aggregate by averaging again - DataSet.add_numerical_dataset('heart_rate_smartwatch.csv', 'timestamps', ['rate'], 'avg', 'hr_watch_') - - # We add the labels provided by the users. These are categorical events that might overlap. We add them - # as binary attributes (i.e. add a one to the attribute representing the specific value for the label if it - # occurs within an interval). - DataSet.add_event_dataset('labels.csv', 'label_start', 'label_end', 'label', 'binary') - - # We add the amount of light sensed by the phone (continuous numerical measurements) and aggregate by averaging again - DataSet.add_numerical_dataset('light_phone.csv', 'timestamps', ['lux'], 'avg', 'light_phone_') - - # We add the magnetometer data (continuous numerical measurements) of the phone and the smartwatch - # and aggregate the values per timestep by averaging the values - DataSet.add_numerical_dataset('magnetometer_phone.csv', 'timestamps', ['x','y','z'], 'avg', 'mag_phone_') - DataSet.add_numerical_dataset('magnetometer_smartwatch.csv', 'timestamps', ['x','y','z'], 'avg', 'mag_watch_') - - # We add the pressure sensed by the phone (continuous numerical measurements) and aggregate by averaging again - DataSet.add_numerical_dataset('pressure_phone.csv', 'timestamps', ['pressure'], 'avg', 'press_phone_') - - # Get the resulting pandas data table - - dataset = DataSet.data_table - - # Plot the data - - DataViz = VisualizeDataset() - - # Boxplot - DataViz.plot_dataset_boxplot(dataset, ['acc_phone_x','acc_phone_y','acc_phone_z','acc_watch_x','acc_watch_y','acc_watch_z']) - - # Plot all data - DataViz.plot_dataset(dataset, ['acc_', 'gyr_', 'hr_watch_rate', 'light_phone_lux', 'mag_', 'press_phone_', 'label'], ['like', 'like', 'like', 'like', 'like', 'like', 'like','like'], ['line', 'line', 'line', 'line', 'line', 'line', 'points', 'points']) - - # And print a summary of the dataset - - util.print_statistics(dataset) - datasets.append(copy.deepcopy(dataset)) - -# And print the table that has been included in the book - -util.print_latex_table_statistics_two_datasets(datasets[0], datasets[1]) - -# Finally, store the last dataset we have generated (250 ms). -dataset.to_csv(result_dataset_path + 'chapter2_result.csv') diff --git a/PythonCode/crowdsignals_ch3_outliers.py b/PythonCode/crowdsignals_ch3_outliers.py deleted file mode 100644 index e3f97fed..00000000 --- a/PythonCode/crowdsignals_ch3_outliers.py +++ /dev/null @@ -1,81 +0,0 @@ -############################################################## -# # -# Mark Hoogendoorn and Burkhardt Funk (2017) # -# Machine Learning for the Quantified Self # -# Springer # -# Chapter 3 # -# # -############################################################## - -from util.VisualizeDataset import VisualizeDataset -from Chapter3.OutlierDetection import DistributionBasedOutlierDetection -from Chapter3.OutlierDetection import DistanceBasedOutlierDetection -import copy -import pandas as pd -import numpy as np - -# Let is create our visualization class again. -DataViz = VisualizeDataset() - -# Read the result from the previous chapter, and make sture the index is of the type datetime. -dataset_path = './intermediate_datafiles/' -try: - dataset = pd.read_csv(dataset_path + 'chapter2_result.csv', index_col=0) -except IOError as e: - print('File not found, try to run previous crowdsignals scripts first!') - raise e - -dataset.index = dataset.index.to_datetime() - -# Compute the number of milliseconds covered by an instance based on the first two rows -milliseconds_per_instance = (dataset.index[1] - dataset.index[0]).microseconds/1000 - -# Step 1: Let us see whether we have some outliers we would prefer to remove. - -# Determine the columns we want to experiment on. -outlier_columns = ['acc_phone_x', 'light_phone_lux'] - -# Create the outlier classes. -OutlierDistr = DistributionBasedOutlierDetection() -OutlierDist = DistanceBasedOutlierDetection() - -#And investigate the approaches for all relevant attributes. -for col in outlier_columns: - # And try out all different approaches. Note that we have done some optimization - # of the parameter values for each of the approaches by visual inspection. - dataset = OutlierDistr.chauvenet(dataset, col) - DataViz.plot_binary_outliers(dataset, col, col + '_outlier') - dataset = OutlierDistr.mixture_model(dataset, col) - DataViz.plot_dataset(dataset, [col, col + '_mixture'], ['exact','exact'], ['line', 'points']) - # This requires: - # n_data_points * n_data_points * point_size = - # 31839 * 31839 * 64 bits = ~8GB available memory - try: - dataset = OutlierDist.simple_distance_based(dataset, [col], 'euclidean', 0.10, 0.99) - DataViz.plot_binary_outliers(dataset, col, 'simple_dist_outlier') - except MemoryError as e: - print('Not enough memory available for simple distance-based outlier detection...') - print('Skipping.') - - try: - dataset = OutlierDist.local_outlier_factor(dataset, [col], 'euclidean', 5) - DataViz.plot_dataset(dataset, [col, 'lof'], ['exact','exact'], ['line', 'points']) - except MemoryError as e: - print('Not enough memory available for lof...') - print('Skipping.') - - # Remove all the stuff from the dataset again. - cols_to_remove = [col + '_outlier', col + '_mixture', 'simple_dist_outlier', 'lof'] - for to_remove in cols_to_remove: - if to_remove in dataset: - del dataset[to_remove] - -# We take Chauvent's criterion and apply it to all but the label data... - -for col in [c for c in dataset.columns if not 'label' in c]: - print 'Measurement is now: ' , col - dataset = OutlierDistr.chauvenet(dataset, col) - dataset.loc[dataset[col + '_outlier'] == True, col] = np.nan - del dataset[col + '_outlier'] - -dataset.to_csv(dataset_path + 'chapter3_result_outliers.csv') diff --git a/PythonCode/crowdsignals_ch3_rest.py b/PythonCode/crowdsignals_ch3_rest.py deleted file mode 100644 index 4364d80f..00000000 --- a/PythonCode/crowdsignals_ch3_rest.py +++ /dev/null @@ -1,108 +0,0 @@ -############################################################## -# # -# Mark Hoogendoorn and Burkhardt Funk (2017) # -# Machine Learning for the Quantified Self # -# Springer # -# Chapter 3 # -# # -############################################################## - -from util.VisualizeDataset import VisualizeDataset -from Chapter3.DataTransformation import LowPassFilter -from Chapter3.DataTransformation import PrincipalComponentAnalysis -from Chapter3.ImputationMissingValues import ImputationMissingValues -from Chapter3.KalmanFilters import KalmanFilters -import copy -import pandas as pd -import numpy as np -import matplotlib.pyplot as plot - -# Let is create our visualization class again. -DataViz = VisualizeDataset() - -# Read the result from the previous chapter, and make sure the index is of the type datetime. -dataset_path = './intermediate_datafiles/' -dataset = pd.read_csv(dataset_path + 'chapter3_result_outliers.csv', index_col=0) -dataset.index = dataset.index.to_datetime() - -# Computer the number of milliseconds covered by an instane based on the first two rows -milliseconds_per_instance = (dataset.index[1] - dataset.index[0]).microseconds/1000 - -# Step 2: Let us impute the missing values. - -MisVal = ImputationMissingValues() -imputed_mean_dataset = MisVal.impute_mean(copy.deepcopy(dataset), 'hr_watch_rate') -imputed_median_dataset = MisVal.impute_median(copy.deepcopy(dataset), 'hr_watch_rate') -imputed_interpolation_dataset = MisVal.impute_interpolate(copy.deepcopy(dataset), 'hr_watch_rate') -DataViz.plot_imputed_values(dataset, ['original', 'mean', 'interpolation'], 'hr_watch_rate', imputed_mean_dataset['hr_watch_rate'], imputed_interpolation_dataset['hr_watch_rate']) - -# And we impute for all columns except for the label in the selected way (interpolation) - -for col in [c for c in dataset.columns if not 'label' in c]: - dataset = MisVal.impute_interpolate(dataset, col) - -# Let us try the Kalman filter on the light_phone_lux attribute and study the result. - -original_dataset = pd.read_csv(dataset_path + 'chapter2_result.csv', index_col=0) -original_dataset.index = original_dataset.index.to_datetime() -KalFilter = KalmanFilters() -kalman_dataset = KalFilter.apply_kalman_filter(original_dataset, 'acc_phone_x') -DataViz.plot_imputed_values(kalman_dataset, ['original', 'kalman'], 'acc_phone_x', kalman_dataset['acc_phone_x_kalman']) -DataViz.plot_dataset(kalman_dataset, ['acc_phone_x', 'acc_phone_x_kalman'], ['exact','exact'], ['line', 'line']) - -# We ignore the Kalman filter output for now... - -# Let us apply a lowpass filter and reduce the importance of the data above 1.5 Hz - -LowPass = LowPassFilter() - -# Determine the sampling frequency. -fs = float(1000)/milliseconds_per_instance -cutoff = 1.5 - -# Let us study acc_phone_x: -new_dataset = LowPass.low_pass_filter(copy.deepcopy(dataset), 'acc_phone_x', fs, cutoff, order=10) -DataViz.plot_dataset(new_dataset.ix[int(0.4*len(new_dataset.index)):int(0.43*len(new_dataset.index)), :], ['acc_phone_x', 'acc_phone_x_lowpass'], ['exact','exact'], ['line', 'line']) - -# And not let us include all measurements that have a form of periodicity (and filter them): -periodic_measurements = ['acc_phone_x', 'acc_phone_y', 'acc_phone_z', 'acc_watch_x', 'acc_watch_y', 'acc_watch_z', 'gyr_phone_x', 'gyr_phone_y', - 'gyr_phone_z', 'gyr_watch_x', 'gyr_watch_y', 'gyr_watch_z', 'mag_phone_x', 'mag_phone_y', 'mag_phone_z', 'mag_watch_x', - 'mag_watch_y', 'mag_watch_z'] - -for col in periodic_measurements: - dataset = LowPass.low_pass_filter(dataset, col, fs, cutoff, order=10) - dataset[col] = dataset[col + '_lowpass'] - del dataset[col + '_lowpass'] - - -# Determine the PC's for all but our target columns (the labels and the heart rate) -# We simplify by ignoring both, we could also ignore one first, and apply a PC to the remainder. - -PCA = PrincipalComponentAnalysis() -selected_predictor_cols = [c for c in dataset.columns if (not ('label' in c)) and (not (c == 'hr_watch_rate'))] -pc_values = PCA.determine_pc_explained_variance(dataset, selected_predictor_cols) - -# Plot the variance explained. - -plot.plot(range(1, len(selected_predictor_cols)+1), pc_values, 'b-') -plot.xlabel('principal component number') -plot.ylabel('explained variance') -plot.show(block=False) - -# We select 7 as the best number of PC's as this explains most of the variance - -n_pcs = 7 - -dataset = PCA.apply_pca(copy.deepcopy(dataset), selected_predictor_cols, n_pcs) - -#And we visualize the result of the PC's - -DataViz.plot_dataset(dataset, ['pca_', 'label'], ['like', 'like'], ['line', 'points']) - -# And the overall final dataset: - -DataViz.plot_dataset(dataset, ['acc_', 'gyr_', 'hr_watch_rate', 'light_phone_lux', 'mag_', 'press_phone_', 'pca_', 'label'], ['like', 'like', 'like', 'like', 'like', 'like', 'like','like', 'like'], ['line', 'line', 'line', 'line', 'line', 'line', 'line', 'points', 'points']) - -# Store the outcome. - -dataset.to_csv(dataset_path + 'chapter3_result_final.csv') \ No newline at end of file diff --git a/PythonCode/crowdsignals_ch4.py b/PythonCode/crowdsignals_ch4.py deleted file mode 100644 index 70376165..00000000 --- a/PythonCode/crowdsignals_ch4.py +++ /dev/null @@ -1,85 +0,0 @@ -############################################################## -# # -# Mark Hoogendoorn and Burkhardt Funk (2017) # -# Machine Learning for the Quantified Self # -# Springer # -# Chapter 4 # -# # -############################################################## - -from util.VisualizeDataset import VisualizeDataset -from Chapter4.TemporalAbstraction import NumericalAbstraction -from Chapter4.TemporalAbstraction import CategoricalAbstraction -from Chapter4.FrequencyAbstraction import FourierTransformation -from Chapter4.TextAbstraction import TextAbstraction -import copy -import pandas as pd - -# Let us create our visualization class again. -DataViz = VisualizeDataset() - -# Read the result from the previous chapter, and make sure the index is of the type datetime. -dataset_path = './intermediate_datafiles/' -try: - dataset = pd.read_csv(dataset_path + 'chapter3_result_final.csv', index_col=0) -except IOError as e: - print('File not found, try to run previous crowdsignals scripts first!') - raise e - -dataset.index = dataset.index.to_datetime() - -# Compute the number of milliseconds covered by an instane based on the first two rows -milliseconds_per_instance = (dataset.index[1] - dataset.index[0]).microseconds/1000 - - -# Chapter 4: Identifying aggregate attributes. - -# First we focus on the time domain. - -# Set the window sizes to the number of instances representing 5 seconds, 30 seconds and 5 minutes -window_sizes = [int(float(5000)/milliseconds_per_instance), int(float(0.5*60000)/milliseconds_per_instance), int(float(5*60000)/milliseconds_per_instance)] - -NumAbs = NumericalAbstraction() -dataset_copy = copy.deepcopy(dataset) -for ws in window_sizes: - dataset_copy = NumAbs.abstract_numerical(dataset_copy, ['acc_phone_x'], ws, 'mean') - dataset_copy = NumAbs.abstract_numerical(dataset_copy, ['acc_phone_x'], ws, 'std') - -DataViz.plot_dataset(dataset_copy, ['acc_phone_x', 'acc_phone_x_temp_mean', 'acc_phone_x_temp_std', 'label'], ['exact', 'like', 'like', 'like'], ['line', 'line', 'line', 'points']) - -ws = int(float(0.5*60000)/milliseconds_per_instance) -selected_predictor_cols = [c for c in dataset.columns if not 'label' in c] -dataset = NumAbs.abstract_numerical(dataset, selected_predictor_cols, ws, 'mean') -dataset = NumAbs.abstract_numerical(dataset, selected_predictor_cols, ws, 'std') - - -CatAbs = CategoricalAbstraction() -dataset = CatAbs.abstract_categorical(dataset, ['label'], ['like'], 0.03, int(float(5*60000)/milliseconds_per_instance), 2) - -# Now we move to the frequency domain, with the same window size. - -FreqAbs = FourierTransformation() -fs = float(1000)/milliseconds_per_instance - -periodic_predictor_cols = ['acc_phone_x','acc_phone_y','acc_phone_z','acc_watch_x','acc_watch_y','acc_watch_z','gyr_phone_x','gyr_phone_y', - 'gyr_phone_z','gyr_watch_x','gyr_watch_y','gyr_watch_z','mag_phone_x','mag_phone_y','mag_phone_z', - 'mag_watch_x','mag_watch_y','mag_watch_z'] -data_table = FreqAbs.abstract_frequency(copy.deepcopy(dataset), ['acc_phone_x'], int(float(10000)/milliseconds_per_instance), fs) - -# Spectral analysis. - -DataViz.plot_dataset(data_table, ['acc_phone_x_max_freq', 'acc_phone_x_freq_weighted', 'acc_phone_x_pse', 'label'], ['like', 'like', 'like', 'like'], ['line', 'line', 'line','points']) - -dataset = FreqAbs.abstract_frequency(dataset, periodic_predictor_cols, int(float(10000)/milliseconds_per_instance), fs) - -# Now we only take a certain percentage of overlap in the windows, otherwise our training examples will be too much alike. - -# The percentage of overlap we allow -window_overlap = 0.9 -skip_points = int((1-window_overlap) * ws) -dataset = dataset.iloc[::skip_points,:] - - -dataset.to_csv(dataset_path + 'chapter4_result.csv') - -DataViz.plot_dataset(dataset, ['acc_phone_x', 'gyr_phone_x', 'hr_watch_rate', 'light_phone_lux', 'mag_phone_x', 'press_phone_', 'pca_1', 'label'], ['like', 'like', 'like', 'like', 'like', 'like', 'like','like'], ['line', 'line', 'line', 'line', 'line', 'line', 'line', 'points']) diff --git a/PythonCode/crowdsignals_ch5.py b/PythonCode/crowdsignals_ch5.py deleted file mode 100644 index d3e8320f..00000000 --- a/PythonCode/crowdsignals_ch5.py +++ /dev/null @@ -1,127 +0,0 @@ -############################################################## -# # -# Mark Hoogendoorn and Burkhardt Funk (2017) # -# Machine Learning for the Quantified Self # -# Springer # -# Chapter 5 # -# # -############################################################## - -from util.VisualizeDataset import VisualizeDataset -from Chapter5.DistanceMetrics import InstanceDistanceMetrics -from Chapter5.DistanceMetrics import PersonDistanceMetricsNoOrdering -from Chapter5.DistanceMetrics import PersonDistanceMetricsOrdering -from Chapter5.Clustering import NonHierarchicalClustering -from Chapter5.Clustering import HierarchicalClustering -import copy -import pandas as pd -import matplotlib.pyplot as plot -import util.util as util - - -# Of course we repeat some stuff from Chapter 3, namely to load the dataset - -DataViz = VisualizeDataset() - -# Read the result from the previous chapter, and make sure the index is of the type datetime. -dataset_path = './intermediate_datafiles/' - -try: - dataset = pd.read_csv(dataset_path + 'chapter4_result.csv', index_col=0) -except IOError as e: - print('File not found, try to run previous crowdsignals scripts first!') - raise e -dataset.index = dataset.index.to_datetime() - -# First let us use non hierarchical clustering. - -clusteringNH = NonHierarchicalClustering() - -# Let us look at k-means first. - -k_values = range(2, 10) -silhouette_values = [] -# -## Do some initial runs to determine the right number for k -# -print '===== kmeans clustering =====' -for k in k_values: - print 'k = ', k - dataset_cluster = clusteringNH.k_means_over_instances(copy.deepcopy(dataset), ['acc_phone_x', 'acc_phone_y', 'acc_phone_z'], k, 'default', 20, 10) - silhouette_score = dataset_cluster['silhouette'].mean() - print 'silhouette = ', silhouette_score - silhouette_values.append(silhouette_score) - -plot.plot(k_values, silhouette_values, 'b-') -plot.xlabel('k') -plot.ylabel('silhouette score') -plot.ylim([0,1]) -plot.show() - -# And run the knn with the highest silhouette score - -k = 6 - -dataset_knn = clusteringNH.k_means_over_instances(copy.deepcopy(dataset), ['acc_phone_x', 'acc_phone_y', 'acc_phone_z'], k, 'default', 50, 50) -DataViz.plot_clusters_3d(dataset_knn, ['acc_phone_x', 'acc_phone_y', 'acc_phone_z'], 'cluster', ['label']) -DataViz.plot_silhouette(dataset_knn, 'cluster', 'silhouette') -util.print_latex_statistics_clusters(dataset_knn, 'cluster', ['acc_phone_x', 'acc_phone_y', 'acc_phone_z'], 'label') -del dataset_knn['silhouette'] - - -k_values = range(2, 10) -silhouette_values = [] - -# Do some initial runs to determine the right number for k - -print '===== k medoids clustering =====' -for k in k_values: - print 'k = ', k - dataset_cluster = clusteringNH.k_medoids_over_instances(copy.deepcopy(dataset), ['acc_phone_x', 'acc_phone_y', 'acc_phone_z'], k, 'default', 20, n_inits=10) - silhouette_score = dataset_cluster['silhouette'].mean() - print 'silhouette = ', silhouette_score - silhouette_values.append(silhouette_score) - -plot.plot(k_values, silhouette_values, 'b-') -plot.ylim([0,1]) -plot.xlabel('k') -plot.ylabel('silhouette score') -plot.show() - -# And run k medoids with the highest silhouette score - -k = 6 - -dataset_kmed = clusteringNH.k_medoids_over_instances(copy.deepcopy(dataset), ['acc_phone_x', 'acc_phone_y', 'acc_phone_z'], k, 'default', 20, n_inits=50) -DataViz.plot_clusters_3d(dataset_kmed, ['acc_phone_x', 'acc_phone_y', 'acc_phone_z'], 'cluster', ['label']) -DataViz.plot_silhouette(dataset_kmed, 'cluster', 'silhouette') -util.print_latex_statistics_clusters(dataset_kmed, 'cluster', ['acc_phone_x', 'acc_phone_y', 'acc_phone_z'], 'label') - -# And the hierarchical clustering is the last one we try - -clusteringH = HierarchicalClustering() - -k_values = range(2, 10) -silhouette_values = [] - -# Do some initial runs to determine the right number for the maximum number of clusters. - -print '===== agglomaritive clustering =====' -for k in k_values: - print 'k = ', k - dataset_cluster, l = clusteringH.agglomerative_over_instances(copy.deepcopy(dataset), ['acc_phone_x', 'acc_phone_y', 'acc_phone_z'], k, 'euclidean', use_prev_linkage=True, link_function='ward') - silhouette_score = dataset_cluster['silhouette'].mean() - print 'silhouette = ', silhouette_score - silhouette_values.append(silhouette_score) - if k == k_values[0]: - DataViz.plot_dendrogram(dataset_cluster, l) - -plot.plot(k_values, silhouette_values, 'b-') -plot.ylim([0,1]) -plot.xlabel('max number of clusters') -plot.ylabel('silhouette score') -plot.show() - -# And we select the outcome dataset of the knn clustering.... - -dataset_knn.to_csv(dataset_path + 'chapter5_result.csv') diff --git a/PythonCode/crowdsignals_ch7_classification.py b/PythonCode/crowdsignals_ch7_classification.py deleted file mode 100644 index 8ef85600..00000000 --- a/PythonCode/crowdsignals_ch7_classification.py +++ /dev/null @@ -1,241 +0,0 @@ -############################################################## -# # -# Mark Hoogendoorn and Burkhardt Funk (2017) # -# Machine Learning for the Quantified Self # -# Springer # -# Chapter 7 # -# # -############################################################## - -from util.VisualizeDataset import VisualizeDataset -from Chapter7.PrepareDatasetForLearning import PrepareDatasetForLearning -from Chapter7.LearningAlgorithms import ClassificationAlgorithms -from Chapter7.LearningAlgorithms import RegressionAlgorithms -from Chapter7.Evaluation import ClassificationEvaluation -from Chapter7.Evaluation import RegressionEvaluation -from Chapter7.FeatureSelection import FeatureSelectionClassification -from Chapter7.FeatureSelection import FeatureSelectionRegression -import copy -import pandas as pd -from util import util -import matplotlib.pyplot as plot -import numpy as np -from sklearn.model_selection import train_test_split -import os - - -# Of course we repeat some stuff from Chapter 3, namely to load the dataset - -DataViz = VisualizeDataset() - -# Read the result from the previous chapter, and make sure the index is of the type datetime. - -dataset_path = './intermediate_datafiles/' -export_tree_path = 'Example_graphs/Chapter7/' - -try: - dataset = pd.read_csv(dataset_path + 'chapter5_result.csv', index_col=0) -except IOError as e: - print('File not found, try to run previous crowdsignals scripts first!') - raise e - -if not os.path.exists(export_tree_path): - os.makedirs(export_tree_path) - -dataset.index = dataset.index.to_datetime() - -# Let us consider our first task, namely the prediction of the label. We consider this as a non-temporal task. - -# We create a single column with the categorical attribute representing our class. Furthermore, we use 70% of our data -# for training and the remaining 30% as an independent test set. We select the sets based on stratified sampling. We remove -# cases where we do not know the label. - -prepare = PrepareDatasetForLearning() - -train_X, test_X, train_y, test_y = prepare.split_single_dataset_classification(dataset, ['label'], 'like', 0.7, filter=True, temporal=False) -#train_X, test_X, train_y, test_y = prepare.split_single_dataset_classification(dataset, ['label'], 'like', 0.01, filter=True, temporal=False) - -print 'Training set length is: ', len(train_X.index) -print 'Test set length is: ', len(test_X.index) - -# Select subsets of the features that we will consider: - -basic_features = ['acc_phone_x','acc_phone_y','acc_phone_z','acc_watch_x','acc_watch_y','acc_watch_z','gyr_phone_x','gyr_phone_y','gyr_phone_z','gyr_watch_x','gyr_watch_y','gyr_watch_z', - 'hr_watch_rate', 'light_phone_lux','mag_phone_x','mag_phone_y','mag_phone_z','mag_watch_x','mag_watch_y','mag_watch_z','press_phone_pressure'] -pca_features = ['pca_1','pca_2','pca_3','pca_4','pca_5','pca_6','pca_7'] -time_features = [name for name in dataset.columns if '_temp_' in name] -freq_features = [name for name in dataset.columns if (('_freq' in name) or ('_pse' in name))] -print '#basic features: ', len(basic_features) -print '#PCA features: ', len(pca_features) -print '#time features: ', len(time_features) -print '#frequency features: ', len(freq_features) -cluster_features = ['cluster'] -print '#cluster features: ', len(cluster_features) -features_after_chapter_3 = list(set().union(basic_features, pca_features)) -features_after_chapter_4 = list(set().union(basic_features, pca_features, time_features, freq_features)) -features_after_chapter_5 = list(set().union(basic_features, pca_features, time_features, freq_features, cluster_features)) - - -# First, let us consider the performance over a selection of features: - -fs = FeatureSelectionClassification() - -features, ordered_features, ordered_scores = fs.forward_selection(50, train_X[features_after_chapter_5], train_y) -print ordered_scores -print ordered_features - -plot.plot(range(1, 51), ordered_scores) -plot.xlabel('number of features') -plot.ylabel('accuracy') -plot.show() - -# Based on the plot we select the top 10 features. - -selected_features = ['acc_phone_y_freq_0.0_Hz_ws_40', 'press_phone_pressure_temp_mean_ws_120', 'gyr_phone_x_temp_std_ws_120', - 'mag_watch_y_pse', 'mag_phone_z_max_freq', 'gyr_watch_y_freq_weighted', 'gyr_phone_y_freq_1.0_Hz_ws_40', - 'acc_phone_x_freq_1.9_Hz_ws_40', 'mag_watch_z_freq_0.9_Hz_ws_40', 'acc_watch_y_freq_0.5_Hz_ws_40'] - -# Let us first study the impact of regularization and model complexity: does regularization prevent overfitting? - -learner = ClassificationAlgorithms() -eval = ClassificationEvaluation() - -reg_parameters = [0.0001, 0.001, 0.01, 0.1, 1, 10] -performance_training = [] -performance_test = [] - -# We repeat the experiment a number of times to get a bit more robust data as the initialization of the NN is random. - -repeats = 20 - -for reg_param in reg_parameters: - performance_tr = 0 - performance_te = 0 - for i in range(0, repeats): - class_train_y, class_test_y, class_train_prob_y, class_test_prob_y = learner.feedforward_neural_network(train_X, train_y, - test_X, hidden_layer_sizes=(250, ), alpha=reg_param, max_iter=500, - gridsearch=False) - performance_tr += eval.accuracy(train_y, class_train_y) - performance_te += eval.accuracy(test_y, class_test_y) - performance_training.append(performance_tr/repeats) - performance_test.append(performance_te/repeats) - -plot.hold(True) -plot.semilogx(reg_parameters, performance_training, 'r-') -plot.semilogx(reg_parameters, performance_test, 'b:') -print performance_training -print performance_test -plot.xlabel('regularization parameter value') -plot.ylabel('accuracy') -plot.ylim([0.95, 1.01]) -plot.legend(['training', 'test'], loc=4) -plot.hold(False) - -plot.show() - -# Second, let us consider the influence of certain parameter settings (very related to the regulariztion) and study the impact on performance. - -leaf_settings = [1,2,5,10] -performance_training = [] -performance_test = [] - -for no_points_leaf in leaf_settings: - class_train_y, class_test_y, class_train_prob_y, class_test_prob_y = learner.decision_tree(train_X[selected_features], train_y, test_X[selected_features], min_samples_leaf=no_points_leaf, - gridsearch=False, print_model_details=False) - performance_training.append(eval.accuracy(train_y, class_train_y)) - performance_test.append(eval.accuracy(test_y, class_test_y)) - -plot.hold(True) -plot.plot(leaf_settings, performance_training, 'r-') -plot.plot(leaf_settings, performance_test, 'b:') -plot.xlabel('minimum number of points per leaf') -plot.ylabel('accuracy') -plot.legend(['training', 'test'], loc=1) -plot.hold(False) - -plot.show() - - -# So yes, it is important :) Therefore we perform grid searches over the most important parameters, and do so by means -# of cross validation upon the training set. - - -possible_feature_sets = [basic_features, features_after_chapter_3, features_after_chapter_4, features_after_chapter_5, selected_features] -feature_names = ['initial set', 'Chapter 3', 'Chapter 4', 'Chapter 5', 'Selected features'] -repeats = 5 - -scores_over_all_algs = [] - -for i in range(0, len(possible_feature_sets)): - selected_train_X = train_X[possible_feature_sets[i]] - selected_test_X = test_X[possible_feature_sets[i]] - - # First we run our non deterministic classifiers a number of times to average their score. - - performance_tr_nn = 0 - performance_tr_rf = 0 - performance_tr_svm = 0 - performance_te_nn = 0 - performance_te_rf = 0 - performance_te_svm = 0 - - for repeat in range(0, repeats): - class_train_y, class_test_y, class_train_prob_y, class_test_prob_y = learner.feedforward_neural_network(selected_train_X, train_y, selected_test_X, gridsearch=True) - performance_tr_nn += eval.accuracy(train_y, class_train_y) - performance_te_nn += eval.accuracy(test_y, class_test_y) - - class_train_y, class_test_y, class_train_prob_y, class_test_prob_y = learner.random_forest(selected_train_X, train_y, selected_test_X, gridsearch=True) - performance_tr_rf += eval.accuracy(train_y, class_train_y) - performance_te_rf += eval.accuracy(test_y, class_test_y) - - class_train_y, class_test_y, class_train_prob_y, class_test_prob_y = learner.support_vector_machine_with_kernel(selected_train_X, train_y, selected_test_X, gridsearch=True) - performance_tr_svm += eval.accuracy(train_y, class_train_y) - performance_te_svm += eval.accuracy(test_y, class_test_y) - - - overall_performance_tr_nn = performance_tr_nn/repeats - overall_performance_te_nn = performance_te_nn/repeats - overall_performance_tr_rf = performance_tr_rf/repeats - overall_performance_te_rf = performance_te_rf/repeats - overall_performance_tr_svm = performance_tr_svm/repeats - overall_performance_te_svm = performance_te_svm/repeats - - # And we run our deterministic classifiers: - - - class_train_y, class_test_y, class_train_prob_y, class_test_prob_y = learner.k_nearest_neighbor(selected_train_X, train_y, selected_test_X, gridsearch=True) - performance_tr_knn = eval.accuracy(train_y, class_train_y) - performance_te_knn = eval.accuracy(test_y, class_test_y) - - class_train_y, class_test_y, class_train_prob_y, class_test_prob_y = learner.decision_tree(selected_train_X, train_y, selected_test_X, gridsearch=True) - performance_tr_dt = eval.accuracy(train_y, class_train_y) - performance_te_dt = eval.accuracy(test_y, class_test_y) - - class_train_y, class_test_y, class_train_prob_y, class_test_prob_y = learner.naive_bayes(selected_train_X, train_y, selected_test_X) - performance_tr_nb = eval.accuracy(train_y, class_train_y) - performance_te_nb = eval.accuracy(test_y, class_test_y) - - scores_with_sd = util.print_table_row_performances(feature_names[i], len(selected_train_X.index), len(selected_test_X.index), [ - (overall_performance_tr_nn, overall_performance_te_nn), - (overall_performance_tr_rf, overall_performance_te_rf), - (overall_performance_tr_svm, overall_performance_te_svm), - (performance_tr_knn, performance_te_knn), - (performance_tr_dt, performance_te_dt), - (performance_tr_nb, performance_te_nb)]) - scores_over_all_algs.append(scores_with_sd) - -DataViz.plot_performances_classification(['NN', 'RF', 'SVM', 'KNN', 'DT', 'NB'], feature_names, scores_over_all_algs) - -# And we study two promising ones in more detail. First let us consider the decision tree which works best with the selected -# features. -# -class_train_y, class_test_y, class_train_prob_y, class_test_prob_y = learner.decision_tree(train_X[selected_features], train_y, test_X[selected_features], - gridsearch=True, - print_model_details=True, export_tree_path=export_tree_path) - -class_train_y, class_test_y, class_train_prob_y, class_test_prob_y = learner.random_forest(train_X[selected_features], train_y, test_X[selected_features], - gridsearch=True, print_model_details=True) - -test_cm = eval.confusion_matrix(test_y, class_test_y, class_train_prob_y.columns) - -DataViz.plot_confusion_matrix(test_cm, class_train_prob_y.columns, normalize=False) diff --git a/PythonCode/crowdsignals_ch7_regression.py b/PythonCode/crowdsignals_ch7_regression.py deleted file mode 100644 index 44fbedfb..00000000 --- a/PythonCode/crowdsignals_ch7_regression.py +++ /dev/null @@ -1,188 +0,0 @@ -############################################################## -# # -# Mark Hoogendoorn and Burkhardt Funk (2017) # -# Machine Learning for the Quantified Self # -# Springer # -# Chapter 7 # -# # -############################################################## - -from util.VisualizeDataset import VisualizeDataset -from Chapter7.PrepareDatasetForLearning import PrepareDatasetForLearning -from Chapter7.LearningAlgorithms import ClassificationAlgorithms -from Chapter7.LearningAlgorithms import RegressionAlgorithms -from Chapter7.Evaluation import ClassificationEvaluation -from Chapter7.Evaluation import RegressionEvaluation -from Chapter7.FeatureSelection import FeatureSelectionClassification -from Chapter7.FeatureSelection import FeatureSelectionRegression -import copy -import pandas as pd -from util import util -import matplotlib.pyplot as plot -import numpy as np -from sklearn.model_selection import train_test_split -import os - - -# Of course we repeat some stuff from Chapter 3, namely to load the dataset - -DataViz = VisualizeDataset() - -# Read the result from the previous chapter, and make sure the index is of the type datetime. -dataset_path = './intermediate_datafiles/' -export_tree_path = 'Example_graphs/Chapter7/' - -try: - dataset = pd.read_csv(dataset_path + 'chapter5_result.csv', index_col=0) -except IOError as e: - print('File not found, try to run previous crowdsignals scripts first!') - raise e -dataset = pd.read_csv(dataset_path + 'chapter5_result.csv', index_col=0) -dataset.index = dataset.index.to_datetime() - -if not os.path.exists(export_tree_path): - os.makedirs(export_tree_path) - -# Let us consider our second task, namely the prediction of the heart rate. We consider this as a temporal task. - -prepare = PrepareDatasetForLearning() - -train_X, test_X, train_y, test_y = prepare.split_single_dataset_regression_by_time(dataset, 'hr_watch_rate', '2016-02-08 18:28:56', - '2016-02-08 19:34:07', '2016-02-08 20:07:50') -# '2016-02-08 18:28:58','2016-02-08 18:28:59') - -print 'Training set length is: ', len(train_X.index) -print 'Test set length is: ', len(test_X.index) - -# Select subsets of the features that we will consider: - -basic_features = ['acc_phone_x','acc_phone_y','acc_phone_z','acc_watch_x','acc_watch_y','acc_watch_z','gyr_phone_x','gyr_phone_y','gyr_phone_z','gyr_watch_x','gyr_watch_y','gyr_watch_z', - 'labelOnTable','labelSitting','labelWashingHands','labelWalking','labelStanding','labelDriving','labelEating','labelRunning', - 'light_phone_lux','mag_phone_x','mag_phone_y','mag_phone_z','mag_watch_x','mag_watch_y','mag_watch_z','press_phone_pressure'] -pca_features = ['pca_1','pca_2','pca_3','pca_4','pca_5','pca_6','pca_7'] -time_features = [name for name in dataset.columns if ('temp_' in name and not 'hr_watch' in name)] -freq_features = [name for name in dataset.columns if (('_freq' in name) or ('_pse' in name))] -print '#basic features: ', len(basic_features) -print '#PCA features: ', len(pca_features) -print '#time features: ', len(time_features) -print '#frequency features: ', len(freq_features) -cluster_features = ['cluster'] -print '#cluster features: ', len(cluster_features) -features_after_chapter_3 = list(set().union(basic_features, pca_features)) -features_after_chapter_4 = list(set().union(basic_features, pca_features, time_features, freq_features)) -features_after_chapter_5 = list(set().union(basic_features, pca_features, time_features, freq_features, cluster_features)) - -fs = FeatureSelectionRegression() - -# First, let us consider the Pearson correlations and see whether we can select based on them. -features, correlations = fs.pearson_selection(10, train_X[features_after_chapter_5], train_y) -util.print_pearson_correlations(correlations) - -# We select the 10 features with the highest correlation. - -selected_features = ['temp_pattern_labelOnTable','labelOnTable','temp_pattern_labelOnTable(b)labelOnTable','pca_2_temp_mean_ws_120', - 'pca_1_temp_mean_ws_120','acc_watch_y_temp_mean_ws_120','pca_2','acc_phone_z_temp_mean_ws_120', - 'gyr_watch_y_pse','gyr_watch_x_pse'] - -possible_feature_sets = [basic_features, features_after_chapter_3, features_after_chapter_4, features_after_chapter_5, selected_features] -feature_names = ['initial set', 'Chapter 3', 'Chapter 4', 'Chapter 5', 'Selected features'] - -# Let us first study the importance of the parameter settings. - -learner = RegressionAlgorithms() -eval = RegressionEvaluation() - -# We repeat the experiment a number of times to get a bit more robust data as the initialization of the NN is random. - -repeats = 5 - -scores_over_all_algs = [] - -for i in range(0, len(possible_feature_sets)): - - selected_train_X = train_X[possible_feature_sets[i]] - selected_test_X = test_X[possible_feature_sets[i]] - - # First we run our non deterministic classifiers a number of times to average their score. - - performance_tr_nn = 0 - performance_tr_nn_std = 0 - performance_tr_rf = 0 - performance_tr_rf_std = 0 - performance_tr_svm = 0 - performance_tr_svm_std = 0 - performance_te_nn = 0 - performance_te_nn_std = 0 - performance_te_rf = 0 - performance_te_rf_std = 0 - performance_te_svm = 0 - performance_te_svm_std = 0 - - for repeat in range(0, repeats): - regr_train_y, regr_test_y = learner.feedforward_neural_network(selected_train_X, train_y, selected_test_X, gridsearch=True) - - mean_tr, std_tr = eval.mean_squared_error_with_std(train_y, regr_train_y) - mean_te, std_te = eval.mean_squared_error_with_std(test_y, regr_test_y) - mean_training = eval.mean_squared_error(train_y, regr_train_y) - performance_tr_nn += mean_tr - performance_tr_nn_std += std_tr - performance_te_nn += mean_te - performance_te_nn_std += std_te - - regr_train_y, regr_test_y = learner.random_forest(selected_train_X, train_y, selected_test_X, gridsearch=True) - mean_tr, std_tr = eval.mean_squared_error_with_std(train_y, regr_train_y) - mean_te, std_te = eval.mean_squared_error_with_std(test_y, regr_test_y) - performance_tr_rf += mean_tr - performance_tr_rf_std += std_tr - performance_te_rf += mean_te - performance_te_rf_std += std_te - - overall_performance_tr_nn = performance_tr_nn/repeats - overall_performance_tr_nn_std = performance_tr_nn_std/repeats - overall_performance_te_nn = performance_te_nn/repeats - overall_performance_te_nn_std = performance_te_nn_std/repeats - overall_performance_tr_rf = performance_tr_rf/repeats - overall_performance_tr_rf_std = performance_tr_rf_std/repeats - overall_performance_te_rf = performance_te_rf/repeats - overall_performance_te_rf_std = performance_te_rf_std/repeats - - # And we run our deterministic algorithms: - - regr_train_y, regr_test_y = learner.support_vector_regression_without_kernel(selected_train_X, train_y, selected_test_X, gridsearch=True) - mean_tr, std_tr = eval.mean_squared_error_with_std(train_y, regr_train_y) - mean_te, std_te = eval.mean_squared_error_with_std(test_y, regr_test_y) - performance_tr_svm = mean_tr - performance_tr_svm_std = std_tr - performance_te_svm = mean_te - performance_te_svm_std = std_te - - regr_train_y, regr_test_y = learner.k_nearest_neighbor(selected_train_X, train_y, selected_test_X, gridsearch=True) - mean_tr, std_tr = eval.mean_squared_error_with_std(train_y, regr_train_y) - mean_te, std_te = eval.mean_squared_error_with_std(test_y, regr_test_y) - performance_tr_knn = mean_tr - performance_tr_knn_std = std_tr - performance_te_knn = mean_te - performance_te_knn_std = std_te - - regr_train_y, regr_test_y = learner.decision_tree(selected_train_X, train_y, selected_test_X, gridsearch=True, export_tree_path=export_tree_path) - - mean_tr, std_tr = eval.mean_squared_error_with_std(train_y, regr_train_y) - mean_te, std_te = eval.mean_squared_error_with_std(test_y, regr_test_y) - performance_tr_dt = mean_tr - performance_tr_dt_std = std_tr - performance_te_dt = mean_te - performance_te_dt_std = std_te - - scores_with_sd = [(overall_performance_tr_nn, overall_performance_tr_nn_std, overall_performance_te_nn, overall_performance_te_nn_std), - (overall_performance_tr_rf, overall_performance_tr_rf_std, overall_performance_te_rf, overall_performance_te_rf_std), - (performance_tr_svm, performance_tr_svm_std, performance_te_svm, performance_te_svm_std), - (performance_tr_knn, performance_tr_knn_std, performance_te_knn, performance_te_knn_std), - (performance_tr_dt, performance_tr_dt_std, performance_te_dt, performance_te_dt_std)] - util.print_table_row_performances_regression(feature_names[i], len(selected_train_X.index), len(selected_test_X.index), scores_with_sd) - scores_over_all_algs.append(scores_with_sd) - -print scores_over_all_algs -DataViz.plot_performances_regression(['NN', 'RF', 'SVM', 'KNN', 'DT'], feature_names, scores_over_all_algs) - -regr_train_y, regr_test_y = learner.random_forest(train_X[features_after_chapter_5], train_y, test_X[features_after_chapter_5], gridsearch=True, print_model_details=True) -DataViz.plot_numerical_prediction_versus_real(train_X.index, train_y, regr_train_y, test_X.index, test_y, regr_test_y, 'heart rate') diff --git a/PythonCode/crowdsignals_ch8_regression.py b/PythonCode/crowdsignals_ch8_regression.py deleted file mode 100644 index 96f6eb77..00000000 --- a/PythonCode/crowdsignals_ch8_regression.py +++ /dev/null @@ -1,183 +0,0 @@ -############################################################## -# # -# Mark Hoogendoorn and Burkhardt Funk (2017) # -# Machine Learning for the Quantified Self # -# Springer # -# Chapter 8 # -# # -############################################################## - -from util.VisualizeDataset import VisualizeDataset -from Chapter7.PrepareDatasetForLearning import PrepareDatasetForLearning -from Chapter7.Evaluation import RegressionEvaluation -from Chapter8.LearningAlgorithmsTemporal import TemporalClassificationAlgorithms -from Chapter8.LearningAlgorithmsTemporal import TemporalRegressionAlgorithms -from statsmodels.tsa.stattools import adfuller -from pandas.tools.plotting import autocorrelation_plot - -import copy -import pandas as pd -from util import util -import matplotlib.pyplot as plot -import numpy as np -from sklearn.model_selection import train_test_split - - -# Of course we repeat some stuff from Chapter 3, namely to load the dataset - -DataViz = VisualizeDataset() - -# Read the result from the previous chapter, and make sure the index is of the type datetime. -dataset_path = './intermediate_datafiles/' - -try: - dataset = pd.read_csv(dataset_path + 'chapter5_result.csv', index_col=0) -except IOError as e: - print('File not found, try to run previous crowdsignals scripts first!') - raise e - -dataset.index = dataset.index.to_datetime() - -# Let us consider our second task, namely the prediction of the heart rate. We consider this as a temporal task. - -prepare = PrepareDatasetForLearning() - -train_X, test_X, train_y, test_y = prepare.split_single_dataset_regression_by_time(dataset, 'hr_watch_rate', '2016-02-08 18:29:56', -# '2016-02-08 18:29:58','2016-02-08 18:29:59') - '2016-02-08 19:34:07', '2016-02-08 20:07:50') - -print 'Training set length is: ', len(train_X.index) -print 'Test set length is: ', len(test_X.index) - -# Select subsets of the features that we will consider: - -print 'Training set length is: ', len(train_X.index) -print 'Test set length is: ', len(test_X.index) - -# Select subsets of the features that we will consider: - -basic_features = ['acc_phone_x','acc_phone_y','acc_phone_z','acc_watch_x','acc_watch_y','acc_watch_z','gyr_phone_x','gyr_phone_y','gyr_phone_z','gyr_watch_x','gyr_watch_y','gyr_watch_z', - 'labelOnTable','labelSitting','labelWashingHands','labelWalking','labelStanding','labelDriving','labelEating','labelRunning', - 'light_phone_lux','mag_phone_x','mag_phone_y','mag_phone_z','mag_watch_x','mag_watch_y','mag_watch_z','press_phone_pressure'] -pca_features = ['pca_1','pca_2','pca_3','pca_4','pca_5','pca_6','pca_7'] -time_features = [name for name in dataset.columns if ('temp_' in name and not 'hr_watch' in name)] -freq_features = [name for name in dataset.columns if (('_freq' in name) or ('_pse' in name))] -print '#basic features: ', len(basic_features) -print '#PCA features: ', len(pca_features) -print '#time features: ', len(time_features) -print '#frequency features: ', len(freq_features) -cluster_features = ['cluster'] -print '#cluster features: ', len(cluster_features) -features_after_chapter_3 = list(set().union(basic_features, pca_features)) -features_after_chapter_4 = list(set().union(basic_features, pca_features, time_features, freq_features)) -features_after_chapter_5 = list(set().union(basic_features, pca_features, time_features, freq_features, cluster_features)) - -selected_features = ['temp_pattern_labelOnTable','labelOnTable', 'temp_pattern_labelOnTable(b)labelOnTable', 'cluster', - 'pca_1_temp_mean_ws_120','pca_2_temp_mean_ws_120','pca_2','acc_watch_y_temp_mean_ws_120','gyr_watch_y_pse', - 'gyr_watch_x_pse'] -possible_feature_sets = [basic_features, features_after_chapter_3, features_after_chapter_4, features_after_chapter_5, selected_features] -feature_names = ['initial set', 'Chapter 3', 'Chapter 4', 'Chapter 5', 'Selected features'] - -# Let us first study whether the time series is stationary and what the autocorrelations are. - -dftest = adfuller(dataset['hr_watch_rate'], autolag='AIC') -print dftest - -autocorrelation_plot(dataset['hr_watch_rate']) -plot.show() - -# Now let us focus on the learning part. - -learner = TemporalRegressionAlgorithms() -eval = RegressionEvaluation() - -# We repeat the experiment a number of times to get a bit more robust data as the initialization of the NN is random. - -repeats = 5 - -# we set a washout time to give the NN's the time to stabilize. We do not compute the error during the washout time. - -washout_time = 10 - -scores_over_all_algs = [] - -for i in range(0, len(possible_feature_sets)): - - selected_train_X = train_X[possible_feature_sets[i]] - selected_test_X = test_X[possible_feature_sets[i]] - - # First we run our non deterministic classifiers a number of times to average their score. - - performance_tr_res = 0 - performance_tr_res_std = 0 - performance_te_res = 0 - performance_te_res_std = 0 - performance_tr_rnn = 0 - performance_tr_rnn_std = 0 - performance_te_rnn = 0 - performance_te_rnn_std = 0 - - for repeat in range(0, repeats): - print '----', repeat - regr_train_y, regr_test_y = learner.reservoir_computing(selected_train_X, train_y, selected_test_X, test_y, gridsearch=True, per_time_step=False) - - mean_tr, std_tr = eval.mean_squared_error_with_std(train_y.ix[washout_time:,], regr_train_y.ix[washout_time:,]) - mean_te, std_te = eval.mean_squared_error_with_std(test_y.ix[washout_time:,], regr_test_y.ix[washout_time:,]) - - performance_tr_res += mean_tr - performance_tr_res_std += std_tr - performance_te_res += mean_te - performance_te_res_std += std_te - - regr_train_y, regr_test_y = learner.recurrent_neural_network(selected_train_X, train_y, selected_test_X, test_y, gridsearch=True) - - mean_tr, std_tr = eval.mean_squared_error_with_std(train_y.ix[washout_time:,], regr_train_y.ix[washout_time:,]) - mean_te, std_te = eval.mean_squared_error_with_std(test_y.ix[washout_time:,], regr_test_y.ix[washout_time:,]) - - performance_tr_rnn += mean_tr - performance_tr_rnn_std += std_tr - performance_te_rnn += mean_te - performance_te_rnn_std += std_te - - - # We only apply the time series in case of the basis features. - if (feature_names[i] == 'initial set'): - regr_train_y, regr_test_y = learner.time_series(selected_train_X, train_y, selected_test_X, test_y, gridsearch=True) - - mean_tr, std_tr = eval.mean_squared_error_with_std(train_y.ix[washout_time:,], regr_train_y.ix[washout_time:,]) - mean_te, std_te = eval.mean_squared_error_with_std(test_y.ix[washout_time:,], regr_test_y.ix[washout_time:,]) - - overall_performance_tr_ts = mean_tr - overall_performance_tr_ts_std = std_tr - overall_performance_te_ts = mean_te - overall_performance_te_ts_std = std_te - else: - overall_performance_tr_ts = 0 - overall_performance_tr_ts_std = 0 - overall_performance_te_ts = 0 - overall_performance_te_ts_std = 0 - - overall_performance_tr_res = performance_tr_res/repeats - overall_performance_tr_res_std = performance_tr_res_std/repeats - overall_performance_te_res = performance_te_res/repeats - overall_performance_te_res_std = performance_te_res_std/repeats - overall_performance_tr_rnn = performance_tr_rnn/repeats - overall_performance_tr_rnn_std = performance_tr_rnn_std/repeats - overall_performance_te_rnn = performance_te_rnn/repeats - overall_performance_te_rnn_std = performance_te_rnn_std/repeats - - scores_with_sd = [(overall_performance_tr_res, overall_performance_tr_res_std, overall_performance_te_res, overall_performance_te_res_std), - (overall_performance_tr_rnn, overall_performance_tr_rnn_std, overall_performance_te_rnn, overall_performance_te_rnn_std), - (overall_performance_tr_ts, overall_performance_tr_ts_std, overall_performance_te_ts, overall_performance_te_ts_std)] - print scores_with_sd - util.print_table_row_performances_regression(feature_names[i], len(selected_train_X.index), len(selected_test_X.index), scores_with_sd) - scores_over_all_algs.append(scores_with_sd) - -DataViz.plot_performances_regression(['Reservoir', 'RNN', 'Time series'], feature_names, scores_over_all_algs) - -regr_train_y, regr_test_y = learner.reservoir_computing(train_X[features_after_chapter_5], train_y, test_X[features_after_chapter_5], test_y, gridsearch=True) -DataViz.plot_numerical_prediction_versus_real(train_X.index, train_y, regr_train_y['hr_watch_rate'], test_X.index, test_y, regr_test_y['hr_watch_rate'], 'heart rate') -regr_train_y, regr_test_y = learner.recurrent_neural_network(train_X[basic_features], train_y, test_X[basic_features], test_y, gridsearch=True) -DataViz.plot_numerical_prediction_versus_real(train_X.index, train_y, regr_train_y['hr_watch_rate'], test_X.index, test_y, regr_test_y['hr_watch_rate'], 'heart rate') -regr_train_y, regr_test_y = learner.time_series(train_X[basic_features], train_y, test_X[features_after_chapter_5], test_y, gridsearch=True) -DataViz.plot_numerical_prediction_versus_real(train_X.index, train_y, regr_train_y['hr_watch_rate'], test_X.index, test_y, regr_test_y['hr_watch_rate'], 'heart rate') diff --git a/PythonCode/util/VisualizeDataset.py b/PythonCode/util/VisualizeDataset.py deleted file mode 100644 index a7e7345e..00000000 --- a/PythonCode/util/VisualizeDataset.py +++ /dev/null @@ -1,365 +0,0 @@ -import matplotlib.pyplot as plot -import matplotlib.dates as md -import numpy as np -import pandas as pd -from mpl_toolkits.mplot3d import Axes3D -import matplotlib.patches as mpatches -import matplotlib.cm as cm -from scipy.cluster.hierarchy import dendrogram -import itertools -from scipy.optimize import curve_fit -import math -import sys -import dateutil - -class VisualizeDataset: - - point_displays = ['+', 'x'] #'*', 'd', 'o', 's', '<', '>'] - line_displays = ['-'] #, '--', ':', '-.'] - colors = ['r', 'g', 'b', 'c', 'm', 'y', 'k'] - - # Plot the dataset, here columns can specify a specific attribute, but also a generic name that occurs - # among multiple attributes (e.g. label which occurs as labelWalking, etc). In such a case they are plotted - # in the same graph. The display should express whether points or a line should be plotted. - # Match can be 'exact' or 'like'. Display can be 'points' or 'line'. - def plot_dataset(self, data_table, columns, match='like', display='line'): - names = list(data_table.columns) - - # Create subplots if more columns are specified. - if len(columns) > 1: - f, xar = plot.subplots(len(columns), sharex=True, sharey=False) - else: - f, xar = plot.subplots() - xar = [xar] - - f.subplots_adjust(hspace=0.4) - plot.hold(True) - xfmt = md.DateFormatter('%H:%M') - - # Pass through the columns specified. - for i in range(0, len(columns)): - xar[i].xaxis.set_major_formatter(xfmt) - # We can match exact (i.e. a columns name is an exact name of a columns or 'like' for - # which we need to find columns names in the dataset that contain the name. - if match[i] == 'exact': - relevant_dataset_cols = [columns[i]] - elif match[i] == 'like': - relevant_dataset_cols = [name for name in names if columns[i] == name[0:len(columns[i])]] - else: - raise ValueError("Match should be 'exact' or 'like' for " + str(i) + ".") - - max_values = [] - min_values = [] - # Pass through the relevant columns. - for j in range(0, len(relevant_dataset_cols)): - # Create a mask to ignore the NaN values when plotting: - mask = data_table[relevant_dataset_cols[j]].notnull() - max_values.append(data_table[relevant_dataset_cols[j]][mask].max()) - min_values.append(data_table[relevant_dataset_cols[j]][mask].min()) - - # Display point, or as a line - if display[i] == 'points': - xar[i].plot(data_table.index[mask], data_table[relevant_dataset_cols[j]][mask], self.point_displays[j%len(self.point_displays)]) - else: - xar[i].plot(data_table.index[mask], data_table[relevant_dataset_cols[j]][mask], self.line_displays[j%len(self.line_displays)]) - xar[i].tick_params(axis='y', labelsize=10) - xar[i].legend(relevant_dataset_cols, fontsize='xx-small', numpoints=1, loc='upper center', bbox_to_anchor=(0.5, 1.3), ncol=len(relevant_dataset_cols), fancybox=True, shadow=True) - xar[i].set_ylim([min(min_values) - 0.1*(max(max_values) - min(min_values)), max(max_values) + 0.1*(max(max_values) - min(min_values))]) - # Make sure we get a nice figure with only a single x-axis and labels there. - plot.setp([a.get_xticklabels() for a in f.axes[:-1]], visible=False) - plot.xlabel('time') - plot.show() - - def plot_dataset_boxplot(self, dataset, cols): - ax = dataset[cols].plot.box() - ax.set_ylim(-30,30) - plot.show() - - # This function plots the real and imaginary amplitudes of the frequencies found in the Fourier transformation. - def plot_fourier_amplitudes(self, freq, ampl_real, ampl_imag): - plot.hold(True) - plot.xlabel('Freq(Hz)') - plot.ylabel('amplitude') - # Plot the real values as a '+' and imaginary in the same way (though with a different color). - plot.plot(freq, ampl_real, '+', freq, ampl_imag,'+') - plot.legend(['real', 'imaginary'], numpoints=1) - plot.hold(False) - plot.show() - - # Plot outliers in case of a binary outlier score. Here, the col specifies the real data - # column and outlier_col the columns with a binary value (outlier or not) - def plot_binary_outliers(self, data_table, col, outlier_col): - data_table = data_table.dropna(axis=0, subset=[col, outlier_col]) - data_table[outlier_col] = data_table[outlier_col].astype('bool') - f, xar = plot.subplots() - plot.hold(True) - xfmt = md.DateFormatter('%H:%M') - xar.xaxis.set_major_formatter(xfmt) - plot.xlabel('time') - plot.ylabel('value') - # Plot data points that are outliers in red, and non outliers in blue. - xar.plot(data_table.index[data_table[outlier_col]], data_table[col][data_table[outlier_col]], 'r+') - xar.plot(data_table.index[~data_table[outlier_col]], data_table[col][~data_table[outlier_col]], 'b+') - plot.legend(['outlier ' + col, 'no outlier' + col], numpoints=1, fontsize='xx-small', loc='upper center', ncol=2, fancybox=True, shadow=True) - plot.hold(False) - plot.show() - - # Plot values that have been imputed using one of our imputation approaches. Here, values expresses the - # 1 to n datasets that have resulted from value imputation. - def plot_imputed_values(self, data_table, names, col, *values): - - xfmt = md.DateFormatter('%H:%M') - - # Create proper subplots. - if len(values) > 0: - f, xar = plot.subplots(len(values) + 1, sharex=True, sharey=False) - else: - f, xar = plot.subplots() - xar = [xar] - - f.subplots_adjust(hspace=0.4) - plot.hold(True) - - # plot the regular dataset. - - xar[0].xaxis.set_major_formatter(xfmt) - xar[0].plot(data_table.index[data_table[col].notnull()], data_table[col][data_table[col].notnull()], 'b+', markersize='2') - xar[0].legend([names[0]], fontsize='small', numpoints=1, loc='upper center', bbox_to_anchor=(0.5, 1.3), ncol=1, fancybox=True, shadow=True) - - # and plot the others that have resulted from imputation. - for i in range(1, len(values)+1): - xar[i].xaxis.set_major_formatter(xfmt) - xar[i].plot(data_table.index, values[i-1], 'b+', markersize='2') - xar[i].legend([names[i]], fontsize='small', numpoints=1, loc='upper center', bbox_to_anchor=(0.5, 1.3), ncol=1, fancybox=True, shadow=True) - - - # Diplay is nicely in subplots. - plot.setp([a.get_xticklabels() for a in f.axes[:-1]], visible=False) - plot.xlabel('time') - plot.hold(False) - plot.show() - - # This function plots clusters that result from the application of a clustering algorithm - # and also shows the class label of points. Clusters are displayed via colors, classes - # by means of different types of points. We assume that three data columns are clustered - # that do not include the label. We assume the labels to be represented by 1 or more binary - # columns. - def plot_clusters_3d(self, data_table, data_cols, cluster_col, label_cols): - - color_index = 0 - point_displays = ['+', 'x', '*', 'd', 'o', 's', '<', '>'] - - # Determine the number of clusters: - clusters = data_table[cluster_col].unique() - labels = [] - - # Get the possible labels, assuming 1 or more label columns with binary values. - for i in range(0, len(label_cols)): - labels.extend([name for name in list(data_table.columns) if label_cols[i] == name[0:len(label_cols[i])]]) - - fig = plot.figure() - ax = fig.add_subplot(111, projection='3d') - handles = [] - - # Plot clusters individually with a certain color. - for cluster in clusters: - marker_index = 0 - # And make sure the points of a label receive the right marker type. - for label in labels: - rows = data_table.ix[(data_table[cluster_col] == cluster) & (data_table[label] > 0)] - # Now we come to the assumption that there are three data_cols specified: - if not len(data_cols) == 3: - return - plot_color = self.colors[color_index%len(self.colors)] - plot_marker = point_displays[marker_index%len(point_displays)] - pt = ax.scatter(rows[data_cols[0]], rows[data_cols[1]], rows[data_cols[2]], c=plot_color, marker=plot_marker) - plot.hold(True) - if color_index == 0: - handles.append(pt) - ax.set_xlabel(data_cols[0]) - ax.set_ylabel(data_cols[1]) - ax.set_zlabel(data_cols[2]) - marker_index += 1 - color_index += 1 - - plot.legend(handles, labels, fontsize='xx-small', numpoints=1) - plot.hold(False) - plot.show() - - # This function plots the silhouettes of the different clusters that have been identified. It plots the - # silhouette of the individual datapoints per cluster to allow studying the clusters internally as well. - # For this, a column expressing the silhouette for each datapoint is assumed. - def plot_silhouette(self, data_table, cluster_col, silhouette_col): - # Taken from the examples of scikit learn - #(http://scikit-learn.org/stable/auto_examples/cluster/plot_kmeans_silhouette_analysis.html) - - clusters = data_table[cluster_col].unique() - - fig, ax1 = plot.subplots(1, 1) - ax1.set_xlim([-0.1, 1]) - #ax1.set_ylim([0, len(data_table.index) + (len(clusters) + 1) * 10]) - y_lower = 10 - for i in range(0, len(clusters)): - # Aggregate the silhouette scores for samples belonging to - # cluster i, and sort them - rows = data_table.mask(data_table[cluster_col] == clusters[i]) - ith_cluster_silhouette_values = np.array(rows[silhouette_col]) - ith_cluster_silhouette_values.sort() - - size_cluster_i = len(rows.index) - y_upper = y_lower + size_cluster_i - - color = cm.spectral(float(i) / len(clusters)) - ax1.fill_betweenx(np.arange(y_lower, y_upper), - 0, ith_cluster_silhouette_values, - facecolor=color, edgecolor=color, alpha=0.7) - - # Label the silhouette plots with their cluster numbers at the middle - ax1.text(-0.05, y_lower + 0.5 * size_cluster_i, str(i)) - - # Compute the new y_lower for next plot - y_lower = y_upper + 10 # 10 for the 0 samples - - ax1.set_title("The silhouette plot for the various clusters.") - ax1.set_xlabel("The silhouette coefficient values") - ax1.set_ylabel("Cluster label") - - # The vertical line for average silhouette score of all the values - ax1.axvline(x=data_table[silhouette_col].mean(), color="red", linestyle="--") - - ax1.set_yticks([]) # Clear the yaxis labels / ticks - ax1.set_xticks([-0.1, 0, 0.2, 0.4, 0.6, 0.8, 1]) - plot.show() - - # Plot a dendorgram for hierarchical clustering. It assumes that the linkage as - # used in sk learn is passed as an argument as well. - def plot_dendrogram(self, dataset, linkage): - sys.setrecursionlimit(40000) - plot.title('Hierarchical Clustering Dendrogram') - plot.xlabel('time points') - plot.ylabel('distance') - times = dataset.index.strftime('%H:%M:%S') - #dendrogram(linkage,truncate_mode='lastp',p=10, show_leaf_counts=True, leaf_rotation=90.,leaf_font_size=12.,show_contracted=True, labels=times) - dendrogram(linkage,truncate_mode='lastp',p=16, show_leaf_counts=True, leaf_rotation=45.,leaf_font_size=8.,show_contracted=True, labels=times) - plot.show() - - # Plot the confusion matrix that has been derived in the evaluation metrics. Classes expresses the labels - # for the matrix. We can normalize or show the raw counts. Of course this applies to classification problems. - def plot_confusion_matrix(self, cm, classes, normalize=False): - # Taken from http://scikit-learn.org/stable/auto_examples/model_selection/plot_confusion_matrix.html - - # Select the colormap. - cmap=plot.cm.Blues - plot.imshow(cm, interpolation='nearest', cmap=cmap) - plot.title('confusion matrix') - plot.colorbar() - tick_marks = np.arange(len(classes)) - plot.xticks(tick_marks, classes, rotation=45) - plot.yticks(tick_marks, classes) - - if normalize: - cm = cm.astype('float') / cm.sum(axis=1)[:, np.newaxis] - - thresh = cm.max() / 2. - for i, j in itertools.product(range(cm.shape[0]), range(cm.shape[1])): - plot.text(j, i, cm[i, j], horizontalalignment="center", color="white" if cm[i, j] > thresh else "black") - - plot.tight_layout() - plot.ylabel('True label') - plot.xlabel('Predicted label') - plot.show() - - # This function plots the predictions or an algorithms (both for the training and test set) versus the real values for - # a regression problem. It assumes only a single value to be predicted over a number of cases. The variables identified - # with reg_ are the predictions. - def plot_numerical_prediction_versus_real(self, train_time, train_y, regr_train_y, test_time, test_y, regr_test_y, label): - self.legends = {} - plot.title('Performance of model for ' + str(label)) - - # Plot the values, training set cases in blue, test set in red. - f, xar = plot.subplots() - plot.hold(True) - xfmt = md.DateFormatter('%H:%M') - xar.xaxis.set_major_formatter(xfmt) - xar.plot(train_time, train_y, '-', linewidth=0.5) - xar.plot(train_time, regr_train_y, '--', linewidth=0.5) - - xar.plot(test_time, test_y, '-', linewidth=0.5) - xar.plot(test_time, regr_test_y, '--', linewidth=0.5) - - plot.legend(['real values training', 'predicted values training', 'real values test', 'predicted values test'], loc=4) - - - # And create some fancy stuff in the figure to label the training and test set a bit clearer. - max_y_value = max(max(train_y.tolist()), max(regr_train_y.tolist()), max(test_y.tolist()), max(regr_test_y.tolist())) - min_y_value = min(min(train_y.tolist()), min(regr_train_y.tolist()), min(test_y.tolist()), min(regr_test_y.tolist())) - range = max_y_value - min_y_value - y_coord_labels = max(max(train_y.tolist()), max(regr_train_y.tolist()), max(test_y.tolist()), max(regr_test_y.tolist()))+(0.01*range) - - - plot.ylabel(label) - plot.xlabel('time') - plot.annotate('', xy=(train_time[0],y_coord_labels), xycoords='data', xytext=(train_time[-1], y_coord_labels), textcoords='data', arrowprops={'arrowstyle': '<->'}) - plot.annotate('training set', xy=(train_time[int(float(len(train_time))/2)], y_coord_labels*1.02), color='blue', xycoords='data', ha='center') - plot.annotate('', xy=(test_time[0], y_coord_labels), xycoords='data', xytext=(test_time[-1], y_coord_labels), textcoords='data', arrowprops={'arrowstyle': '<->'}) - plot.annotate('test set', xy=(test_time[int(float(len(test_time))/2)], y_coord_labels*1.02), color='red', xycoords='data', ha='center') - plot.hold(False) - plot.show() - - # Plot the Pareto front for multi objective optimization problems (for the dynamical systems stuff). We consider the - # raw output of the MO dynamical systems approach, which includes rows with the fitness and predictions for the training - # and test set. We select the fitness and plot them in a graph. Note that the plot only considers the first two dimensions. - def plot_pareto_front(self, dynsys_output): - fit_1_train = [] - fit_2_train = [] - fit_1_test = [] - fit_2_test = [] - for row in dynsys_output: - fit_1_train.append(row[1][0]) - fit_2_train.append(row[1][1]) - plot.hold(True) - - plot.scatter(fit_1_train, fit_2_train, color='r') - plot.xlabel('mse on ' + str(dynsys_output[0][0].columns[0])) - plot.ylabel('mse on ' + str(dynsys_output[0][0].columns[0])) - #plt.savefig('{0} Example ({1}).pdf'.format(ea.__class__.__name__, problem.__class__.__name__), format='pdf') - plot.show() - - # Plot a prediction for a regression model in case it concerns a multi-objective dynamical systems model. Here, we plot - # the individual specified. Again, the complete output of the MO approach is used as argument. - def plot_numerical_prediction_versus_real_dynsys_mo(self, train_time, train_y, test_time, test_y, dynsys_output, individual, label): - regr_train_y = dynsys_output[individual][0][label] - regr_test_y = dynsys_output[individual][2][label] - train_y = train_y[label] - test_y = test_y[label] - self.plot_numerical_prediction_versus_real(train_time, train_y, regr_train_y, test_time, test_y, regr_test_y, label) - - # Visualizes the performance of different algorithms over different feature sets. Assumes the scores to contain - # a score on the training set followed by an sd, and the same for the test set. - - def plot_performances(self, algs, feature_subset_names, scores_over_all_algs, ylim, std_mult, y_name): - - plot.hold(True) - width = float(1)/(len(feature_subset_names)+1) - ind = np.arange(len(algs)) - for i in range(0, len(feature_subset_names)): - means = [] - std = [] - for j in range(0, len(algs)): - means.append(scores_over_all_algs[i][j][2]) - std.append(std_mult * scores_over_all_algs[i][j][3]) - plot.errorbar(ind + i * width, means, yerr=std, fmt=self.colors[i%len(self.colors)] + 'o', markersize='3') - plot.ylabel(y_name) - plot.xticks(ind+(float(len(feature_subset_names))/2)*width, algs) - plot.legend(feature_subset_names, loc=4, numpoints=1) - if not ylim is None: - plot.ylim(ylim) - # plot.tight_layout() - plot.savefig('perf_overview.png') - plot.show() - - def plot_performances_classification(self, algs, feature_subset_names, scores_over_all_algs): - self.plot_performances(algs, feature_subset_names, scores_over_all_algs, [0.70, 1.0], 2, 'Accuracy') - - def plot_performances_regression(self, algs, feature_subset_names, scores_over_all_algs): - self.plot_performances(algs, feature_subset_names, scores_over_all_algs, None, 1, 'Mean Squared Error') diff --git a/PythonCode/util/__init__.py b/PythonCode/util/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/PythonCode/util/util.py b/PythonCode/util/util.py deleted file mode 100644 index f5cbf34f..00000000 --- a/PythonCode/util/util.py +++ /dev/null @@ -1,104 +0,0 @@ -import scipy -import copy -import math -import numpy as np -# Not a class, just a bunch of useful functions. - -def normalize_dataset(data_table, columns): - dt_norm = copy.deepcopy(data_table) - for col in columns: - dt_norm[col] = (data_table[col] - data_table[col].mean()) / (data_table[col].max() - data_table[col].min()) - return dt_norm - -# Calculate the distance between rows. -def distance(rows, d_function='euclidean'): - if d_function == 'euclidean': - # Assumes m rows and n columns (attributes), returns and array where each row represents - # the distances to the other rows (except the own row). - return scipy.spatial.distance.pdist(rows, 'euclidean') - else: - raise ValueError("Unknown distance value '" + d_function + "'") - -def print_statistics(dataset): - print 'column, fraction missing values, mean, standard deviation, min, max' - dataset_length = len(dataset.index) - for col in dataset.columns: - print col, - print float((dataset_length - dataset[col].count()))/dataset_length, - print dataset[col].mean(), - print dataset[col].std(), - print dataset[col].min(), - print dataset[col].max() - -def print_table_cell(value1, value2): - print "{0:.2f}".format(value1), ' / ', "{0:.2f}".format(value2), - -def print_latex_table_statistics_two_datasets(dataset1, dataset2): - print 'attribute, fraction missing values, mean, standard deviation, min, max' - dataset1_length = len(dataset1.index) - dataset2_length = len(dataset2.index) - for col in dataset1.columns: - print col, '&', - print_table_cell((float((dataset1_length - dataset1[col].count()))/dataset1_length)*100, (float((dataset2_length - dataset2[col].count()))/dataset2_length)*100) - print ' & ', - print_table_cell(dataset1[col].mean(), dataset2[col].mean()) - print ' & ', - print_table_cell(dataset1[col].std(), dataset2[col].std()) - print ' & ', - print_table_cell(dataset1[col].min(), dataset2[col].min()) - print ' & ', - print_table_cell(dataset1[col].max(), dataset2[col].max()) - print - -def print_latex_statistics_clusters(dataset, cluster_col, input_cols, label_col): - label_cols = [c for c in dataset.columns if label_col == c[0:len(label_col)]] - - clusters = dataset[cluster_col].unique() - - for c in input_cols: - print '\multirow{2}{*}{', c, '} & mean ', - for cluster in clusters: - print ' & ', "{0:.2f}".format(dataset.ix[dataset[cluster_col] == cluster, c].mean()), - print '\\\\' - print ' & std ', - for cluster in clusters: - print ' & ', "{0:.2f}".format(dataset.ix[dataset[cluster_col] == cluster, c].std()), - print '\\\\' - - for l in label_cols: - print l, ' & percentage ', - for cluster in clusters: - print ' & ', "{0:.2f}".format((float(dataset.ix[dataset[cluster_col] == cluster, l].sum())/len(dataset[dataset[l] == 1].index) * 100)), '\%', - print '\\\\' - -def print_table_row_performances(row_name, training_len, test_len, values): - scores_over_sd = [] - print row_name, - - for val in values: - print ' & ', - sd_train = math.sqrt((val[0]*(1-val[0]))/training_len) - print "{0:.4f}".format(val[0]), - print '\\emph{(', "{0:.4f}".format(val[0]-2*sd_train), '-', "{0:.4f}".format(val[0]+2*sd_train), ')}', ' & ', - sd_test = math.sqrt((val[1]*(1-val[1]))/test_len) - print "{0:.4f}".format(val[1]), - print '\\emph{(', "{0:.4f}".format(val[1]-2*sd_test), '-', "{0:.4f}".format(val[1]+2*sd_test), ')}', - scores_over_sd.append([val[0], sd_train, val[1], sd_test]) - print '\\\\\\hline' - return scores_over_sd - -def print_table_row_performances_regression(row_name, training_len, test_len, values): - print row_name, - - for val in values: - print ' & ', - print "{0:.4f}".format(val[0]), - print '\\emph{(', "{0:.4f}".format(val[1]), ')}', ' & ', - print "{0:.4f}".format(val[2]), - print '\\emph{(', "{0:.4f}".format(val[3]), ')}', - print '\\\\\\hline' - -def print_pearson_correlations(correlations): - for i in range(0, len(correlations)): - if np.isfinite(correlations[i][1]): - print correlations[i][0], ' & ', "{0:.4f}".format(correlations[i][1]), '\\\\\\hline' diff --git a/RCode/Chapter2/createDataset.R b/RCode/Chapter2/createDataset.R deleted file mode 100644 index 76c35495..00000000 --- a/RCode/Chapter2/createDataset.R +++ /dev/null @@ -1,59 +0,0 @@ -########################################################################## -# -# Mark Hoogendoorn & Burkhardt Funk (2017) -# Machine Learning for the Quantified Self -# Springer -# ./Chapter2/createDataset.R -# -########################################################################## - -addNumericalDataset = function(df, filename, timestampCol, valueCols, func, prefix, path, timeWindow) { -# can be implemented in a more efficient manner using the aggregate() function on the data.table itself, -# however, for the sake of comparability it is implemented as in the Python code - print(paste("Load: ",path,filename,sep="")) - dataset = fread(paste (path,filename,sep="")) - tics2millisec = 1000000 - dataset[,(timestampCol):=dataset[,timestampCol,with=FALSE]/tics2millisec] - - cNames = paste(prefix,valueCols,sep="") - - if (is.null(df)) { - # create aggregated data.frame and time intervals - tMin = min(dataset[,timestampCol,with=FALSE]) - tMax = max(dataset[,timestampCol,with=FALSE]) - timeInts = tMin + timeWindow*(0:(floor(tMax-tMin)/timeWindow)) - - df = data.frame(time = timeInts) - } - df[,cNames] = NA - - j = 1 - for (t in df$time) { - relevantRows = dataset[timestamps>=t×tampsdf$time,value[i]] = 1 #which.max(value[i] == eventValues) - } - return(df) -} \ No newline at end of file diff --git a/RCode/Chapter2/visiualizeData.R b/RCode/Chapter2/visiualizeData.R deleted file mode 100644 index 67937144..00000000 --- a/RCode/Chapter2/visiualizeData.R +++ /dev/null @@ -1,58 +0,0 @@ -########################################################################## -# -# Mark Hoogendoorn & Burkhardt Funk (2017) -# Machine Learning for the Quantified Self -# Springer -# ./chapter2/visualizeData.R -# -########################################################################## - -# Plot the dataset, here columns can specify a specific attribute, but also a generic name that occurs -# among multiple attributes (e.g. label which occurs as labelWalking, etc). In such a case they are plotted -# in the same graph. - -require(ggplot2) - -plotDataset = function(df, columns, match) { - cNames = colnames(df) - p = list() - if (is.null(match)) match = rep("like",length(columns)) - for (i in 1:length(columns)) { - if(match[i] == "exact") { - selCols = columns[i] - } else { - selCols = cNames[grepl(columns[i],cNames)] - } - dfTemp = df[,c("time",selCols)] - dfTemp = melt(dfTemp,id.vars = c("time")) - p[[i]] = plot_ly(dfTemp,x = ~time, y = ~value) %>% - add_lines(color = ~variable ) - } - return(p) -} - -# Plot outliers in case of a binary outlier score. Here, the col species the real data column and outlier_col -# the columns with a binary value (outlier or not) -plotBinaryOutliers = function(df, col, outlier_col) { - plot(df$time,df[,col],type="l", col = "blue" ,ylab = "value", xlab = "time",main = outlier_col) - points(df[df[,outlier_col],"time"] ,df[df[,outlier_col],col],pch = 3, col = "red",ylab = "value", xlab = "time") - legend("topright",c(paste("outlier",col),paste("no outlier",col)), pch = 3, col = c("red", "blue"), cex = 1) - grid() -} - -plotImputedValues = function(df,col,imputedList) { - opar = par() - par(mfrow= c(length(imputedList),1)) - for (i in 1:length(imputedList)) { - plot(df$time,df[,col],pch = 20,col = "blue",ylab=paste(""),xlab="time") - points(df$time[is.na(df[,col])],imputedList[[i]][is.na(df[,col]),col],pch=20,col="red") - print(colnames(imputedList[[i]])) - } - par(opar) -} - -plotBoxplot = function(df, col) { - ggplot(stack(df[,col]), aes(x = ind, y = values)) + - geom_boxplot() + - xlab("") + ylab("") -} diff --git a/RCode/Chapter3/distanceBasedOutlierDetection.R b/RCode/Chapter3/distanceBasedOutlierDetection.R deleted file mode 100644 index 1c60fcb4..00000000 --- a/RCode/Chapter3/distanceBasedOutlierDetection.R +++ /dev/null @@ -1,34 +0,0 @@ -########################################################################## -# -# Mark Hoogendoorn & Burkhardt Funk (2017) -# Machine Learning for the Quantified Self -# Springer -# ./chapter3/distanceBasedOutlierDetection.R -# -########################################################################## - -# The most simple distance based algorithm. We assume a distance function, e.g. 'euclidean' -# and a minimum distance of neighboring points and frequency of occurrence. -simpleDistanceBased = function(df, cols, dmin, fmin, dFunction = "euclidean") { - # Normalize data - data = scale(df[,cols]) - data = data[!is.na(data)] - - d = as.matrix(dist(data, method = dFunction)) - df[!is.na(df[,col]),paste(cols,"_simpleDistOutlier",sep="")] = sapply(1:nrow(d), function(x) {(sum(d[x,-x]>dmin)/nrow(d))>fmin}) - return(df) -} - -# Compute the local outlier factor. K is the number of neighboring points considered, d_function -# the distance function again (e.g. 'euclidean'). -localOutlierFactor = function(df, cols, dFunction = "euclidean", k, plot = FALSE) { - data = scale(df[,cols]) - data = data[!is.na(data)] - - df[!is.na(df[,col]),paste(cols,"_lofOutlier",sep="")] = as.data.frame(lof(data,k,method=dFunction)) - if(plot) { - plot.ecdf(df$lof, xlim = c(0,10),main = "LOF diagnostic") - grid() - } - return(df) -} \ No newline at end of file diff --git a/RCode/Chapter3/distributionBasedOutlierDetection.R b/RCode/Chapter3/distributionBasedOutlierDetection.R deleted file mode 100644 index dc93e968..00000000 --- a/RCode/Chapter3/distributionBasedOutlierDetection.R +++ /dev/null @@ -1,49 +0,0 @@ -########################################################################## -# -# Mark Hoogendoorn & Burkhardt Funk (2017) -# Machine Learning for the Quantified Self -# Springer -# ./chapter3/distributionBasedOutlierDetection.R -# -########################################################################## - -# Finds outliers in the specified column of datatable and adds a binary columns with -# the same name extended with '_outlier' that expresses the result per data point. -require(mclust) -chauvenet = function(df, col) { - data = df[,col] - data = data[!is.na(data)] - mean = mean(data) - std = sd(data) - n = nrow(df) - criterion = 1.0/(2*n) - deviation = abs(data - mean)/std - - df[!is.na(df[,col]),paste(col,"_chauvenetOutlier",sep="")] = ((1-pnorm(deviation))windowSize] - k = 1 - for (i in instances2Analyze) { - if(k%%100 ==0) print(paste("Instance: ",i)) - k = k +1 - for (col in cols) { - dft = fft(df[(i-windowSize):(i-1),col]) - for (j in 1:length(freqs)) { - df[i,paste(col,"_freq_",freqs[j],"_Hz_ws_",windowSize, sep="")] = Re(dft[j]) - } - df[i,paste(col,"_max_freq",sep="")] = freqs[which.max(Re(dft))] - df[i,paste(col,"_freq_weighted",sep="")] = sum(freqs * Re(dft)) / sum(Re(dft)) - pse = Re(dft)^2/windowSize - pse = pse/sum(pse) - df[i,paste(col,"_pse",sep="")] = -sum(log(pse)*pse) - } - } - return(df) -} - -# Remove periodic sinusoid functions from our data to be left with the "clean" signal -# The components should be specified by means of their index (meaning their period). -# removeComponents = function(df, col, components = 0) { -# dft = fft(df[,col]) -# dft[components] = 0 -# df[,col] = Re(fft(dft, inverse = TRUE)/length(dft)) -# return(df) -# } diff --git a/RCode/Chapter4/temporalAbstraction.R b/RCode/Chapter4/temporalAbstraction.R deleted file mode 100644 index 30cdeca3..00000000 --- a/RCode/Chapter4/temporalAbstraction.R +++ /dev/null @@ -1,130 +0,0 @@ -########################################################################## -# -# Mark Hoogendoorn & Burkhardt Funk (2017) -# Machine Learning for the Quantified Self -# Springer -# Chapter 4 - Feature Engineering based on Sensory Data -# ./chapter4/temporalAbstraction.R -# -########################################################################## - -# This function aggregates a list of values using the specified aggregation -# function (which can be 'mean', 'max', 'min', 'median', 'std', 'slope') -aggregateValue = function(data, aggregationFunction) { - if (aggregationFunction == "mean") return(mean(data)) - if (aggregationFunction == "max") return(max(data)) - if (aggregationFunction == "min") return(min(data)) - if (aggregationFunction == "median") return(median(data)) - if (aggregationFunction == "std") return(sd(data)) - if (aggregationFunction == "slope") return(as.numeric(lm(data~(x=1:length(data)))$coef[2])) - stop(paste("aggregationFunction:",aggregationFunction,"not found")) -} - - -abstractNumerical = function(df, cols, windowSize, aggregationFunction) { - for (col in cols) { - newColName = paste(col,"_temp_",aggregationFunction,"_ws_",windowSize,sep = "") - data = df[,col] - aggData = sapply((windowSize+1):length(data), function(x) {aggregateValue(data[(x-windowSize):x],aggregationFunction)}) - df[floor(windowSize/2)+(1:(length(data)-windowSize)),newColName] = aggData - } - return(df) -} - -# Function to abstract categorical data. Note that we assume a list of binary columns representing -# the different categories -abstractCategorical = function(df, cols, match, minSupport, windowSize, maxPatternSize) { - # find all the relevant columns of binary attributes. - colNames = names(df) - selectedPatterns = c() - relevantCols = c() - - for (i in 1:length(cols)) { - if(match[i]=="exact") relevantCols = c(relevantCols,cols[i]) else - relevantCols = c(relevantCols, colNames[grepl(cols[i],colNames)]) - } - - # generate the one patterns first - potential1Patterns = as.list(relevantCols) - temp = selectKPatterns(df,potential1Patterns,minSupport,windowSize) - df = temp[[1]] - onePatterns = temp[[2]] - selectedPatterns[[length(selectedPatterns)+1]] = onePatterns - print(paste("Number of patterns of size 1:",length(onePatterns))) - - k = 1 - kPatterns = onePatterns - while(k< maxPatternSize & length(kPatterns)>0) { - k = k + 1 - potentialKPatterns = extendKPatterns(kPatterns,onePatterns) - print(potentialKPatterns) - temp = selectKPatterns(df, potentialKPatterns, minSupport, windowSize) - df = temp[[1]] - kPatterns = temp[[2]] - selectedPatterns[[length(selectedPatterns)+1]] = kPatterns - print(paste("Number of patterns of size",k,":",length(kPatterns))) - } - return(df) -} - -# selects the patterns from 'patterns' that meet the minimum support in the dataset -# given the window size. -selectKPatterns = function(df, patterns, minSupport, windowSize){ - sP = list() - for (pattern in patterns) { - # determine the number of occurrences of a pattern - times = determinePatternTimes(df, pattern, windowSize) - support = length(times)/nrow(df) - - # If we meet the minum support, append the selected patterns and set the - # value to 1 at which it occurs. - if (support>=minSupport) { - sP[[length(sP)+1]] = pattern - df[,paste(c("temp_pattern",pattern),collapse = "_")] = 0 - df[times,paste(c("temp_pattern",pattern),collapse = "_")] = 1 - print(pattern) - } - } - return(list(df,sP)) -} - -determinePatternTimes = function(df, pattern, windowSize){ - times = c() - if (length(pattern) == 1) { - times = which(df[pattern]>0) - } else if(length(pattern) == 3) { - # If we have a complex pattern ( (b) or (c) ) - # due to naming conventions, brackets should not be used - # we therefore use ".b." instead of "(b)" - timesFirstPart = determinePatternTimes(df, pattern[1], windowSize) - timesSecondPart = determinePatternTimes(df, pattern[3], windowSize) - if (pattern[2] == ".c.") { - if (pattern[1]==pattern[3]) { - # No use for co-occurences of the same patterns - times = c() - } else { - times = intersect(timesFirstPart,timesSecondPart) - } - } else if (pattern[2] == ".b.") { - times = unlist(sapply(timesFirstPart, function(t){ - if(sum(t0) return(t) - })) - - } else stop("complex operator not known") - - } else stop("pattern length error") - - return(times) -} - -# extends a set of k-patterns with the 1-patterns that have sufficient support. -extendKPatterns = function(kPatterns, onePatterns) { - newPatterns = list() - for(kP in kPatterns) { - for(oneP in onePatterns) { - newPatterns[[length(newPatterns)+1]] = c(kP,".b.",oneP) - newPatterns[[length(newPatterns)+1]] = c(kP,".c.",oneP) - } - } - return(newPatterns) -} diff --git a/RCode/Chapter4/textAbstraction.R b/RCode/Chapter4/textAbstraction.R deleted file mode 100644 index 7c5c4fc8..00000000 --- a/RCode/Chapter4/textAbstraction.R +++ /dev/null @@ -1,10 +0,0 @@ -generateCorpus = function(df, col , n = 1) { - dfs = VectorSource(as.character(df[,col])) - vc = VCorpus(dfs) - vc = vc %>% tm_map(content_transformer(tolower)) %>% - tm_map(removeWords, stopwords("english")) %>% - tm_map(stemDocument) %>% - tm_map(removePunctuation) %>% - tm_map(stripWhitespace) - return(vc) -} \ No newline at end of file diff --git a/RCode/RCode.Rproj b/RCode/RCode.Rproj deleted file mode 100644 index 3af27f6a..00000000 --- a/RCode/RCode.Rproj +++ /dev/null @@ -1,13 +0,0 @@ -Version: 1.0 - -RestoreWorkspace: Default -SaveWorkspace: Default -AlwaysSaveHistory: Default - -EnableCodeIndexing: Yes -UseSpacesForTab: Yes -NumSpacesForTab: 2 -Encoding: UTF-8 - -RnwWeave: Sweave -LaTeX: pdfLaTeX diff --git a/RCode/Support/.Rhistory b/RCode/Support/.Rhistory deleted file mode 100644 index e69de29b..00000000 diff --git a/RCode/Support/labBook.R b/RCode/Support/labBook.R deleted file mode 100644 index 4863c103..00000000 --- a/RCode/Support/labBook.R +++ /dev/null @@ -1,93 +0,0 @@ -########################################################################## -## Hoogendoorn & Funk (2017) ML4QS Springer -## Lab Book -## Version 17/02/10 -########################################################################## - -source("./Support/util.R") - -## quick aggregation of time series -require(data.table) -require(bit64) -require(zoo) -datasetPath = '../datasets/crowdsignals.io/csv-participant-one/' -filename = 'accelerometer_phone.csv' -#filename = 'gyroscope_phone.csv' -#filename = 'heart_rate_smartwatch.csv' - -ds = loadDataset(datasetPath,filename) -tempTS = ds$timestamps[1] -ds[,timestamps:=as.POSIXct(ds[,timestamps], origin="1970-01-01")] -ts1 = zoo(ds[,c("x","y","z"),with=FALSE],order.by = ds[,timestamps]) - -aggWindow = 0.05 # aggregates on X sec intervals -ts2 = aggregate(ts1, time(ts1) - as.numeric(time(ts1)) %% aggWindow, mean) -time(ts2[1:100,])-time(ts2[2:101,]) -plot(ts2[40000:42000,"x"],xlab="time",ylab="acc_x") -plot(ts2[40000:40200,"x"],xlab="time",ylab="acc_x") - -#ts3 = ts(stats::filter(ts2$x,sides = 2, rep(1/10,10)),frequency=1/aggWindow) -#ts3 = zoo(ts3,order.by = as.POSIXct(tempTS+(0:(length(ts3)-1))*aggWindow,origin="1970-01-01")) - -# https://www.analyticsvidhya.com/blog/2015/12/complete-tutorial-time-series-modeling/ -limTS = c(41000:42000) -acf((ts2[limTS,"x"]),lag.max = 100) -pacf((ts2[limTS,"x"]),lag.max = 100) -(fit <- arima((ts2[limTS,"x"]),order = c(0,1,1), seasonal = list(order = c(0, 1, 0),period=22))) -pred= predict(fit,n.ahead = 100) -plot(1:100,as.numeric(ts2[41901:42000,"x"]), xlim=c(0,200), ylim=c(-15,15), ylab="x", xlab="time",type="l") -lines(101:200,pred$pred,lty=3) -lines(101:200,pred$pred+pred$se,lty=1,col="grey") -lines(101:200,pred$pred-pred$se,lty=1,col="grey") -grid() - - -# Basic ts simulation and fitting -temp.ts= arima.sim(n = 1000, list(order = c(1,0,1), ar = c(-.9),ma=0.3)) -acf(temp.ts,lag.max = 500) -pacf(temp.ts,lag.max = 50) -fit=arima(temp.ts,order = c(1,0,1)) -plot(forecast(fit,h = 10),include = 20) - - -# Applying to crowdsignal raw data -temp.ts = ds$x[400000:402000] -acf(temp.ts,lag.max = 1000) -pacf(temp.ts,lag.max = 200) -# sarima.for(temp.ts,600,1,0,0,1,0,0,221) - -fit = auto.arima(temp.ts,max.p = 10,max.q = 10,seasonal = TRUE,stepwise = FALSE) -summary(fit) - -plot.ts(temp.ts) -lines(0:2000,fit$fitted,col="red") - -plot(forecast(fit,h = 40),include =400) -lines(2001:2400,ds$x[402001:402400],col="red") -lines(2001:2400,ds$x[401779:402178],col="green",lwd=2) - -# Applying to crowdsignal aggregated data -load("50msAggregatedAccData.RData") -temp.ts = dataset1$acc_phone_x[40001:40200] -acf(temp.ts,lag.max = 100) -pacf(temp.ts,lag.max = 50) - -aicMin =1e20 -for(p in 0:3) { - for(q in 0:3) { - fit = arima(temp.ts,order = c(p,0,q),seasonal = list(order = c(1,0,0),period=22)) - if(fit$aic 0,labels[df$class],NA) - return(df) -} - -# Split a dataset of a single person for a classificaiton problem with the specified class columns classLabels. -# We can have multiple targets if we want. It assumes a list in 'classLabels' -# If 'like' is specified in matching, we will merge the columns that contain the classLabels into a single -# columns. We can select a filter for rows where we are unable to identifty a unique -# class and we can select whether we have a temporal dataset or not. In the former, we will select the first -# trainingFrac of the data for training and the last 1-trainingFrac for testing. Otherwise, we select points randomly. -# We return a training set, the labels of the training set, and the same for a test set. We can set the random seed -# to make the split reproducible. -splitSingleDatasetClassification = function(df, classLabels, matching, trainingFrac, filter=TRUE, temporal = FALSE, randomState = 0) { - - # features are the ones not in the class label (include timestamp, or use & names(df)!="time") - features = names(df)[!startsWith(names(df),classLabels)] - - # create a single class column if we have the 'like' option. - if (matching == "like") { - df = assignLabel(df, classLabels) - classLabels = "class" - } - - # filter NA is desired and those for which we cannot determine the class should be removed. - if(filter) df = subset(df,!class==0) #[!is.na(df$class),] - - # For temporal data, we select the desired fraction of training data from the first part - # and use the rest as test set. - if (temporal) { - endTrainingSet = int(trainingFrac * nrow(df)) - trainingSetX = df[1:endTrainingSet,features] - trainingSety = df[1:endTrainingSet,classLabels] - testSetX = df[(endTrainingSet+1):nrow(df),features] - testSety = df[(endTrainingSet+1):nrow(df),classLabels] - } else { - # For non temporal data we use a standard function to randomly split the dataset. - trainTestSplit = sample(nrow(df),trainingFrac*nrow(df)) - trainingSetX = df[trainTestSplit,features] - trainingSety = df[trainTestSplit,classLabels] - testSetX = df[-trainTestSplit,features] - testSety = df[-trainTestSplit,classLabels] - } - return(list(trainingSetX = trainingSetX, trainingSety = trainingSety, - testSetX = testSetX, testSety = testSety)) -} \ No newline at end of file diff --git a/RCode/crowdsignals_ch2.R b/RCode/crowdsignals_ch2.R deleted file mode 100644 index 9d1ec99b..00000000 --- a/RCode/crowdsignals_ch2.R +++ /dev/null @@ -1,79 +0,0 @@ -########################################################################## -# -# Mark Hoogendoorn & Burkhardt Funk (2017) -# Machine Learning for the Quantified Self -# Springer -# Chapter 2 - Sensory Data -# ./crowdsignals_ch2.R -# -########################################################################## - -# Import libraries and source utils -rm(list=ls()) -require(data.table) -require(bit64) -require(plotly) -require(reshape2) -source("./chapter2/createDataset.R") -source("./chapter2/visiualizeData.R") - -# Set a granularity (i.e. how big are our discrete time steps). We start very -# coarse grained, namely one measurement per minute, and secondly use four measurements -# per second -datasetPath = "../datasets/crowdsignals.io/csv-participant-one/" -#granularities = c(60000,250) -granularities = c(250) - -boxPlot = NULL -linePlot = NULL -for (timeWindow in granularities) { - - # We add the accelerometer data (continuous numerical measurements) of the phone and the smartwatch - # and aggregate the values per timestep by averaging the values/ - crowdSignalData = addNumericalDataset(NULL, "accelerometer_phone.csv","timestamps", c("x","y","z"), "avg", "acc_phone_", datasetPath,timeWindow) - crowdSignalData = addNumericalDataset(crowdSignalData, "accelerometer_smartwatch.csv","timestamps", c("x","y","z"), "avg", "acc_watch_", datasetPath,timeWindow) - - # We add the gyroscope data (continuous numerical measurements) of the phone and the smartwatch - # and aggregate the values per timestep by averaging the values - crowdSignalData = addNumericalDataset(crowdSignalData, "gyroscope_phone.csv","timestamps", c("x","y","z"), "avg", "gyr_phone_", datasetPath,timeWindow) - crowdSignalData = addNumericalDataset(crowdSignalData, "gyroscope_smartwatch.csv","timestamps", c("x","y","z"), "avg", "gyr_watch_", datasetPath,timeWindow) - - # We add the heart rate (continuous numerical measurements) and aggregate by averaging again - crowdSignalData = addNumericalDataset(crowdSignalData, "heart_rate_smartwatch.csv","timestamps", c("rate"), "avg", "hr_watch_", datasetPath,timeWindow) - - # We add the labels provided by the users. These are categorical events that might overlap. We add them - # as binary attributes (i.e. ad a one to the attribute representing the specific value for the label if it - # occurs within an interval). - crowdSignalData = addEventDataset(crowdSignalData, "labels.csv", "label_start", "label_end", "label", "binary", datasetPath) - - # We add the amount of light sensed by the phone (continuous numerical measurements) and aggregate by averaging again - crowdSignalData = addNumericalDataset(crowdSignalData, "light_phone.csv","timestamps", c("lux"), "avg", "light_phone_", datasetPath,timeWindow) - - # We add the magnetometer data (continuous numerical measurements) of the phone and the smartwatch - # and aggregate the values per timestep by averaging the values/ - crowdSignalData = addNumericalDataset(crowdSignalData, "magnetometer_phone.csv","timestamps", c("x","y","z"), "avg", "mag_phone_", datasetPath,timeWindow) - crowdSignalData = addNumericalDataset(crowdSignalData, "magnetometer_smartwatch.csv","timestamps", c("x","y","z"), "avg", "mag_watch_", datasetPath,timeWindow) - - # We add the pressure sensed by the phone (continuous numerical measurements) and aggregate by averaging again - crowdSignalData = addNumericalDataset(crowdSignalData, "pressure_phone.csv","timestamps", c("pressure"), "avg", "press_phone_", datasetPath,timeWindow) - crowdSignalData$time = as.POSIXct(crowdSignalData$time/1000, origin="1970-01-01") - - # Lineplot - # to plot, simply use print, e.g. "print(p[1])" - temp = plotDataset(crowdSignalData, c("acc_", "gyr_", "hr_watch_rate", "light_phone_lux", "mag_", "press_phone_","label"),NULL) - if (is.null(linePlot)) linePlot = subplot(temp,nrows = length(temp),shareX = TRUE) else - linePlot = list(linePlot,subplot(temp,nrows = length(temp),shareX = TRUE)) - - # Boxplot - if(is.null(boxPlot)) boxPlot = list(plotBoxplot(crowdSignalData, c("acc_phone_x","acc_phone_y","acc_phone_z","acc_watch_x","acc_watch_y","acc_watch_z"))) else - boxPlot = list(boxPlot,plotBoxplot(crowdSignalData, c("acc_phone_x","acc_phone_y","acc_phone_z","acc_watch_x","acc_watch_y","acc_watch_z"))) -} - -# Only the dataset with the last value for granularities is saved -resultPath = "./intermediate_datafiles/" -save(crowdSignalData, file=paste(resultPath,"chapter2_result.RData",sep="")) - -# Save as CSV file - -# crowdSignalData$time = as.character(crowdSignalData$time,format="%Y-%m-%d %H:%M:%OS4") -# write.csv(x=crowdSignalData, paste(resultPath,"chapter2_result.csv",sep="")) \ No newline at end of file diff --git a/RCode/crowdsignals_ch3_outliers.R b/RCode/crowdsignals_ch3_outliers.R deleted file mode 100644 index 412d5db6..00000000 --- a/RCode/crowdsignals_ch3_outliers.R +++ /dev/null @@ -1,86 +0,0 @@ -########################################################################## -# -# Mark Hoogendoorn & Burkhardt Funk (2017) -# Machine Learning for the Quantified Self -# Springer -# Chapter 3 - Handling Noise and Missing Values in Sensory Data -# ./crowdsignals_ch3_outliers.R -# -########################################################################## - -# Import libraries and source utils -rm(list=ls()) -require(plotly) -require(reshape2) -require(zoo) # used for time series representation -require(KFAS) # Kalman filtering and smoothing -require(Rlof) # package for local outlier factor -source("./chapter2/visiualizeData.R") -source("./chapter3/distributionBasedOutlierDetection.R") -source("./chapter3/distanceBasedOutlierDetection.R") - -# Read the result from the previous chapter, and make sture the index is of the type datetime -resultPath = './intermediate_datafiles/' -load(file=paste(resultPath,"chapter2_result.RData",sep="")) - -# Compute the number of milliseconds covered by an instane based on the first two rows -timeWindow = as.numeric(difftime(crowdSignalData$time[2],crowdSignalData$time[1],units = "secs"))*1000 - -# Determine the columns we want to experiment on. -col2Inspect = c('acc_phone_x', 'light_phone_lux') - -# Investigate the approaches for all attributes specified in col2Inspect -for (col in col2Inspect) { - # Note that we have done some optimization of the parameter values for each of the - # approaches by visual inspection - print(paste("====",col,"====")) - - # Chauvenet criterion - print(paste("Chauvenet:",Sys.time())) - crowdSignalData = chauvenet(crowdSignalData, col) - plotBinaryOutliers(crowdSignalData,col,paste(col,'_chauvenetOutlier',sep="")) - - # Mixture models - print(paste("Mixture model:",Sys.time())) - crowdSignalData = mixtureModel(crowdSignalData,col,numOfComponents = 3, plot = FALSE) - crowdSignalData[,paste(col,"_mixtureOutlier",sep="")] = crowdSignalData[,paste(col,"_mixtureProb",sep="")]<0.0001 - plotBinaryOutliers(crowdSignalData,col,paste(col,"_mixtureOutlier",sep="")) - - # Distance based approaches require to calculate pair-wise distances, the computation time and - # the memory requirements increase with N^2, for demonstration purposes we therefore reduce the sample size - crowdSignalData = crowdSignalData[1:10000,] - - # Simple distance based detection - print(paste("Simple distance based:",Sys.time())) - crowdSignalData = simpleDistanceBased(crowdSignalData,col, 0.5, 0.99) - plotBinaryOutliers(crowdSignalData,col,paste(col,"_simpleDistOutlier",sep="")) - - # Local Outlier Factor: we use the Rlof package which implements LOF - print(paste("Local Outlier Factor:",Sys.time())) - crowdSignalData = localOutlierFactor(crowdSignalData, col, dFunction = "euclidean", 5) - crowdSignalData[, paste(col,"_lofOutlier",sep="")] = crowdSignalData$lof > 5 - plotBinaryOutliers(crowdSignalData, col, paste(col,"_lofOutlier",sep="")) -} - -# Reload the result from Chapter 2 and apply Chauvenet criterion to all attributes but the labels -load(file=paste(resultPath,"chapter2_result.RData",sep="")) -col2Inspect = names(crowdSignalData) -col2Inspect = subset(col2Inspect, (!grepl("label",col2Inspect)&col2Inspect!="time")) -for (col in col2Inspect) { - - # Chauvenet criterion - crowdSignalData = chauvenet(crowdSignalData, col) - plotBinaryOutliers(crowdSignalData,col,paste(col,'_chauvenetOutlier',sep="")) - - # Set outliers to NA - temp = crowdSignalData[,paste(col,'_chauvenetOutlier',sep="")] - temp = ifelse(is.na(temp),FALSE,temp) - crowdSignalData[temp,col] = NA -} - -# Delete outlier columns -crowdSignalData = crowdSignalData[,!grepl("_chauvenetOutlier",names(crowdSignalData))] - -# Save to file -resultPath = './intermediate_datafiles/' -save(crowdSignalData, file=paste(resultPath,"chapter3_result_outliers.RData",sep="")) \ No newline at end of file diff --git a/RCode/crowdsignals_ch3_rest.R b/RCode/crowdsignals_ch3_rest.R deleted file mode 100644 index 772d19b5..00000000 --- a/RCode/crowdsignals_ch3_rest.R +++ /dev/null @@ -1,96 +0,0 @@ -########################################################################## -# -# Mark Hoogendoorn & Burkhardt Funk (2017) -# Machine Learning for the Quantified Self -# Springer -# Chapter 3 - Handling Noise and Missing Values in Sensory Data -# ./crowdsignals_ch3_rest.R -# -########################################################################## - -# Import libraries and source utils -rm(list=ls()) -require(plotly) -require(reshape2) -require(zoo) # used for time series representation -require(KFAS) # Kalman filtering and smoothing -require(Rlof) # package for local outlier factor -require(signal) # signal processing package (for Butterworth filter) -source("./chapter2/visiualizeData.R") -source("./chapter3/imputationMissingValues.R") -source("./chapter3/kalmanFilter.R") -source("./chapter3/lowPassFilter.R") -source("./chapter3/principalComponent.R") - -# Read the result from the previous chapter, and make sture the index is of the type datetime -resultPath = "./intermediate_datafiles/" -load(file=paste(resultPath,"chapter2_result.RData",sep="")) -chapter2Dataset = crowdSignalData - -load(file=paste(resultPath,"chapter3_result_outliers.RData",sep="")) - -# Compute the number of milliseconds covered by an instane based on the first two rows -timeWindow = as.numeric(difftime(crowdSignalData$time[2],crowdSignalData$time[1],units = "secs"))*1000 - -### Missing Values -imputedMeanDataset = imputeMean(crowdSignalData, "hr_watch_rate") -imputedMedianDataset = imputeMedian(crowdSignalData, "hr_watch_rate") -imputedInterpolationDataset = imputeInterpolation(crowdSignalData, "hr_watch_rate") -plotImputedValues(crowdSignalData, "hr_watch_rate", list(imputedMeanDataset["hr_watch_rate"], - imputedMedianDataset["hr_watch_rate"], imputedInterpolationDataset["hr_watch_rate"])) -rm(imputedMeanDataset,imputedMedianDataset, imputedInterpolationDataset) - -# Impute for all columns except for the label in the selected way (interpolation) -col2Inspect = names(crowdSignalData) -col2Inspect = subset(col2Inspect, (!grepl("label",col2Inspect)&col2Inspect!="time")) -for (col in col2Inspect) - crowdSignalData = imputeInterpolation(crowdSignalData, col) - -### Kalman filtering on the acc_phone_x attribute -kalmanDataset = applyKalmanFilter(chapter2Dataset , "acc_phone_x") -plot(kalmanDataset$time, kalmanDataset$acc_phone_x_kalman - kalmanDataset$acc_phone_x,type="l", col="blue", ylab = "Difference after Kalman Filter", xlab = "time") -grid() - -rm(kalmanDataset) # do not use Kalman filtering - -### Low pass filtering: "reduce" signals from the data with more than 1.5 Hz - -fs = 1000/timeWindow # sampling frequency [Hz] -cutoff = 1.5 # cut off [Hz] - -newDataset = lowPassFilter(crowdSignalData,"acc_phone_x",fs, cutoff, nOrder = 1) -start = round(0.4*nrow(newDataset)) -end = round(0.43*nrow(newDataset)) -temp = plotDataset(newDataset[start:end,], c("acc_phone_x","acc_phone_x_lowpass"),c("exact","exact")) -subplot(temp,nrows = length(temp),shareX = TRUE) - -rm(newDataset) - -# Apply lowpass filter to periodic measurements -periodicMeasurements = c("acc_phone_x", "acc_phone_y", "acc_phone_z", "acc_watch_x", "acc_watch_y", "acc_watch_z", "gyr_phone_x", "gyr_phone_y", - "gyr_phone_z", "gyr_watch_x", "gyr_watch_y", "gyr_watch_z", "mag_phone_x", "mag_phone_y", "mag_phone_z", "mag_watch_x", - "mag_watch_y", "mag_watch_z") - -for (col in periodicMeasurements) { - crowdSignalData = lowPassFilter(crowdSignalData, col, fs, cutoff, nOrder = 1) - crowdSignalData[,col] = crowdSignalData[,paste(col,"_lowpass",sep="")] - -} -crowdSignalData = crowdSignalData[,!grepl("_lowpass",colnames(crowdSignalData))] - -### Principal Component Analysis (PCA) -col2Inspect = names(crowdSignalData) -col2Inspect = subset(col2Inspect, (!grepl("label",col2Inspect) & col2Inspect!="time" & - col2Inspect!="hr_watch_rate")) -plot(pcaExplainedVariance(crowdSignalData,col2Inspect),type="b",col="blue", - xlab = "Number of PC", ylab = "Explained variance") -grid() - -crowdSignalData = applyPCA(crowdSignalData, col2Inspect, 7) -temp = plotDataset(crowdSignalData, c("acc_", "gyr_", "hr_watch_rate", "light_phone_lux", "mag_", "press_phone_", "pca_", "label"),NULL) -if (is.null(linePlot)) linePlot = subplot(temp,nrows = length(temp),shareX = TRUE) else - linePlot = list(linePlot,subplot(temp,nrows = length(temp),shareX = TRUE)) - -# Write output -resultPath = "./intermediate_datafiles/" -save(crowdSignalData, file=paste(resultPath,"chapter3_result_final.RData",sep="")) diff --git a/RCode/crowdsignals_ch4.R b/RCode/crowdsignals_ch4.R deleted file mode 100644 index 465c6cc9..00000000 --- a/RCode/crowdsignals_ch4.R +++ /dev/null @@ -1,80 +0,0 @@ -########################################################################## -# -# Mark Hoogendoorn & Burkhardt Funk (2017) -# Machine Learning for the Quantified Self -# Springer -# Chapter 4 - Feature Engineering based on Sensory Data -# ./crowdsignals_ch4.R -# -########################################################################## - -rm(list=ls()) -require(data.table) -require(bit64) -require(plotly) -require(reshape2) -require(zoo) # used for time series representation -source("./Chapter2/createDataset.R") -source("./Chapter2/visiualizeData.R") -source("./chapter4/temporalAbstraction.R") -source("./chapter4/frequencyAbstraction.R") - - -### settings and data import -resultPath = "./intermediate_datafiles/" -load(file=paste(resultPath,"chapter3_result_final.RData",sep="")) - -# compute the number of milliseconds covered by an instane based on the first two rows -timeWindow = as.numeric(difftime(crowdSignalData$time[2],crowdSignalData$time[1],units = "secs"))*1000 - -# set different window sizes to the number of instances -windowSizes = c(as.integer(5000/timeWindow), as.integer(30000/timeWindow), as.integer(300000/timeWindow)) - -dataSetCopy = crowdSignalData -for (ws in windowSizes) { - dataSetCopy = abstractNumerical(dataSetCopy,"acc_phone_x",windowSize = ws,aggregationFunction = "mean") - dataSetCopy = abstractNumerical(dataSetCopy,"acc_phone_x",windowSize = ws,aggregationFunction = "std") -} - -temp = plotDataset(dataSetCopy, c("acc_phone_x", "acc_phone_x_temp_mean", "acc_phone_x_temp_std", "label"),c("exact", "like", "like", "like")) -linePlot = subplot(temp,nrows = length(temp),shareX = TRUE) -print(linePlot) - -# add new columns to our dataset -ws = as.integer(30000/timeWindow) - -selectedPredictorCols = names(crowdSignalData) -selectedPredictorCols = selectedPredictorCols[!grepl("label",selectedPredictorCols)&!grepl("time",selectedPredictorCols)] - -crowdSignalData = abstractNumerical(crowdSignalData,selectedPredictorCols,windowSize = ws,aggregationFunction = "mean") -crowdSignalData = abstractNumerical(crowdSignalData,selectedPredictorCols,windowSize = ws,aggregationFunction = "std") - - -# select frequent patterns -# crowdSignalData = abstractCategorical(crowdSignalData, c("label"), c("like"), 0.03, as.integer(300000/timeWindow), 2) - -### features from the frequency domain -fs = 1000/timeWindow -windowSize = 10000/timeWindow - -selectedPredictorCols = c("acc_phone_x","acc_phone_y","acc_phone_z","acc_watch_x","acc_watch_y","acc_watch_z","gyr_phone_x","gyr_phone_y", - "gyr_phone_z","gyr_watch_x","gyr_watch_y","gyr_watch_z","mag_phone_x","mag_phone_y","mag_phone_z", - "mag_watch_x","mag_watch_y","mag_watch_z") - -# accept only a certain percentage of overlap in the windows, otherwise the training examples -# will be too much alike. -windowOverlap = 0.9 -skipPoints = max(1,as.integer((1-windowOverlap) * ws)) -instances2Analyze = seq(1,nrow(crowdSignalData),skipPoints) - -crowdSignalData = abstractFrequency(crowdSignalData, selectedPredictorCols, windowSize, fs, instances2Analyze) -crowdSignalData = crowdSignalData[instances2Analyze,] - -# temp = plotDataset(dataSetCopy, c("acc_phone_x_max_freq", "acc_phone_x_freq_weighted", "acc_phone_x_pse", "labelOnTable"),c("like", "like", "like", "exact")) -# linePlot = subplot(temp,nrows = length(temp),shareX = TRUE) -# print(linePlot) - - -# write output -resultPath = "./intermediate_datafiles/" -save(crowdSignalData, file=paste(resultPath,"chapter4_result.RData",sep="")) diff --git a/RCode/crowdsignals_ch5.R b/RCode/crowdsignals_ch5.R deleted file mode 100644 index 31cea0a6..00000000 --- a/RCode/crowdsignals_ch5.R +++ /dev/null @@ -1,99 +0,0 @@ -########################################################################## -# -# Mark Hoogendoorn & Burkhardt Funk (2017) -# Machine Learning for the Quantified Self -# Springer -# Chapter 5 - Clustering -# ./crowdsignals_ch5.R -# -########################################################################## - -rm(list=ls()) -require(cluster) -require(scatterplot3d) -require(ggplot2) - -### settings and data import -resultPath = "./intermediate_datafiles/" -load(file=paste(resultPath,"chapter4_result.RData",sep="")) - -# compute the number of milliseconds covered by an instane based on the first two rows -timeWindow = as.numeric(difftime(crowdSignalData$time[2],crowdSignalData$time[1],units = "secs"))*1000 - -### k-means clustering - -# check silhouette scores for k-means with different k -kValues = 2:9 -silhouetteValues = c() - -tmpDat = crowdSignalData[,c('acc_phone_x', 'acc_phone_y', 'acc_phone_z')] -for (k in kValues) { - cat("k=", k,"\n") - resKM = kmeans(tmpDat, centers = k, - iter.max = 50, nstart = 50) - dai = daisy(tmpDat) - sil = silhouette(resKM$cluster,dai) - silhouetteValues[k-kValues[1]+1] = summary(sil)$avg.width -} -plot(kValues,silhouetteValues,xlab="k",ylab="Silhouette Score (K-Means)",ylim = c(0,1),type="l",col="blue") -grid() - -# run k-means with the highest silhouette score -k = 6 -resKM = kmeans(tmpDat, centers = k, - iter.max = 50, nstart = 50) -sil = silhouette(resKM$cluster,dai) -factoextra::fviz_silhouette(sil) - -# plot labels and clusters in 3D -tmp =crowdSignalData[,colnames(crowdSignalData)[grepl("label",substr(colnames(crowdSignalData),1,10))]] -tmpDat$pch = apply(tmp,1,max,na.rm=TRUE) -with(tmpDat, { - scatterplot3d(acc_phone_x, acc_phone_y, acc_phone_z, - color= rainbow(k)[resKM$cluster], # color refers to cluster - pch=pch, # marker refers to task label - main="") -}) - -# clustering using k-medoids -tmpDat = crowdSignalData[,c('acc_phone_x', 'acc_phone_y', 'acc_phone_z')] -kValues = 2:9 -silhouetteValues = c() - -for (k in kValues) { - cat("k=", k,"\n") - resKMed = pam(tmpDat, k) - dai = daisy(tmpDat) - sil = silhouette(resKMed$cluster,dai) - silhouetteValues[k-kValues[1]+1] = summary(sil)$avg.width -} -plot(kValues,silhouetteValues,xlab="k",ylab="Silhouette Score (K-Medoids)",ylim = c(0,1),type="l",col="blue") -grid() - -# run k-medoids with the highest silhouette score -k = 6 -resKMed = pam(tmpDat, k) -sil = silhouette(resKMed$cluster,dai) -factoextra::fviz_silhouette(sil) - -# demonstrate that the k-means and k-medoids lead to very similar clusters -table(resKM$cluster,resKMed$clustering) # cluster numbers are different, but otherwise no big difference - -### hierarchical clustering (agglomerative) -cluster = hclust(dist(tmpDat[,-4]),method = "ward.D") -kMax = 6 -memb = cutree(cluster, k = kMax) -sil = silhouette(memb,dai) -factoextra::fviz_silhouette(sil) - -cent = NULL -for(k in 1:kMax){ - cent <- rbind(cent, colMeans(tmpDat[,-4][memb == k, , drop = FALSE])) -} -hc1 <- hclust(dist(cent)^2, method = "average", members = table(memb)) -plot(hc1) - -# write output -crowdSignalData$cluster = resKM$cluster -resultPath = "./intermediate_datafiles/" -save(crowdSignalData, file=paste(resultPath,"chapter5_result.RData",sep="")) diff --git a/RCode/crowdsignals_ch7_classification.R b/RCode/crowdsignals_ch7_classification.R deleted file mode 100644 index 217f2815..00000000 --- a/RCode/crowdsignals_ch7_classification.R +++ /dev/null @@ -1,103 +0,0 @@ -########################################################################## -# -# Mark Hoogendoorn & Burkhardt Funk (2017) -# Machine Learning for the Quantified Self -# Springer -# Chapter 7 - Classification -# ./crowdsignals_ch7_classification.R -# -########################################################################## - -rm(list=ls()) -require(mlr) # used for elaborated mechanisms of feature selection -source("./chapter7/prepareDatasetForLearning.R") - - -### settings and data import -resultPath = "./intermediate_datafiles/" -load(file=paste(resultPath,"chapter5_result.RData",sep="")) - -# We create a single column with the categorical attribute representing our class. Furthermore, we use 70% of our data -# for training and the remaining 30% as an independent test set. We select the sets based on stratified sampling. We remove -# cases where we do not know the label. -res = splitSingleDatasetClassification(df=crowdSignalData,classLabels = "label", matching = "like", trainingFrac = 0.7) -trainX = res$trainingSetX -trainY = res$trainingSety -testX = res$testSetX -testY = res$testSety - - -print(paste("Training set length is: ", nrow(trainX))) -print(paste("Test set length is: ", nrow(testX))) - -# select subsets of the features that we will consider: -basicFeatures = c("acc_phone_x","acc_phone_y","acc_phone_z","acc_watch_x","acc_watch_y","acc_watch_z","gyr_phone_x","gyr_phone_y","gyr_phone_z","gyr_watch_x","gyr_watch_y","gyr_watch_z", - "hr_watch_rate", "light_phone_lux","mag_phone_x","mag_phone_y","mag_phone_z","mag_watch_x","mag_watch_y","mag_watch_z","press_phone_pressure") -pcaFeatures = c("pca_1","pca_2","pca_3","pca_4","pca_5","pca_6","pca_7") -timeFeatures = names(crowdSignalData)[grepl("_temp_",names(crowdSignalData))] -freqFeatures = names(crowdSignalData)[grepl("_freq",names(crowdSignalData))] -clusterFeatures = "cluster" - -print(paste("#basic features: ", length(basicFeatures))) -print(paste("#PCA features: ", length(pcaFeatures))) -print(paste("#time features: ", length(timeFeatures))) -print(paste("#frequency features: ", length(freqFeatures))) -print(paste("#cluster features: ", length(clusterFeatures))) - -featuresUptoChapter3 = c(basicFeatures,pcaFeatures) -featuresUptoChapter4 = c(featuresUptoChapter3, timeFeatures, freqFeatures) -featuresUptoChapter5 = c(featuresUptoChapter4, clusterFeatures) - -### determine relevant features by forward selection on a tree learner -# we use the mlr/mbench packages in R to do forward selection elegantly -# source: https://mlr-org.github.io/mlr-tutorial/release/html/feature_selection/index.html -trainingSet = trainX[,featuresUptoChapter5] -trainingSet$class = as.factor(trainY) - -# generate classification task -classTask = makeClassifTask(data = trainingSet, target="class") - -# specify search strategy (forward selection) -ctrl = makeFeatSelControlSequential(method = "sfs", alpha =0, max.features = 50) -rdesc = makeResampleDesc("CV", iters = 2) -selfeats = selectFeatures(learner = "classif.rpart", task = classTask, resampling = rdesc, control = ctrl, - measure = acc, show.info = TRUE) -print(paste("Selected features",selfeats$x)) - - -### explore regularization (use glmnet) -trainingSet = trainX[,featuresUptoChapter4]#[,selectedFeatures] -trainingSet$class = as.factor(trainY) -testSet = testX[,featuresUptoChapter4]#[,selectedFeatures] -testSet$class = as.factor(testY) - -classTask = makeClassifTask(data = trainingSet, target="class") - -#learner = makeLearner("classif.mlp", size = 250, maxit = 500)#, decay = 1, size = 50, maxit = 1000) - -regParameters = c( 0.0001, 0.001, 0.01, 0.1, 1, 10) -performanceTraining = c() -performanceTest = c() -k = 0 - -for (lambda in regParameters) { - k = k + 1 - learner = makeLearner("classif.glmnet", s = lambda) - model = train(learner, classTask) - pred = predict(model, task = classTask) - performanceTraining = c(performanceTraining, - performance(pred, measures = list(acc))) - - pred = predict(model, makeClassifTask(data=testSet,target="class")) - performanceTest = c(performanceTest, - performance(pred, measures = list(acc))) -} - -plot(regParameters,performanceTraining,log = "x",ylim=c(0,1.05),type="l",ylab="Accuracy") -lines(regParameters,performanceTest,lty=2,col="red") -grid() - -# selected features (see python code) -selectedFeatures = c("acc_phone_y_freq_0_Hz_ws_40", "press_phone_pressure_temp_mean_ws_120", "gyr_phone_x_temp_std_ws_120", - "mag_watch_y_pse", "mag_phone_z_max_freq", "gyr_watch_y_freq_weighted", "gyr_phone_y_freq_1_Hz_ws_40", - "acc_phone_x_freq_1.9_Hz_ws_40", "mag_watch_z_freq_0.9_Hz_ws_40", "acc_watch_y_freq_0.5_Hz_ws_40") From e5a5aad863cc2c73cf1acfe5c74711fbee2e8de6 Mon Sep 17 00:00:00 2001 From: Yari Anrango Date: Tue, 6 Jun 2023 12:02:44 +0200 Subject: [PATCH 02/12] add apple data parser --- apple-health-data-parser.py | 217 ++++++++++++++++++++++++++++++++++++ 1 file changed, 217 insertions(+) create mode 100644 apple-health-data-parser.py diff --git a/apple-health-data-parser.py b/apple-health-data-parser.py new file mode 100644 index 00000000..e93aceeb --- /dev/null +++ b/apple-health-data-parser.py @@ -0,0 +1,217 @@ +import os +import re +import sys + +from xml.etree import ElementTree +from collections import Counter, OrderedDict + +__version__ = '1.3' + +RECORD_FIELDS = OrderedDict(( + ('sourceName', 's'), + ('sourceVersion', 's'), + ('device', 's'), + ('type', 's'), + ('unit', 's'), + ('creationDate', 'd'), + ('startDate', 'd'), + ('endDate', 'd'), + ('value', 'n'), +)) + +ACTIVITY_SUMMARY_FIELDS = OrderedDict(( + ('dateComponents', 'd'), + ('activeEnergyBurned', 'n'), + ('activeEnergyBurnedGoal', 'n'), + ('activeEnergyBurnedUnit', 's'), + ('appleExerciseTime', 's'), + ('appleExerciseTimeGoal', 's'), + ('appleStandHours', 'n'), + ('appleStandHoursGoal', 'n'), +)) + +WORKOUT_FIELDS = OrderedDict(( + ('sourceName', 's'), + ('sourceVersion', 's'), + ('device', 's'), + ('creationDate', 'd'), + ('startDate', 'd'), + ('endDate', 'd'), + ('workoutActivityType', 's'), + ('duration', 'n'), + ('durationUnit', 's'), + ('totalDistance', 'n'), + ('totalDistanceUnit', 's'), + ('totalEnergyBurned', 'n'), + ('totalEnergyBurnedUnit', 's'), +)) + +FIELDS = { + 'Record': RECORD_FIELDS, + 'ActivitySummary': ACTIVITY_SUMMARY_FIELDS, + 'Workout': WORKOUT_FIELDS, +} + + +PREFIX_RE = re.compile('^HK.*TypeIdentifier(.+)$') +ABBREVIATE = True +VERBOSE = True + +def format_freqs(counter): + """ + Format a counter object for display. + """ + return '\n'.join('%s: %d' % (tag, counter[tag]) + for tag in sorted(counter.keys())) + + +def format_value(value, datatype): + """ + Format a value for a CSV file, escaping double quotes and backslashes. + None maps to empty. + datatype should be + 's' for string (escaped) + 'n' for number + 'd' for datetime + """ + if value is None: + return '' + elif datatype == 's': # string + return '"%s"' % value.replace('\\', '\\\\').replace('"', '\\"') + elif datatype in ('n', 'd'): # number or date + return value + else: + raise KeyError('Unexpected format value: %s' % datatype) + + +def abbreviate(s, enabled=ABBREVIATE): + """ + Abbreviate particularly verbose strings based on a regular expression + """ + m = re.match(PREFIX_RE, s) + return m.group(1) if enabled and m else s + + +class HealthDataExtractor(object): + """ + Extract health data from Apple Health App's XML export, export.xml. + Inputs: + path: Relative or absolute path to export.xml + verbose: Set to False for less verbose output + Outputs: + Writes a CSV file for each record type found, in the same + directory as the input export.xml. Reports each file written + unless verbose has been set to False. + """ + def __init__(self, path, verbose=VERBOSE): + self.in_path = path + self.verbose = verbose + self.directory = os.path.abspath(os.path.split(path)[0]) + with open(path) as f: + self.report('Reading data from %s . . . ' % path, end='') + self.data = ElementTree.parse(f) + self.report('done') + self.root = self.data._root + self.nodes = list(self.root) + self.n_nodes = len(self.nodes) + self.abbreviate_types() + self.collect_stats() + + def report(self, msg, end='\n'): + if self.verbose: + print(msg, end=end) + sys.stdout.flush() + + def count_tags_and_fields(self): + self.tags = Counter() + self.fields = Counter() + for record in self.nodes: + self.tags[record.tag] += 1 + for k in record.keys(): + self.fields[k] += 1 + + def count_record_types(self): + """ + Counts occurrences of each type of (conceptual) "record" in the data. + In the case of nodes of type 'Record', this counts the number of + occurrences of each 'type' or record in self.record_types. + In the case of nodes of type 'ActivitySummary' and 'Workout', + it just counts those in self.other_types. + The slightly different handling reflects the fact that 'Record' + nodes come in a variety of different subtypes that we want to write + to different data files, whereas (for now) we are going to write + all Workout entries to a single file, and all ActivitySummary + entries to another single file. + """ + self.record_types = Counter() + self.other_types = Counter() + for record in self.nodes: + if record.tag == 'Record': + self.record_types[record.attrib['type']] += 1 + elif record.tag in ('ActivitySummary', 'Workout'): + self.other_types[record.tag] += 1 + elif record.tag in ('Export', 'Me'): + pass + else: + self.report('Unexpected node of type %s.' % record.tag) + + def collect_stats(self): + self.count_record_types() + self.count_tags_and_fields() + + def open_for_writing(self): + self.handles = {} + self.paths = [] + for kind in (list(self.record_types) + list(self.other_types)): + path = os.path.join(self.directory, '%s.csv' % abbreviate(kind)) + f = open(path, 'w') + headerType = (kind if kind in ('Workout', 'ActivitySummary') + else 'Record') + f.write(','.join(FIELDS[headerType].keys()) + '\n') + self.handles[kind] = f + self.report('Opening %s for writing' % path) + + def abbreviate_types(self): + """ + Shorten types by removing common boilerplate text. + """ + for node in self.nodes: + if node.tag == 'Record': + if 'type' in node.attrib: + node.attrib['type'] = abbreviate(node.attrib['type']) + + def write_records(self): + kinds = FIELDS.keys() + for node in self.nodes: + if node.tag in kinds: + attributes = node.attrib + kind = attributes['type'] if node.tag == 'Record' else node.tag + values = [format_value(attributes.get(field), datatype) + for (field, datatype) in FIELDS[node.tag].items()] + line = ','.join(values) + '\n' + self.handles[kind].write(line) + + def close_files(self): + for (kind, f) in self.handles.items(): + f.close() + self.report('Written %s data.' % abbreviate(kind)) + + def extract(self): + self.open_for_writing() + self.write_records() + self.close_files() + + def report_stats(self): + print('\nTags:\n%s\n' % format_freqs(self.tags)) + print('Fields:\n%s\n' % format_freqs(self.fields)) + print('Record types:\n%s\n' % format_freqs(self.record_types)) + + +if __name__ == '__main__': + if len(sys.argv) != 2: + print('USAGE: python applehealthdata.py /path/to/export.xml', + file=sys.stderr) + sys.exit(1) + data = HealthDataExtractor(sys.argv[1]) + data.report_stats() + data.extract() \ No newline at end of file From 70f5b73b659fe3eb3fe49054b180064980806a3e Mon Sep 17 00:00:00 2001 From: Yari Anrango Date: Tue, 6 Jun 2023 12:07:30 +0200 Subject: [PATCH 03/12] source from parser added --- apple-health-data-parser.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/apple-health-data-parser.py b/apple-health-data-parser.py index e93aceeb..55c64ec7 100644 --- a/apple-health-data-parser.py +++ b/apple-health-data-parser.py @@ -1,3 +1,5 @@ +# sourced from https://medium.com/@gaurvinayak18/analyzing-apple-health-data-with-python-17700260b599 + import os import re import sys From 93e826891e9973a8ce80034407e6e0d7598dea87 Mon Sep 17 00:00:00 2001 From: Yari Anrango Date: Wed, 7 Jun 2023 18:02:20 +0200 Subject: [PATCH 04/12] add script to combine steps with weather data --- apple-health-data-parser.py | 219 ------------------------------------ combine_data.py | 78 +++++++++++++ 2 files changed, 78 insertions(+), 219 deletions(-) delete mode 100644 apple-health-data-parser.py create mode 100644 combine_data.py diff --git a/apple-health-data-parser.py b/apple-health-data-parser.py deleted file mode 100644 index 55c64ec7..00000000 --- a/apple-health-data-parser.py +++ /dev/null @@ -1,219 +0,0 @@ -# sourced from https://medium.com/@gaurvinayak18/analyzing-apple-health-data-with-python-17700260b599 - -import os -import re -import sys - -from xml.etree import ElementTree -from collections import Counter, OrderedDict - -__version__ = '1.3' - -RECORD_FIELDS = OrderedDict(( - ('sourceName', 's'), - ('sourceVersion', 's'), - ('device', 's'), - ('type', 's'), - ('unit', 's'), - ('creationDate', 'd'), - ('startDate', 'd'), - ('endDate', 'd'), - ('value', 'n'), -)) - -ACTIVITY_SUMMARY_FIELDS = OrderedDict(( - ('dateComponents', 'd'), - ('activeEnergyBurned', 'n'), - ('activeEnergyBurnedGoal', 'n'), - ('activeEnergyBurnedUnit', 's'), - ('appleExerciseTime', 's'), - ('appleExerciseTimeGoal', 's'), - ('appleStandHours', 'n'), - ('appleStandHoursGoal', 'n'), -)) - -WORKOUT_FIELDS = OrderedDict(( - ('sourceName', 's'), - ('sourceVersion', 's'), - ('device', 's'), - ('creationDate', 'd'), - ('startDate', 'd'), - ('endDate', 'd'), - ('workoutActivityType', 's'), - ('duration', 'n'), - ('durationUnit', 's'), - ('totalDistance', 'n'), - ('totalDistanceUnit', 's'), - ('totalEnergyBurned', 'n'), - ('totalEnergyBurnedUnit', 's'), -)) - -FIELDS = { - 'Record': RECORD_FIELDS, - 'ActivitySummary': ACTIVITY_SUMMARY_FIELDS, - 'Workout': WORKOUT_FIELDS, -} - - -PREFIX_RE = re.compile('^HK.*TypeIdentifier(.+)$') -ABBREVIATE = True -VERBOSE = True - -def format_freqs(counter): - """ - Format a counter object for display. - """ - return '\n'.join('%s: %d' % (tag, counter[tag]) - for tag in sorted(counter.keys())) - - -def format_value(value, datatype): - """ - Format a value for a CSV file, escaping double quotes and backslashes. - None maps to empty. - datatype should be - 's' for string (escaped) - 'n' for number - 'd' for datetime - """ - if value is None: - return '' - elif datatype == 's': # string - return '"%s"' % value.replace('\\', '\\\\').replace('"', '\\"') - elif datatype in ('n', 'd'): # number or date - return value - else: - raise KeyError('Unexpected format value: %s' % datatype) - - -def abbreviate(s, enabled=ABBREVIATE): - """ - Abbreviate particularly verbose strings based on a regular expression - """ - m = re.match(PREFIX_RE, s) - return m.group(1) if enabled and m else s - - -class HealthDataExtractor(object): - """ - Extract health data from Apple Health App's XML export, export.xml. - Inputs: - path: Relative or absolute path to export.xml - verbose: Set to False for less verbose output - Outputs: - Writes a CSV file for each record type found, in the same - directory as the input export.xml. Reports each file written - unless verbose has been set to False. - """ - def __init__(self, path, verbose=VERBOSE): - self.in_path = path - self.verbose = verbose - self.directory = os.path.abspath(os.path.split(path)[0]) - with open(path) as f: - self.report('Reading data from %s . . . ' % path, end='') - self.data = ElementTree.parse(f) - self.report('done') - self.root = self.data._root - self.nodes = list(self.root) - self.n_nodes = len(self.nodes) - self.abbreviate_types() - self.collect_stats() - - def report(self, msg, end='\n'): - if self.verbose: - print(msg, end=end) - sys.stdout.flush() - - def count_tags_and_fields(self): - self.tags = Counter() - self.fields = Counter() - for record in self.nodes: - self.tags[record.tag] += 1 - for k in record.keys(): - self.fields[k] += 1 - - def count_record_types(self): - """ - Counts occurrences of each type of (conceptual) "record" in the data. - In the case of nodes of type 'Record', this counts the number of - occurrences of each 'type' or record in self.record_types. - In the case of nodes of type 'ActivitySummary' and 'Workout', - it just counts those in self.other_types. - The slightly different handling reflects the fact that 'Record' - nodes come in a variety of different subtypes that we want to write - to different data files, whereas (for now) we are going to write - all Workout entries to a single file, and all ActivitySummary - entries to another single file. - """ - self.record_types = Counter() - self.other_types = Counter() - for record in self.nodes: - if record.tag == 'Record': - self.record_types[record.attrib['type']] += 1 - elif record.tag in ('ActivitySummary', 'Workout'): - self.other_types[record.tag] += 1 - elif record.tag in ('Export', 'Me'): - pass - else: - self.report('Unexpected node of type %s.' % record.tag) - - def collect_stats(self): - self.count_record_types() - self.count_tags_and_fields() - - def open_for_writing(self): - self.handles = {} - self.paths = [] - for kind in (list(self.record_types) + list(self.other_types)): - path = os.path.join(self.directory, '%s.csv' % abbreviate(kind)) - f = open(path, 'w') - headerType = (kind if kind in ('Workout', 'ActivitySummary') - else 'Record') - f.write(','.join(FIELDS[headerType].keys()) + '\n') - self.handles[kind] = f - self.report('Opening %s for writing' % path) - - def abbreviate_types(self): - """ - Shorten types by removing common boilerplate text. - """ - for node in self.nodes: - if node.tag == 'Record': - if 'type' in node.attrib: - node.attrib['type'] = abbreviate(node.attrib['type']) - - def write_records(self): - kinds = FIELDS.keys() - for node in self.nodes: - if node.tag in kinds: - attributes = node.attrib - kind = attributes['type'] if node.tag == 'Record' else node.tag - values = [format_value(attributes.get(field), datatype) - for (field, datatype) in FIELDS[node.tag].items()] - line = ','.join(values) + '\n' - self.handles[kind].write(line) - - def close_files(self): - for (kind, f) in self.handles.items(): - f.close() - self.report('Written %s data.' % abbreviate(kind)) - - def extract(self): - self.open_for_writing() - self.write_records() - self.close_files() - - def report_stats(self): - print('\nTags:\n%s\n' % format_freqs(self.tags)) - print('Fields:\n%s\n' % format_freqs(self.fields)) - print('Record types:\n%s\n' % format_freqs(self.record_types)) - - -if __name__ == '__main__': - if len(sys.argv) != 2: - print('USAGE: python applehealthdata.py /path/to/export.xml', - file=sys.stderr) - sys.exit(1) - data = HealthDataExtractor(sys.argv[1]) - data.report_stats() - data.extract() \ No newline at end of file diff --git a/combine_data.py b/combine_data.py new file mode 100644 index 00000000..45748aa7 --- /dev/null +++ b/combine_data.py @@ -0,0 +1,78 @@ +import pandas as pd +import numpy as np +import sys + +def fix_weather_data(dir : str, rows_skipped=30): + weather_raw = pd.read_csv(dir, dtype=str, skiprows=rows_skipped) + + # replace confusing names with better names derived from .txt file + weather = weather_raw.rename(columns={' HH': 'hour', + ' DD': 'direction_wind', + ' FH': 'windspeed_avg_hour', + ' FF': 'windspeed_avg_10min', + ' FX': 'max_wind_gust', + ' T': 'temp_celsius', + ' T10N': 'temp_min_6h', + ' TD': 'temp_dewpoint', + ' SQ': 'sunshine_duration', + ' Q': 'glob_radiation', + ' DR': 'precipitation_duration', + ' RH': 'precipitation_amount_hourly', + ' P': 'air_pressure', + ' VV': 'horizontal_visibility', + ' N': 'cloud_cover', + ' U': 'relative_humidity', + ' WW': 'weather_code', + ' IX': 'indicator_present_weather_code', + ' M': 'fog', + ' R': 'rain', + ' S': 'snow', + ' O': 'thunder', + ' Y': 'ice_formation'}, inplace=False) + + # remove whitespace from values + for i in weather.columns: + weather[i] = weather[i].str.strip() + + weather = weather.replace('', np.nan, regex=True) + + # change datatype + for i in weather.columns: + if i == 'precipitation_amount_hourly': + weather[i] = weather[i].astype(float) + else: + weather[i] = weather[i].astype(float).astype("Int32") + + # fix datetimes + weather['hour'] = pd.to_datetime(weather['hour'] - 1, format='%H', exact=False).dt.strftime( + '%H:%M:%S') # hour minus one because somehow 24:00:00 gets converted to 02:00:00, needs to be fixed + weather['YYYYMMDD'] = pd.to_datetime(weather['YYYYMMDD'], format='%Y%m%d').dt.strftime('%Y-%m-%d') + weather['datetime'] = weather[['YYYYMMDD', 'hour']].apply(lambda x: ' '.join(x.values.astype(str)), axis="columns") + weather['datetime'] = pd.to_datetime(pd.to_datetime(weather['datetime']).dt.strftime('%Y-%m-%d %H:%M:%S')) + + return weather + + +def merge_steps_weather(dir_weather: str, dir_steps: str, steps_column_datetime = 'startDate'): + steps = pd.read_csv(dir_steps) + weather = fix_weather_data(dir_weather) + # decide on column to merge by, change steps_column_datetime to choose another datetime column + weather.rename(columns={'datetime': steps_column_datetime}, inplace=True) + + steps[steps_column_datetime] = pd.to_datetime(pd.to_datetime(steps[steps_column_datetime]).dt.strftime('%Y-%m-%d %H:%M:%S')) + steps = steps[steps['startDate'].dt.strftime('%Y') == '2023'] + steps.sort_values(steps_column_datetime, inplace=True) + weather.sort_values(steps_column_datetime, inplace=True) + + merge = pd.merge_asof(steps, weather, on=steps_column_datetime, tolerance=pd.Timedelta("60m")) + + return merge + +if __name__ == '__main__': + merge = merge_steps_weather(sys.argv[1], sys.argv[2]) + merge.to_csv('weather_steps_merged.csv') + +# uncomment this line to run in console, change directories for the location on your device +#merge = merge_steps_weather(dir_weather='./data_used/weather.txt', dir_steps='./data_used/StepCount.csv') + + From 037d132324ea9fb8f41a590174ae3ba245bb663f Mon Sep 17 00:00:00 2001 From: IreneThoma Date: Thu, 8 Jun 2023 16:59:58 +0200 Subject: [PATCH 05/12] add function to remove some features --- .gitignore | 40 +++++++++++++++++++++++++++++ README.md | 8 ------ combine_data.py => combine_data_.py | 30 ++++++++++++++++++---- 3 files changed, 65 insertions(+), 13 deletions(-) delete mode 100644 README.md rename combine_data.py => combine_data_.py (76%) diff --git a/.gitignore b/.gitignore index 9c3723f0..a0965574 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,43 @@ datasets PythonCode/intermediate_datafiles/ PythonCode/Example_graphs/ +weather_steps.csv +data_used/StepCount.csv +exportxml/ActiveEnergyBurned.csv +.gitignore +exportxml/ActivitySummary.csv +exportxml/AppleExerciseTime.csv +exportxml/AppleStandHour.csv +exportxml/AppleStandTime.csv +exportxml/BasalEnergyBurned.csv +exportxml/DietaryWater.csv +exportxml/DistanceCycling.csv +exportxml/DistanceWalkingRunning.csv +exportxml/EnvironmentalAudioExposure.csv +exportxml/EnvironmentalSoundReduction.csv +exportxml/FlightsClimbed.csv +exportxml/HeadphoneAudioExposure.csv +exportxml/HeartRate.csv +exportxml/HeartRateVariabilitySDNN.csv +exportxml/README.md +exportxml/RespiratoryRate.csv +exportxml/RestingHeartRate.csv +exportxml/SleepAnalysis.csv +exportxml/StairAscentSpeed.csv +exportxml/StairDescentSpeed.csv +exportxml/StepCount.csv +exportxml/WalkingAsymmetryPercentage.csv +exportxml/WalkingDoubleSupportPercentage.csv +exportxml/WalkingHeartRateAverage.csv +exportxml/WalkingSpeed.csv +exportxml/WalkingStepLength.csv +exportxml/Workout.csv +.gitignore +Missing_data/missing_data_transformation.ipynb +Missing_data/missing_data_transfromation.py +combine_data.py +export.xml +README.md +data_used/weather.txt +README.md +Missing_data/weather_steps_merged.csv diff --git a/README.md b/README.md deleted file mode 100644 index c57c0bb3..00000000 --- a/README.md +++ /dev/null @@ -1,8 +0,0 @@ -# ML4QS - -This repository provides all the code associated with the book titled "Machine Learning for the Quantified Self", authored by Mark Hoogendoorn and Burkhardt Funk and published by Springer in 2018. The website of the book can be found on ml4qs.org. Both R code, Python 2 code (used to generate the results in the book) and Python3 code can be found (due to updated packages, results might differ a bit compared to those reported in the book). For the Python3 code, both a Docker setup and a requirements file are available, see the README.md in the Python3 directory. - -Note that we have tried to make the code as robust as we can, but we cannot provide any guarantees on its correctness. This code is made available under the GNU public license. We have used snippets of code from other sources and have tried to add references to these in our code where possible. When using the code for publications, please include a reference to the book in your paper: - -Hoogendoorn, M. and Funk, B., Machine Learning for the Quantified Self - On the Art of Learning from Sensory Data, Springer, 2018. - diff --git a/combine_data.py b/combine_data_.py similarity index 76% rename from combine_data.py rename to combine_data_.py index 45748aa7..fef99445 100644 --- a/combine_data.py +++ b/combine_data_.py @@ -68,11 +68,31 @@ def merge_steps_weather(dir_weather: str, dir_steps: str, steps_column_datetime return merge -if __name__ == '__main__': - merge = merge_steps_weather(sys.argv[1], sys.argv[2]) - merge.to_csv('weather_steps_merged.csv') +def create_weather_steps(dir_weather: str, dir_steps: str): + #Create usefull dataframe + weather_steps = merge_steps_weather(dir_weather, dir_steps) + New_steps = weather_steps[['creationDate', 'hour', 'value']] + New_weather = weather_steps.iloc[:, 13:35] + New_weather_steps = pd.concat([New_steps, New_weather], axis=1) + + ##Define groups + #New_weather_steps['group'] = (New_weather_steps['hour'] != New_weather_steps['hour'].shift()).cumsum() + + ##sum the steps per group + #New_weather_steps_ = New_weather_steps.groupby(['group', 'hour'])['value'].sum().reset_index(drop=True) + + ##replace steps for sum of the steps + #for i, j in zip(range(len(New_weather_steps)), New_weather_steps['group']): + # New_weather_steps.at[i, 'value'] = New_weather_steps_[j - 1] -# uncomment this line to run in console, change directories for the location on your device -#merge = merge_steps_weather(dir_weather='./data_used/weather.txt', dir_steps='./data_used/StepCount.csv') + ##drop duplicates and column 'group' + #New_weather_steps = New_weather_steps.drop('group', axis=1) + #New_weather_steps = New_weather_steps.drop_duplicates() + + return(New_weather_steps) + +if __name__ == '__main__': + merge = create_weather_steps('./data_used/weather.txt', './data_used/StepCount.csv') + merge.to_csv('weather_steps.csv') From d707c447a4669447fe001a39e18165005309660e Mon Sep 17 00:00:00 2001 From: IreneThoma Date: Fri, 9 Jun 2023 17:09:55 +0200 Subject: [PATCH 06/12] Missing data changes --- Missing_data/missing_data.ipynb | 1447 +++++++++++++++++++++++++++++++ combine_data_.py | 14 - 2 files changed, 1447 insertions(+), 14 deletions(-) create mode 100644 Missing_data/missing_data.ipynb diff --git a/Missing_data/missing_data.ipynb b/Missing_data/missing_data.ipynb new file mode 100644 index 00000000..a1e61a6d --- /dev/null +++ b/Missing_data/missing_data.ipynb @@ -0,0 +1,1447 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
creationDatehourvaluewindspeed_avg_hourwindspeed_avg_10minmax_wind_gusttemp_celsiustemp_min_6htemp_dewpointsunshine_duration...horizontal_visibilitycloud_coverrelative_humidityweather_codeindicator_present_weather_codefograinsnowthunderice_formation
02023-01-01 00:25:48 +020000:00:00171110.0130.0200.0142.0NaN84.00.0...66.08.068.0NaN50.00.00.00.00.0
12023-01-01 00:35:44 +020000:00:0018110.0130.0200.0142.0NaN84.00.0...66.08.068.0NaN50.00.00.00.00.0
22023-01-01 00:39:25 +020000:00:003110.0130.0200.0142.0NaN84.00.0...66.08.068.0NaN50.00.00.00.00.0
32023-01-01 00:55:33 +020000:00:0082110.0130.0200.0142.0NaN84.00.0...66.08.068.0NaN50.00.00.00.00.0
42023-01-01 01:04:25 +020000:00:0012110.0130.0200.0142.0NaN84.00.0...66.08.068.0NaN50.00.00.00.00.0
..................................................................
77642023-06-06 08:37:36 +020008:00:0022130.030.060.0183.0NaN117.010.0...NaNNaN65.0NaN6NaNNaNNaNNaNNaN
77652023-06-06 09:00:07 +020008:00:00110830.030.060.0183.0NaN117.010.0...NaNNaN65.0NaN6NaNNaNNaNNaNNaN
77662023-06-06 09:00:20 +020008:00:00111330.030.060.0183.0NaN117.010.0...NaNNaN65.0NaN6NaNNaNNaNNaNNaN
77672023-06-06 09:15:01 +020009:00:0013790.090.0110.0NaNNaNNaNNaN...NaNNaNNaNNaN6NaNNaNNaNNaNNaN
77682023-06-06 09:10:53 +020009:00:0015090.090.0110.0NaNNaNNaNNaN...NaNNaNNaNNaN6NaNNaNNaNNaNNaN
\n", + "

7769 rows × 24 columns

\n", + "
" + ], + "text/plain": [ + " creationDate hour value windspeed_avg_hour \\\n", + "0 2023-01-01 00:25:48 +0200 00:00:00 171 110.0 \n", + "1 2023-01-01 00:35:44 +0200 00:00:00 18 110.0 \n", + "2 2023-01-01 00:39:25 +0200 00:00:00 3 110.0 \n", + "3 2023-01-01 00:55:33 +0200 00:00:00 82 110.0 \n", + "4 2023-01-01 01:04:25 +0200 00:00:00 12 110.0 \n", + "... ... ... ... ... \n", + "7764 2023-06-06 08:37:36 +0200 08:00:00 221 30.0 \n", + "7765 2023-06-06 09:00:07 +0200 08:00:00 1108 30.0 \n", + "7766 2023-06-06 09:00:20 +0200 08:00:00 1113 30.0 \n", + "7767 2023-06-06 09:15:01 +0200 09:00:00 137 90.0 \n", + "7768 2023-06-06 09:10:53 +0200 09:00:00 150 90.0 \n", + "\n", + " windspeed_avg_10min max_wind_gust temp_celsius temp_min_6h \\\n", + "0 130.0 200.0 142.0 NaN \n", + "1 130.0 200.0 142.0 NaN \n", + "2 130.0 200.0 142.0 NaN \n", + "3 130.0 200.0 142.0 NaN \n", + "4 130.0 200.0 142.0 NaN \n", + "... ... ... ... ... \n", + "7764 30.0 60.0 183.0 NaN \n", + "7765 30.0 60.0 183.0 NaN \n", + "7766 30.0 60.0 183.0 NaN \n", + "7767 90.0 110.0 NaN NaN \n", + "7768 90.0 110.0 NaN NaN \n", + "\n", + " temp_dewpoint sunshine_duration ... horizontal_visibility \\\n", + "0 84.0 0.0 ... 66.0 \n", + "1 84.0 0.0 ... 66.0 \n", + "2 84.0 0.0 ... 66.0 \n", + "3 84.0 0.0 ... 66.0 \n", + "4 84.0 0.0 ... 66.0 \n", + "... ... ... ... ... \n", + "7764 117.0 10.0 ... NaN \n", + "7765 117.0 10.0 ... NaN \n", + "7766 117.0 10.0 ... NaN \n", + "7767 NaN NaN ... NaN \n", + "7768 NaN NaN ... NaN \n", + "\n", + " cloud_cover relative_humidity weather_code \\\n", + "0 8.0 68.0 NaN \n", + "1 8.0 68.0 NaN \n", + "2 8.0 68.0 NaN \n", + "3 8.0 68.0 NaN \n", + "4 8.0 68.0 NaN \n", + "... ... ... ... \n", + "7764 NaN 65.0 NaN \n", + "7765 NaN 65.0 NaN \n", + "7766 NaN 65.0 NaN \n", + "7767 NaN NaN NaN \n", + "7768 NaN NaN NaN \n", + "\n", + " indicator_present_weather_code fog rain snow thunder ice_formation \n", + "0 5 0.0 0.0 0.0 0.0 0.0 \n", + "1 5 0.0 0.0 0.0 0.0 0.0 \n", + "2 5 0.0 0.0 0.0 0.0 0.0 \n", + "3 5 0.0 0.0 0.0 0.0 0.0 \n", + "4 5 0.0 0.0 0.0 0.0 0.0 \n", + "... ... ... ... ... ... ... \n", + "7764 6 NaN NaN NaN NaN NaN \n", + "7765 6 NaN NaN NaN NaN NaN \n", + "7766 6 NaN NaN NaN NaN NaN \n", + "7767 6 NaN NaN NaN NaN NaN \n", + "7768 6 NaN NaN NaN NaN NaN \n", + "\n", + "[7769 rows x 24 columns]" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import pandas as pd\n", + "\n", + "#Create df\n", + "weather_steps = pd.read_csv(\"weather_steps.csv\")\n", + "weather_steps = weather_steps.drop(weather_steps.columns[0], axis=1)\n", + "display(weather_steps)" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "creationDate 0\n", + "hour 0\n", + "value 0\n", + "windspeed_avg_hour 158\n", + "windspeed_avg_10min 158\n", + "max_wind_gust 158\n", + "temp_celsius 2287\n", + "temp_min_6h 6826\n", + "temp_dewpoint 2287\n", + "sunshine_duration 2555\n", + "glob_radiation 2555\n", + "precipitation_duration 2417\n", + "precipitation_amount_hourly 2417\n", + "air_pressure 3971\n", + "horizontal_visibility 3791\n", + "cloud_cover 4610\n", + "relative_humidity 2287\n", + "weather_code 6447\n", + "indicator_present_weather_code 0\n", + "fog 3791\n", + "rain 3791\n", + "snow 3791\n", + "thunder 3791\n", + "ice_formation 3791\n", + "dtype: int64\n" + ] + } + ], + "source": [ + "print(weather_steps.isna().sum())\n", + "#remove temp_min_6h and weather_code, because they contain more than 80% missing values \n", + "weather_steps = weather_steps.drop([\"temp_min_6h\", \"weather_code\"] , axis=1) " + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [], + "source": [ + "# Convert the 'time' column to datetime\n", + "weather_steps['creationDate'] = pd.to_datetime(weather_steps['creationDate'], format='%Y-%m-%d %H:%M')\n", + "\n", + "# Interpolate the missing values\n", + "weather_steps['windspeed_avg_hour'] = weather_steps['windspeed_avg_hour'].interpolate()\n", + "weather_steps['windspeed_avg_10min'] = weather_steps['windspeed_avg_10min'].interpolate()\n", + "weather_steps['max_wind_gust'] = weather_steps['max_wind_gust'].interpolate()\n", + "weather_steps['temp_celsius'] = weather_steps['temp_celsius'].interpolate()\n", + "weather_steps['temp_dewpoint'] = weather_steps['temp_dewpoint'].interpolate()\n", + "weather_steps['sunshine_duration'] = weather_steps['sunshine_duration'].interpolate()\n", + "weather_steps['glob_radiation'] = weather_steps['glob_radiation'].interpolate()\n", + "weather_steps['precipitation_duration'] = weather_steps['precipitation_duration'].interpolate()\n", + "weather_steps['precipitation_amount_hourly'] = weather_steps['precipitation_amount_hourly'].interpolate()\n", + "weather_steps['air_pressure'] = weather_steps['air_pressure'].interpolate()\n", + "weather_steps['horizontal_visibility'] = weather_steps['horizontal_visibility'].interpolate()\n", + "weather_steps['cloud_cover'] = weather_steps['cloud_cover'].interpolate()\n", + "weather_steps['relative_humidity'] = weather_steps['relative_humidity'].interpolate()\n", + "weather_steps['fog'] = weather_steps['fog'].interpolate()\n", + "weather_steps['rain'] = weather_steps['rain'].interpolate()\n", + "weather_steps['snow'] = weather_steps['snow'].interpolate()\n", + "weather_steps['thunder'] = weather_steps['thunder'].interpolate()\n", + "weather_steps['ice_formation'] = weather_steps['ice_formation'].interpolate()\n" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
creationDatehourvaluewindspeed_avg_hourwindspeed_avg_10minmax_wind_gusttemp_celsiustemp_min_6htemp_dewpointsunshine_duration...horizontal_visibilitycloud_coverrelative_humidityweather_codeindicator_present_weather_codefograinsnowthunderice_formation
02023-01-01 00:25:48 +020000:00:00171110.0130.0200.0142.0NaN84.00.0...66.08.068.0NaN50.00.00.00.00.0
12023-01-01 00:35:44 +020000:00:0018110.0130.0200.0142.0NaN84.00.0...66.08.068.0NaN50.00.00.00.00.0
22023-01-01 00:39:25 +020000:00:003110.0130.0200.0142.0NaN84.00.0...66.08.068.0NaN50.00.00.00.00.0
32023-01-01 00:55:33 +020000:00:0082110.0130.0200.0142.0NaN84.00.0...66.08.068.0NaN50.00.00.00.00.0
42023-01-01 01:04:25 +020000:00:0012110.0130.0200.0142.0NaN84.00.0...66.08.068.0NaN50.00.00.00.00.0
52023-01-01 01:07:29 +020000:00:0088110.0130.0200.0142.0NaN84.00.0...66.08.068.0NaN50.00.00.00.00.0
62023-01-01 01:04:25 +020000:00:0014110.0130.0200.0142.0NaN84.00.0...66.08.068.0NaN50.00.00.00.00.0
72023-01-01 01:04:25 +020000:00:0038110.0130.0200.0142.0NaN84.00.0...66.08.068.0NaN50.00.00.00.00.0
82023-01-01 01:04:25 +020000:00:006110.0130.0200.0142.0NaN84.00.0...66.08.068.0NaN50.00.00.00.00.0
92023-01-01 01:04:25 +020001:00:0035160.0150.0200.0NaNNaNNaNNaN...NaNNaNNaNNaN6NaNNaNNaNNaNNaN
102023-01-01 01:17:54 +020001:00:0073160.0150.0200.0NaNNaNNaNNaN...NaNNaNNaNNaN6NaNNaNNaNNaNNaN
112023-01-01 01:18:01 +020001:00:0062160.0150.0200.0NaNNaNNaNNaN...NaNNaNNaNNaN6NaNNaNNaNNaNNaN
122023-01-01 01:43:15 +020001:00:0098160.0150.0200.0NaNNaNNaNNaN...NaNNaNNaNNaN6NaNNaNNaNNaNNaN
132023-01-01 01:47:16 +020001:00:00136160.0150.0200.0NaNNaNNaNNaN...NaNNaNNaNNaN6NaNNaNNaNNaNNaN
142023-01-01 01:59:14 +020001:00:0033160.0150.0200.0NaNNaNNaNNaN...NaNNaNNaNNaN6NaNNaNNaNNaNNaN
152023-01-01 02:22:32 +020002:00:00130140.0130.0170.0126.0NaN77.00.0...74.08.072.0NaN50.00.00.00.00.0
162023-01-01 02:32:07 +020002:00:00122140.0130.0170.0126.0NaN77.00.0...74.08.072.0NaN50.00.00.00.00.0
172023-01-01 02:41:39 +020002:00:00113140.0130.0170.0126.0NaN77.00.0...74.08.072.0NaN50.00.00.00.00.0
182023-01-01 02:59:42 +020002:00:00102140.0130.0170.0126.0NaN77.00.0...74.08.072.0NaN50.00.00.00.00.0
192023-01-01 03:09:44 +020002:00:00227140.0130.0170.0126.0NaN77.00.0...74.08.072.0NaN50.00.00.00.00.0
202023-01-01 03:18:49 +020003:00:004890.0100.0160.0130.0NaN75.00.0...NaNNaN69.0NaN6NaNNaNNaNNaNNaN
212023-01-01 03:19:34 +020003:00:0041690.0100.0160.0130.0NaN75.00.0...NaNNaN69.0NaN6NaNNaNNaNNaNNaN
222023-01-01 03:31:53 +020003:00:005890.0100.0160.0130.0NaN75.00.0...NaNNaN69.0NaN6NaNNaNNaNNaNNaN
232023-01-01 03:45:54 +020003:00:004290.0100.0160.0130.0NaN75.00.0...NaNNaN69.0NaN6NaNNaNNaNNaNNaN
242023-01-01 03:44:35 +020003:00:007990.0100.0160.0130.0NaN75.00.0...NaNNaN69.0NaN6NaNNaNNaNNaNNaN
252023-01-01 03:56:43 +020003:00:004290.0100.0160.0130.0NaN75.00.0...NaNNaN69.0NaN6NaNNaNNaNNaNNaN
262023-01-01 04:08:56 +020003:00:0014090.0100.0160.0130.0NaN75.00.0...NaNNaN69.0NaN6NaNNaNNaNNaNNaN
272023-01-01 04:10:25 +020003:00:0019690.0100.0160.0130.0NaN75.00.0...NaNNaN69.0NaN6NaNNaNNaNNaNNaN
282023-01-01 04:18:58 +020004:00:001190.080.0120.0NaNNaNNaNNaN...NaNNaNNaNNaN6NaNNaNNaNNaNNaN
292023-01-01 04:19:44 +020004:00:0024290.080.0120.0NaNNaNNaNNaN...NaNNaNNaNNaN6NaNNaNNaNNaNNaN
\n", + "

30 rows × 24 columns

\n", + "
" + ], + "text/plain": [ + " creationDate hour value windspeed_avg_hour \\\n", + "0 2023-01-01 00:25:48 +0200 00:00:00 171 110.0 \n", + "1 2023-01-01 00:35:44 +0200 00:00:00 18 110.0 \n", + "2 2023-01-01 00:39:25 +0200 00:00:00 3 110.0 \n", + "3 2023-01-01 00:55:33 +0200 00:00:00 82 110.0 \n", + "4 2023-01-01 01:04:25 +0200 00:00:00 12 110.0 \n", + "5 2023-01-01 01:07:29 +0200 00:00:00 88 110.0 \n", + "6 2023-01-01 01:04:25 +0200 00:00:00 14 110.0 \n", + "7 2023-01-01 01:04:25 +0200 00:00:00 38 110.0 \n", + "8 2023-01-01 01:04:25 +0200 00:00:00 6 110.0 \n", + "9 2023-01-01 01:04:25 +0200 01:00:00 35 160.0 \n", + "10 2023-01-01 01:17:54 +0200 01:00:00 73 160.0 \n", + "11 2023-01-01 01:18:01 +0200 01:00:00 62 160.0 \n", + "12 2023-01-01 01:43:15 +0200 01:00:00 98 160.0 \n", + "13 2023-01-01 01:47:16 +0200 01:00:00 136 160.0 \n", + "14 2023-01-01 01:59:14 +0200 01:00:00 33 160.0 \n", + "15 2023-01-01 02:22:32 +0200 02:00:00 130 140.0 \n", + "16 2023-01-01 02:32:07 +0200 02:00:00 122 140.0 \n", + "17 2023-01-01 02:41:39 +0200 02:00:00 113 140.0 \n", + "18 2023-01-01 02:59:42 +0200 02:00:00 102 140.0 \n", + "19 2023-01-01 03:09:44 +0200 02:00:00 227 140.0 \n", + "20 2023-01-01 03:18:49 +0200 03:00:00 48 90.0 \n", + "21 2023-01-01 03:19:34 +0200 03:00:00 416 90.0 \n", + "22 2023-01-01 03:31:53 +0200 03:00:00 58 90.0 \n", + "23 2023-01-01 03:45:54 +0200 03:00:00 42 90.0 \n", + "24 2023-01-01 03:44:35 +0200 03:00:00 79 90.0 \n", + "25 2023-01-01 03:56:43 +0200 03:00:00 42 90.0 \n", + "26 2023-01-01 04:08:56 +0200 03:00:00 140 90.0 \n", + "27 2023-01-01 04:10:25 +0200 03:00:00 196 90.0 \n", + "28 2023-01-01 04:18:58 +0200 04:00:00 11 90.0 \n", + "29 2023-01-01 04:19:44 +0200 04:00:00 242 90.0 \n", + "\n", + " windspeed_avg_10min max_wind_gust temp_celsius temp_min_6h \\\n", + "0 130.0 200.0 142.0 NaN \n", + "1 130.0 200.0 142.0 NaN \n", + "2 130.0 200.0 142.0 NaN \n", + "3 130.0 200.0 142.0 NaN \n", + "4 130.0 200.0 142.0 NaN \n", + "5 130.0 200.0 142.0 NaN \n", + "6 130.0 200.0 142.0 NaN \n", + "7 130.0 200.0 142.0 NaN \n", + "8 130.0 200.0 142.0 NaN \n", + "9 150.0 200.0 NaN NaN \n", + "10 150.0 200.0 NaN NaN \n", + "11 150.0 200.0 NaN NaN \n", + "12 150.0 200.0 NaN NaN \n", + "13 150.0 200.0 NaN NaN \n", + "14 150.0 200.0 NaN NaN \n", + "15 130.0 170.0 126.0 NaN \n", + "16 130.0 170.0 126.0 NaN \n", + "17 130.0 170.0 126.0 NaN \n", + "18 130.0 170.0 126.0 NaN \n", + "19 130.0 170.0 126.0 NaN \n", + "20 100.0 160.0 130.0 NaN \n", + "21 100.0 160.0 130.0 NaN \n", + "22 100.0 160.0 130.0 NaN \n", + "23 100.0 160.0 130.0 NaN \n", + "24 100.0 160.0 130.0 NaN \n", + "25 100.0 160.0 130.0 NaN \n", + "26 100.0 160.0 130.0 NaN \n", + "27 100.0 160.0 130.0 NaN \n", + "28 80.0 120.0 NaN NaN \n", + "29 80.0 120.0 NaN NaN \n", + "\n", + " temp_dewpoint sunshine_duration ... horizontal_visibility cloud_cover \\\n", + "0 84.0 0.0 ... 66.0 8.0 \n", + "1 84.0 0.0 ... 66.0 8.0 \n", + "2 84.0 0.0 ... 66.0 8.0 \n", + "3 84.0 0.0 ... 66.0 8.0 \n", + "4 84.0 0.0 ... 66.0 8.0 \n", + "5 84.0 0.0 ... 66.0 8.0 \n", + "6 84.0 0.0 ... 66.0 8.0 \n", + "7 84.0 0.0 ... 66.0 8.0 \n", + "8 84.0 0.0 ... 66.0 8.0 \n", + "9 NaN NaN ... NaN NaN \n", + "10 NaN NaN ... NaN NaN \n", + "11 NaN NaN ... NaN NaN \n", + "12 NaN NaN ... NaN NaN \n", + "13 NaN NaN ... NaN NaN \n", + "14 NaN NaN ... NaN NaN \n", + "15 77.0 0.0 ... 74.0 8.0 \n", + "16 77.0 0.0 ... 74.0 8.0 \n", + "17 77.0 0.0 ... 74.0 8.0 \n", + "18 77.0 0.0 ... 74.0 8.0 \n", + "19 77.0 0.0 ... 74.0 8.0 \n", + "20 75.0 0.0 ... NaN NaN \n", + "21 75.0 0.0 ... NaN NaN \n", + "22 75.0 0.0 ... NaN NaN \n", + "23 75.0 0.0 ... NaN NaN \n", + "24 75.0 0.0 ... NaN NaN \n", + "25 75.0 0.0 ... NaN NaN \n", + "26 75.0 0.0 ... NaN NaN \n", + "27 75.0 0.0 ... NaN NaN \n", + "28 NaN NaN ... NaN NaN \n", + "29 NaN NaN ... NaN NaN \n", + "\n", + " relative_humidity weather_code indicator_present_weather_code fog \\\n", + "0 68.0 NaN 5 0.0 \n", + "1 68.0 NaN 5 0.0 \n", + "2 68.0 NaN 5 0.0 \n", + "3 68.0 NaN 5 0.0 \n", + "4 68.0 NaN 5 0.0 \n", + "5 68.0 NaN 5 0.0 \n", + "6 68.0 NaN 5 0.0 \n", + "7 68.0 NaN 5 0.0 \n", + "8 68.0 NaN 5 0.0 \n", + "9 NaN NaN 6 NaN \n", + "10 NaN NaN 6 NaN \n", + "11 NaN NaN 6 NaN \n", + "12 NaN NaN 6 NaN \n", + "13 NaN NaN 6 NaN \n", + "14 NaN NaN 6 NaN \n", + "15 72.0 NaN 5 0.0 \n", + "16 72.0 NaN 5 0.0 \n", + "17 72.0 NaN 5 0.0 \n", + "18 72.0 NaN 5 0.0 \n", + "19 72.0 NaN 5 0.0 \n", + "20 69.0 NaN 6 NaN \n", + "21 69.0 NaN 6 NaN \n", + "22 69.0 NaN 6 NaN \n", + "23 69.0 NaN 6 NaN \n", + "24 69.0 NaN 6 NaN \n", + "25 69.0 NaN 6 NaN \n", + "26 69.0 NaN 6 NaN \n", + "27 69.0 NaN 6 NaN \n", + "28 NaN NaN 6 NaN \n", + "29 NaN NaN 6 NaN \n", + "\n", + " rain snow thunder ice_formation \n", + "0 0.0 0.0 0.0 0.0 \n", + "1 0.0 0.0 0.0 0.0 \n", + "2 0.0 0.0 0.0 0.0 \n", + "3 0.0 0.0 0.0 0.0 \n", + "4 0.0 0.0 0.0 0.0 \n", + "5 0.0 0.0 0.0 0.0 \n", + "6 0.0 0.0 0.0 0.0 \n", + "7 0.0 0.0 0.0 0.0 \n", + "8 0.0 0.0 0.0 0.0 \n", + "9 NaN NaN NaN NaN \n", + "10 NaN NaN NaN NaN \n", + "11 NaN NaN NaN NaN \n", + "12 NaN NaN NaN NaN \n", + "13 NaN NaN NaN NaN \n", + "14 NaN NaN NaN NaN \n", + "15 0.0 0.0 0.0 0.0 \n", + "16 0.0 0.0 0.0 0.0 \n", + "17 0.0 0.0 0.0 0.0 \n", + "18 0.0 0.0 0.0 0.0 \n", + "19 0.0 0.0 0.0 0.0 \n", + "20 NaN NaN NaN NaN \n", + "21 NaN NaN NaN NaN \n", + "22 NaN NaN NaN NaN \n", + "23 NaN NaN NaN NaN \n", + "24 NaN NaN NaN NaN \n", + "25 NaN NaN NaN NaN \n", + "26 NaN NaN NaN NaN \n", + "27 NaN NaN NaN NaN \n", + "28 NaN NaN NaN NaN \n", + "29 NaN NaN NaN NaN \n", + "\n", + "[30 rows x 24 columns]" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "display(weather_steps.iloc[:30])" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.13" + }, + "orig_nbformat": 4 + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/combine_data_.py b/combine_data_.py index fef99445..a49ea273 100644 --- a/combine_data_.py +++ b/combine_data_.py @@ -75,20 +75,6 @@ def create_weather_steps(dir_weather: str, dir_steps: str): New_weather = weather_steps.iloc[:, 13:35] New_weather_steps = pd.concat([New_steps, New_weather], axis=1) - ##Define groups - #New_weather_steps['group'] = (New_weather_steps['hour'] != New_weather_steps['hour'].shift()).cumsum() - - ##sum the steps per group - #New_weather_steps_ = New_weather_steps.groupby(['group', 'hour'])['value'].sum().reset_index(drop=True) - - ##replace steps for sum of the steps - #for i, j in zip(range(len(New_weather_steps)), New_weather_steps['group']): - # New_weather_steps.at[i, 'value'] = New_weather_steps_[j - 1] - - ##drop duplicates and column 'group' - #New_weather_steps = New_weather_steps.drop('group', axis=1) - #New_weather_steps = New_weather_steps.drop_duplicates() - return(New_weather_steps) if __name__ == '__main__': From b9f61e335e9dea7a4f1191278844a1b1f29871f5 Mon Sep 17 00:00:00 2001 From: IreneThoma <113102250+IreneThoma@users.noreply.github.com> Date: Sat, 10 Jun 2023 11:43:46 +0200 Subject: [PATCH 07/12] Add files via upload --- Missing_data/EDA.ipynb | 663 +++++++++++++++++++++++++ Missing_data/apply_kalman_filter.ipynb | 471 ++++++++++++++++++ 2 files changed, 1134 insertions(+) create mode 100644 Missing_data/EDA.ipynb create mode 100644 Missing_data/apply_kalman_filter.ipynb diff --git a/Missing_data/EDA.ipynb b/Missing_data/EDA.ipynb new file mode 100644 index 00000000..8c0a6aa4 --- /dev/null +++ b/Missing_data/EDA.ipynb @@ -0,0 +1,663 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
startstepsdirection_windwindspeed_avg_hourwindspeed_avg_10minmax_wind_gusttemp_celsiustemp_min_6htemp_dewpointsunshine_duration...cloud_coverrelative_humidityweather_codeindicator_present_weather_codefograinsnowthunderice_formationint_steps
02023-01-01 00:00:000.000000220.0110.0130.0200.0142.0NaN84.00.0...8.068.0NaN50.00.00.00.00.00
12023-01-01 00:10:0097.054054220.0110.0130.0200.0142.0NaN84.00.0...8.068.0NaN50.00.00.00.00.097
22023-01-01 00:20:0094.945946220.0110.0130.0200.0142.0NaN84.00.0...8.068.0NaN50.00.00.00.00.094
32023-01-01 00:30:000.000000220.0110.0130.0200.0142.0NaN84.00.0...8.068.0NaN50.00.00.00.00.00
42023-01-01 00:40:0046.876667220.0110.0130.0200.0142.0NaN84.00.0...8.068.0NaN50.00.00.00.00.046
..................................................................
224602023-06-05 23:20:000.00000010.060.060.080.0NaNNaNNaNNaN...NaNNaNNaN6NaNNaNNaNNaNNaN0
224612023-06-05 23:30:000.00000010.060.060.080.0NaNNaNNaNNaN...NaNNaNNaN6NaNNaNNaNNaNNaN0
224622023-06-05 23:40:000.00000010.060.060.080.0NaNNaNNaNNaN...NaNNaNNaN6NaNNaNNaNNaNNaN0
224632023-06-05 23:50:000.00000010.060.060.080.0NaNNaNNaNNaN...NaNNaNNaN6NaNNaNNaNNaNNaN0
224642023-06-06 00:00:000.000000360.020.020.030.095.0NaN82.00.0...NaN91.0NaN6NaNNaNNaNNaNNaN0
\n", + "

22465 rows × 25 columns

\n", + "
" + ], + "text/plain": [ + " start steps direction_wind windspeed_avg_hour \\\n", + "0 2023-01-01 00:00:00 0.000000 220.0 110.0 \n", + "1 2023-01-01 00:10:00 97.054054 220.0 110.0 \n", + "2 2023-01-01 00:20:00 94.945946 220.0 110.0 \n", + "3 2023-01-01 00:30:00 0.000000 220.0 110.0 \n", + "4 2023-01-01 00:40:00 46.876667 220.0 110.0 \n", + "... ... ... ... ... \n", + "22460 2023-06-05 23:20:00 0.000000 10.0 60.0 \n", + "22461 2023-06-05 23:30:00 0.000000 10.0 60.0 \n", + "22462 2023-06-05 23:40:00 0.000000 10.0 60.0 \n", + "22463 2023-06-05 23:50:00 0.000000 10.0 60.0 \n", + "22464 2023-06-06 00:00:00 0.000000 360.0 20.0 \n", + "\n", + " windspeed_avg_10min max_wind_gust temp_celsius temp_min_6h \\\n", + "0 130.0 200.0 142.0 NaN \n", + "1 130.0 200.0 142.0 NaN \n", + "2 130.0 200.0 142.0 NaN \n", + "3 130.0 200.0 142.0 NaN \n", + "4 130.0 200.0 142.0 NaN \n", + "... ... ... ... ... \n", + "22460 60.0 80.0 NaN NaN \n", + "22461 60.0 80.0 NaN NaN \n", + "22462 60.0 80.0 NaN NaN \n", + "22463 60.0 80.0 NaN NaN \n", + "22464 20.0 30.0 95.0 NaN \n", + "\n", + " temp_dewpoint sunshine_duration ... cloud_cover relative_humidity \\\n", + "0 84.0 0.0 ... 8.0 68.0 \n", + "1 84.0 0.0 ... 8.0 68.0 \n", + "2 84.0 0.0 ... 8.0 68.0 \n", + "3 84.0 0.0 ... 8.0 68.0 \n", + "4 84.0 0.0 ... 8.0 68.0 \n", + "... ... ... ... ... ... \n", + "22460 NaN NaN ... NaN NaN \n", + "22461 NaN NaN ... NaN NaN \n", + "22462 NaN NaN ... NaN NaN \n", + "22463 NaN NaN ... NaN NaN \n", + "22464 82.0 0.0 ... NaN 91.0 \n", + "\n", + " weather_code indicator_present_weather_code fog rain snow thunder \\\n", + "0 NaN 5 0.0 0.0 0.0 0.0 \n", + "1 NaN 5 0.0 0.0 0.0 0.0 \n", + "2 NaN 5 0.0 0.0 0.0 0.0 \n", + "3 NaN 5 0.0 0.0 0.0 0.0 \n", + "4 NaN 5 0.0 0.0 0.0 0.0 \n", + "... ... ... ... ... ... ... \n", + "22460 NaN 6 NaN NaN NaN NaN \n", + "22461 NaN 6 NaN NaN NaN NaN \n", + "22462 NaN 6 NaN NaN NaN NaN \n", + "22463 NaN 6 NaN NaN NaN NaN \n", + "22464 NaN 6 NaN NaN NaN NaN \n", + "\n", + " ice_formation int_steps \n", + "0 0.0 0 \n", + "1 0.0 97 \n", + "2 0.0 94 \n", + "3 0.0 0 \n", + "4 0.0 46 \n", + "... ... ... \n", + "22460 NaN 0 \n", + "22461 NaN 0 \n", + "22462 NaN 0 \n", + "22463 NaN 0 \n", + "22464 NaN 0 \n", + "\n", + "[22465 rows x 25 columns]" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import pandas as pd\n", + "\n", + "#Create usefull dataframe\n", + "weather_steps = pd.read_csv(\"steps_weather_combined.csv\")\n", + "New_steps = weather_steps[['start', 'steps']]\n", + "New_weather = weather_steps.iloc[:, 7:35]\n", + "New_weather_steps = pd.concat([New_steps, New_weather], axis=1)\n", + "\n", + "#Create new column with steps as integers\n", + "New_weather_steps[\"int_steps\"] = New_weather_steps[\"steps\"].astype(int)\n", + "\n", + "display(New_weather_steps)" + ] + }, + { + "cell_type": "code", + "execution_count": 89, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "start 0\n", + "steps 0\n", + "direction_wind 534\n", + "windspeed_avg_hour 534\n", + "windspeed_avg_10min 534\n", + "max_wind_gust 534\n", + "temp_celsius 6432\n", + "temp_min_6h 19723\n", + "temp_dewpoint 6432\n", + "sunshine_duration 7326\n", + "glob_radiation 7326\n", + "precipitation_duration 6834\n", + "precipitation_amount_hourly 6834\n", + "air_pressure 11215\n", + "horizontal_visibility 10813\n", + "cloud_cover 13123\n", + "relative_humidity 6432\n", + "weather_code 17977\n", + "indicator_present_weather_code 0\n", + "fog 10813\n", + "rain 10813\n", + "snow 10813\n", + "thunder 10813\n", + "ice_formation 10813\n", + "int_steps 0\n", + "dtype: int64\n" + ] + } + ], + "source": [ + "print(New_weather_steps.isna().sum())" + ] + }, + { + "cell_type": "code", + "execution_count": 90, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "import matplotlib.pyplot as plt\n", + "import numpy as np\n", + "\n", + "fig, ax = plt.subplots()\n", + "\n", + "data = New_weather_steps['int_steps']\n", + "bin_width = 1\n", + "\n", + "# Calculate the bin edges\n", + "bin_edges = np.arange(min(data), max(data) + bin_width, bin_width)\n", + "\n", + "ax.hist(data, bins=bin_edges, edgecolor='black')\n", + "\n", + "# Set x-axis and y-axis labels\n", + "ax.set_xlabel('Number of steps')\n", + "ax.set_ylabel('Frequency')\n", + "\n", + "# Set the title of the plot\n", + "ax.set_title('The steps frequency')\n", + "ax.set_xlim(0, 10)\n", + "ax.set_ylim(0, 100)\n", + "\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 92, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "21304\n", + "19\n" + ] + } + ], + "source": [ + "#frequency of number of steps\n", + "print(len(New_weather_steps[New_weather_steps['steps']<=0]))\n", + "print(len(New_weather_steps[New_weather_steps['steps']<=600])- len(New_weather_steps[New_weather_steps['steps']<=500]))" + ] + }, + { + "cell_type": "code", + "execution_count": 96, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "#Heel vaag. Eerst deed hij het wel goed (degene in overleaf), maar nu geeft hij een hele gekke grafiek\n", + "\n", + "dates = New_weather_steps['start']\n", + "values = New_weather_steps['steps']\n", + "\n", + "fig, ax = plt.subplots()\n", + "ax.plot(dates, values)\n", + "\n", + "# Set the number of desired ticks\n", + "num_ticks = 50\n", + "\n", + "# Calculate the step size to evenly distribute the ticks\n", + "step = len(dates) // (num_ticks - 1)\n", + "\n", + "ax.set_xlabel('Date')\n", + "ax.set_ylabel('Number of steps')\n", + "ax.set_title('the number of steps over time')\n", + "\n", + "\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 94, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "# Convert 'startDate' column to datetime objects\n", + "New_weather_steps['start'] = pd.to_datetime(New_weather_steps['start'])\n", + "\n", + "dates = New_weather_steps['start']\n", + "values = New_weather_steps['temp_celsius']\n", + "\n", + "fig, ax = plt.subplots()\n", + "ax.plot(dates, values)\n", + "\n", + "# Set the number of desired ticks\n", + "num_ticks = 5\n", + "\n", + "# Calculate the step size to evenly distribute the ticks\n", + "step = len(dates) // (num_ticks - 1)\n", + "\n", + "ax.set_xlabel('Date')\n", + "ax.set_ylabel('Temperature')\n", + "ax.set_title('The temperature over time')\n", + "\n", + "\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 95, + "metadata": {}, + "outputs": [], + "source": [ + "#Ik dacht misschien iets met pearson's correlation test, dus deze functie had ik uit de Python3Code gehaald. \n", + "#Hij moet nog aangepast worden op onze set\n", + "from scipy.stats import pearsonr\n", + "from operator import itemgetter\n", + "import numpy as np\n", + "\n", + "def pearson_selection(max_features, X_train, y_train):\n", + " correlations = []\n", + " full_columns_and_corr = []\n", + " abs_columns_and_corr = []\n", + "\n", + " # Compute the absolute correlations per column.\n", + " for i in range(0, len(X_train.columns)):\n", + " corr, p = pearsonr(X_train[X_train.columns[i]], y_train)\n", + " correlations.append(abs(corr))\n", + " if np.isfinite(corr):\n", + " full_columns_and_corr.append((X_train.columns[i], corr))\n", + " abs_columns_and_corr.append((X_train.columns[i], abs(corr)))\n", + "\n", + " sorted_attributes = sorted(abs_columns_and_corr,key=itemgetter(1), reverse=True)\n", + " res_list = [x[0] for x in sorted_attributes[0:max_features]]\n", + "\n", + " # And return the most correlated ones.\n", + " return res_list, sorted(full_columns_and_corr,key=itemgetter(1), reverse=True)" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "New_weather_steps.to_csv('New_weather_steps.csv')" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.13" + }, + "orig_nbformat": 4 + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/Missing_data/apply_kalman_filter.ipynb b/Missing_data/apply_kalman_filter.ipynb new file mode 100644 index 00000000..28b64589 --- /dev/null +++ b/Missing_data/apply_kalman_filter.ipynb @@ -0,0 +1,471 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [], + "source": [ + "import pandas as pd\n", + "import numpy as np\n", + "from pykalman import KalmanFilter" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": {}, + "outputs": [], + "source": [ + "New_weather_steps = pd.read_csv(\"New_weather_steps.csv\")\n", + "New_weather_steps = New_weather_steps.drop(\"Unnamed: 0\",axis=1)" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [], + "source": [ + "# Implements the Kalman filter for single columns.\n", + "def apply_kalman_filter(data_table, col):\n", + " # Initialize the Kalman filter with the trivial transition and observation matrices.\n", + " kf = KalmanFilter(transition_matrices=[[1]], observation_matrices=[[1]])\n", + "\n", + " numpy_array_state = data_table[col].values\n", + " numpy_array_state = numpy_array_state.astype(np.float32)\n", + " numpy_matrix_state_with_mask = np.ma.masked_invalid(numpy_array_state)\n", + "\n", + " # Find the best other parameters based on the data (e.g. Q)\n", + " kf = kf.em(numpy_matrix_state_with_mask, n_iter=5)\n", + "\n", + " # And apply the filter.\n", + " (new_data, filtered_state_covariances) = kf.filter(numpy_matrix_state_with_mask)\n", + "\n", + " data_table[col + '_kalman'] = new_data\n", + " return(data_table)\n" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
startstepsdirection_windwindspeed_avg_hourwindspeed_avg_10minmax_wind_gusttemp_celsiustemp_min_6htemp_dewpointsunshine_duration...relative_humidityweather_codeindicator_present_weather_codefograinsnowthunderice_formationint_stepstemp_celsius_kalman
02023-01-01 00:00:000.000000220.0110.0130.0200.0142.0NaN84.00.0...68.0NaN50.00.00.00.00.0097.229469
12023-01-01 00:10:0097.054054220.0110.0130.0200.0142.0NaN84.00.0...68.0NaN50.00.00.00.00.097130.315610
22023-01-01 00:20:0094.945946220.0110.0130.0200.0142.0NaN84.00.0...68.0NaN50.00.00.00.00.094139.429072
32023-01-01 00:30:000.000000220.0110.0130.0200.0142.0NaN84.00.0...68.0NaN50.00.00.00.00.00141.439368
42023-01-01 00:40:0046.876667220.0110.0130.0200.0142.0NaN84.00.0...68.0NaN50.00.00.00.00.046141.877798
..................................................................
224602023-06-05 23:20:000.00000010.060.060.080.0NaNNaNNaNNaN...NaNNaN6NaNNaNNaNNaNNaN0125.998606
224612023-06-05 23:30:000.00000010.060.060.080.0NaNNaNNaNNaN...NaNNaN6NaNNaNNaNNaNNaN0125.998606
224622023-06-05 23:40:000.00000010.060.060.080.0NaNNaNNaNNaN...NaNNaN6NaNNaNNaNNaNNaN0125.998606
224632023-06-05 23:50:000.00000010.060.060.080.0NaNNaNNaNNaN...NaNNaN6NaNNaNNaNNaNNaN0125.998606
224642023-06-06 00:00:000.000000360.020.020.030.095.0NaN82.00.0...91.0NaN6NaNNaNNaNNaNNaN096.447003
\n", + "

22465 rows × 26 columns

\n", + "
" + ], + "text/plain": [ + " start steps direction_wind windspeed_avg_hour \\\n", + "0 2023-01-01 00:00:00 0.000000 220.0 110.0 \n", + "1 2023-01-01 00:10:00 97.054054 220.0 110.0 \n", + "2 2023-01-01 00:20:00 94.945946 220.0 110.0 \n", + "3 2023-01-01 00:30:00 0.000000 220.0 110.0 \n", + "4 2023-01-01 00:40:00 46.876667 220.0 110.0 \n", + "... ... ... ... ... \n", + "22460 2023-06-05 23:20:00 0.000000 10.0 60.0 \n", + "22461 2023-06-05 23:30:00 0.000000 10.0 60.0 \n", + "22462 2023-06-05 23:40:00 0.000000 10.0 60.0 \n", + "22463 2023-06-05 23:50:00 0.000000 10.0 60.0 \n", + "22464 2023-06-06 00:00:00 0.000000 360.0 20.0 \n", + "\n", + " windspeed_avg_10min max_wind_gust temp_celsius temp_min_6h \\\n", + "0 130.0 200.0 142.0 NaN \n", + "1 130.0 200.0 142.0 NaN \n", + "2 130.0 200.0 142.0 NaN \n", + "3 130.0 200.0 142.0 NaN \n", + "4 130.0 200.0 142.0 NaN \n", + "... ... ... ... ... \n", + "22460 60.0 80.0 NaN NaN \n", + "22461 60.0 80.0 NaN NaN \n", + "22462 60.0 80.0 NaN NaN \n", + "22463 60.0 80.0 NaN NaN \n", + "22464 20.0 30.0 95.0 NaN \n", + "\n", + " temp_dewpoint sunshine_duration ... relative_humidity weather_code \\\n", + "0 84.0 0.0 ... 68.0 NaN \n", + "1 84.0 0.0 ... 68.0 NaN \n", + "2 84.0 0.0 ... 68.0 NaN \n", + "3 84.0 0.0 ... 68.0 NaN \n", + "4 84.0 0.0 ... 68.0 NaN \n", + "... ... ... ... ... ... \n", + "22460 NaN NaN ... NaN NaN \n", + "22461 NaN NaN ... NaN NaN \n", + "22462 NaN NaN ... NaN NaN \n", + "22463 NaN NaN ... NaN NaN \n", + "22464 82.0 0.0 ... 91.0 NaN \n", + "\n", + " indicator_present_weather_code fog rain snow thunder \\\n", + "0 5 0.0 0.0 0.0 0.0 \n", + "1 5 0.0 0.0 0.0 0.0 \n", + "2 5 0.0 0.0 0.0 0.0 \n", + "3 5 0.0 0.0 0.0 0.0 \n", + "4 5 0.0 0.0 0.0 0.0 \n", + "... ... ... ... ... ... \n", + "22460 6 NaN NaN NaN NaN \n", + "22461 6 NaN NaN NaN NaN \n", + "22462 6 NaN NaN NaN NaN \n", + "22463 6 NaN NaN NaN NaN \n", + "22464 6 NaN NaN NaN NaN \n", + "\n", + " ice_formation int_steps temp_celsius_kalman \n", + "0 0.0 0 97.229469 \n", + "1 0.0 97 130.315610 \n", + "2 0.0 94 139.429072 \n", + "3 0.0 0 141.439368 \n", + "4 0.0 46 141.877798 \n", + "... ... ... ... \n", + "22460 NaN 0 125.998606 \n", + "22461 NaN 0 125.998606 \n", + "22462 NaN 0 125.998606 \n", + "22463 NaN 0 125.998606 \n", + "22464 NaN 0 96.447003 \n", + "\n", + "[22465 rows x 26 columns]" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "data_table = New_weather_steps\n", + "col = \"temp_celsius\"\n", + "data_table = apply_kalman_filter(data_table, col)\n", + "display(data_table)" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.13" + }, + "orig_nbformat": 4 + }, + "nbformat": 4, + "nbformat_minor": 2 +} From f9829f2bc20849cd07b30628bf6671a4d897afe3 Mon Sep 17 00:00:00 2001 From: IreneThoma <113102250+IreneThoma@users.noreply.github.com> Date: Sun, 11 Jun 2023 12:38:58 +0200 Subject: [PATCH 08/12] Rename missing_data.ipynb to missing_data_OLD.ipynb --- Missing_data/{missing_data.ipynb => missing_data_OLD.ipynb} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename Missing_data/{missing_data.ipynb => missing_data_OLD.ipynb} (100%) diff --git a/Missing_data/missing_data.ipynb b/Missing_data/missing_data_OLD.ipynb similarity index 100% rename from Missing_data/missing_data.ipynb rename to Missing_data/missing_data_OLD.ipynb From 855d23c5729b228ae176f73366664352e98639f1 Mon Sep 17 00:00:00 2001 From: IreneThoma <113102250+IreneThoma@users.noreply.github.com> Date: Sun, 11 Jun 2023 12:40:05 +0200 Subject: [PATCH 09/12] Add files via upload --- Missing_data/apply_interpolation.ipynb | 947 +++++++++++++++++++++++++ 1 file changed, 947 insertions(+) create mode 100644 Missing_data/apply_interpolation.ipynb diff --git a/Missing_data/apply_interpolation.ipynb b/Missing_data/apply_interpolation.ipynb new file mode 100644 index 00000000..f616a7be --- /dev/null +++ b/Missing_data/apply_interpolation.ipynb @@ -0,0 +1,947 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "import pandas as pd\n", + "import numpy as np" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
startstepsdirection_windwindspeed_avg_hourwindspeed_avg_10minmax_wind_gusttemp_celsiustemp_min_6htemp_dewpointsunshine_duration...cloud_coverrelative_humidityweather_codeindicator_present_weather_codefograinsnowthunderice_formationint_steps
02023-01-01 00:00:000.000000220.0110.0130.0200.0142.0NaN84.00.0...8.068.0NaN50.00.00.00.00.00
12023-01-01 00:10:0097.054054220.0110.0130.0200.0142.0NaN84.00.0...8.068.0NaN50.00.00.00.00.097
22023-01-01 00:20:0094.945946220.0110.0130.0200.0142.0NaN84.00.0...8.068.0NaN50.00.00.00.00.094
32023-01-01 00:30:000.000000220.0110.0130.0200.0142.0NaN84.00.0...8.068.0NaN50.00.00.00.00.00
42023-01-01 00:40:0046.876667220.0110.0130.0200.0142.0NaN84.00.0...8.068.0NaN50.00.00.00.00.046
..................................................................
224602023-06-05 23:20:000.00000010.060.060.080.0NaNNaNNaNNaN...NaNNaNNaN6NaNNaNNaNNaNNaN0
224612023-06-05 23:30:000.00000010.060.060.080.0NaNNaNNaNNaN...NaNNaNNaN6NaNNaNNaNNaNNaN0
224622023-06-05 23:40:000.00000010.060.060.080.0NaNNaNNaNNaN...NaNNaNNaN6NaNNaNNaNNaNNaN0
224632023-06-05 23:50:000.00000010.060.060.080.0NaNNaNNaNNaN...NaNNaNNaN6NaNNaNNaNNaNNaN0
224642023-06-06 00:00:000.000000360.020.020.030.095.0NaN82.00.0...NaN91.0NaN6NaNNaNNaNNaNNaN0
\n", + "

22465 rows × 25 columns

\n", + "
" + ], + "text/plain": [ + " start steps direction_wind windspeed_avg_hour \\\n", + "0 2023-01-01 00:00:00 0.000000 220.0 110.0 \n", + "1 2023-01-01 00:10:00 97.054054 220.0 110.0 \n", + "2 2023-01-01 00:20:00 94.945946 220.0 110.0 \n", + "3 2023-01-01 00:30:00 0.000000 220.0 110.0 \n", + "4 2023-01-01 00:40:00 46.876667 220.0 110.0 \n", + "... ... ... ... ... \n", + "22460 2023-06-05 23:20:00 0.000000 10.0 60.0 \n", + "22461 2023-06-05 23:30:00 0.000000 10.0 60.0 \n", + "22462 2023-06-05 23:40:00 0.000000 10.0 60.0 \n", + "22463 2023-06-05 23:50:00 0.000000 10.0 60.0 \n", + "22464 2023-06-06 00:00:00 0.000000 360.0 20.0 \n", + "\n", + " windspeed_avg_10min max_wind_gust temp_celsius temp_min_6h \\\n", + "0 130.0 200.0 142.0 NaN \n", + "1 130.0 200.0 142.0 NaN \n", + "2 130.0 200.0 142.0 NaN \n", + "3 130.0 200.0 142.0 NaN \n", + "4 130.0 200.0 142.0 NaN \n", + "... ... ... ... ... \n", + "22460 60.0 80.0 NaN NaN \n", + "22461 60.0 80.0 NaN NaN \n", + "22462 60.0 80.0 NaN NaN \n", + "22463 60.0 80.0 NaN NaN \n", + "22464 20.0 30.0 95.0 NaN \n", + "\n", + " temp_dewpoint sunshine_duration ... cloud_cover relative_humidity \\\n", + "0 84.0 0.0 ... 8.0 68.0 \n", + "1 84.0 0.0 ... 8.0 68.0 \n", + "2 84.0 0.0 ... 8.0 68.0 \n", + "3 84.0 0.0 ... 8.0 68.0 \n", + "4 84.0 0.0 ... 8.0 68.0 \n", + "... ... ... ... ... ... \n", + "22460 NaN NaN ... NaN NaN \n", + "22461 NaN NaN ... NaN NaN \n", + "22462 NaN NaN ... NaN NaN \n", + "22463 NaN NaN ... NaN NaN \n", + "22464 82.0 0.0 ... NaN 91.0 \n", + "\n", + " weather_code indicator_present_weather_code fog rain snow thunder \\\n", + "0 NaN 5 0.0 0.0 0.0 0.0 \n", + "1 NaN 5 0.0 0.0 0.0 0.0 \n", + "2 NaN 5 0.0 0.0 0.0 0.0 \n", + "3 NaN 5 0.0 0.0 0.0 0.0 \n", + "4 NaN 5 0.0 0.0 0.0 0.0 \n", + "... ... ... ... ... ... ... \n", + "22460 NaN 6 NaN NaN NaN NaN \n", + "22461 NaN 6 NaN NaN NaN NaN \n", + "22462 NaN 6 NaN NaN NaN NaN \n", + "22463 NaN 6 NaN NaN NaN NaN \n", + "22464 NaN 6 NaN NaN NaN NaN \n", + "\n", + " ice_formation int_steps \n", + "0 0.0 0 \n", + "1 0.0 97 \n", + "2 0.0 94 \n", + "3 0.0 0 \n", + "4 0.0 46 \n", + "... ... ... \n", + "22460 NaN 0 \n", + "22461 NaN 0 \n", + "22462 NaN 0 \n", + "22463 NaN 0 \n", + "22464 NaN 0 \n", + "\n", + "[22465 rows x 25 columns]" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "New_weather_steps = pd.read_csv(\"New_weather_steps.csv\")\n", + "New_weather_steps = New_weather_steps.drop(\"Unnamed: 0\",axis=1)\n", + "display(New_weather_steps)" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
startstepsdirection_windwindspeed_avg_hourwindspeed_avg_10minmax_wind_gusttemp_celsiustemp_min_6htemp_dewpointsunshine_duration...cloud_coverrelative_humidityweather_codeindicator_present_weather_codefograinsnowthunderice_formationint_steps
02023-01-01 00:00:000.000000220.0110.0130.0200.0142.000000NaN84.00.0...8.068.0NaN50.00.00.00.00.00
12023-01-01 00:10:0097.054054220.0110.0130.0200.0142.000000NaN84.00.0...8.068.0NaN50.00.00.00.00.097
22023-01-01 00:20:0094.945946220.0110.0130.0200.0142.000000NaN84.00.0...8.068.0NaN50.00.00.00.00.094
32023-01-01 00:30:000.000000220.0110.0130.0200.0142.000000NaN84.00.0...8.068.0NaN50.00.00.00.00.00
42023-01-01 00:40:0046.876667220.0110.0130.0200.0142.000000NaN84.00.0...8.068.0NaN50.00.00.00.00.046
52023-01-01 00:50:00126.326232220.0110.0130.0200.0142.000000NaN84.00.0...8.068.0NaN50.00.00.00.00.0126
62023-01-01 01:00:00128.406776220.0160.0150.0200.0139.714286NaNNaNNaN...NaNNaNNaN6NaNNaNNaNNaNNaN128
72023-01-01 01:10:0026.821821220.0160.0150.0200.0137.428571NaNNaNNaN...NaNNaNNaN6NaNNaNNaNNaNNaN26
82023-01-01 01:20:000.000000220.0160.0150.0200.0135.142857NaNNaNNaN...NaNNaNNaN6NaNNaNNaNNaNNaN0
92023-01-01 01:30:0094.514644220.0160.0150.0200.0132.857143NaNNaNNaN...NaNNaNNaN6NaNNaNNaNNaNNaN94
102023-01-01 01:40:0083.035725220.0160.0150.0200.0130.571429NaNNaNNaN...NaNNaNNaN6NaNNaNNaNNaNNaN83
112023-01-01 01:50:001.945755220.0160.0150.0200.0128.285714NaNNaNNaN...NaNNaNNaN6NaNNaNNaNNaNNaN1
122023-01-01 02:00:000.000000210.0140.0130.0170.0126.000000NaN77.00.0...8.072.0NaN50.00.00.00.00.00
132023-01-01 02:10:00117.962963210.0140.0130.0170.0126.000000NaN77.00.0...8.072.0NaN50.00.00.00.00.0117
142023-01-01 02:20:00134.037037210.0140.0130.0170.0126.000000NaN77.00.0...8.072.0NaN50.00.00.00.00.0134
\n", + "

15 rows × 25 columns

\n", + "
" + ], + "text/plain": [ + " start steps direction_wind windspeed_avg_hour \\\n", + "0 2023-01-01 00:00:00 0.000000 220.0 110.0 \n", + "1 2023-01-01 00:10:00 97.054054 220.0 110.0 \n", + "2 2023-01-01 00:20:00 94.945946 220.0 110.0 \n", + "3 2023-01-01 00:30:00 0.000000 220.0 110.0 \n", + "4 2023-01-01 00:40:00 46.876667 220.0 110.0 \n", + "5 2023-01-01 00:50:00 126.326232 220.0 110.0 \n", + "6 2023-01-01 01:00:00 128.406776 220.0 160.0 \n", + "7 2023-01-01 01:10:00 26.821821 220.0 160.0 \n", + "8 2023-01-01 01:20:00 0.000000 220.0 160.0 \n", + "9 2023-01-01 01:30:00 94.514644 220.0 160.0 \n", + "10 2023-01-01 01:40:00 83.035725 220.0 160.0 \n", + "11 2023-01-01 01:50:00 1.945755 220.0 160.0 \n", + "12 2023-01-01 02:00:00 0.000000 210.0 140.0 \n", + "13 2023-01-01 02:10:00 117.962963 210.0 140.0 \n", + "14 2023-01-01 02:20:00 134.037037 210.0 140.0 \n", + "\n", + " windspeed_avg_10min max_wind_gust temp_celsius temp_min_6h \\\n", + "0 130.0 200.0 142.000000 NaN \n", + "1 130.0 200.0 142.000000 NaN \n", + "2 130.0 200.0 142.000000 NaN \n", + "3 130.0 200.0 142.000000 NaN \n", + "4 130.0 200.0 142.000000 NaN \n", + "5 130.0 200.0 142.000000 NaN \n", + "6 150.0 200.0 139.714286 NaN \n", + "7 150.0 200.0 137.428571 NaN \n", + "8 150.0 200.0 135.142857 NaN \n", + "9 150.0 200.0 132.857143 NaN \n", + "10 150.0 200.0 130.571429 NaN \n", + "11 150.0 200.0 128.285714 NaN \n", + "12 130.0 170.0 126.000000 NaN \n", + "13 130.0 170.0 126.000000 NaN \n", + "14 130.0 170.0 126.000000 NaN \n", + "\n", + " temp_dewpoint sunshine_duration ... cloud_cover relative_humidity \\\n", + "0 84.0 0.0 ... 8.0 68.0 \n", + "1 84.0 0.0 ... 8.0 68.0 \n", + "2 84.0 0.0 ... 8.0 68.0 \n", + "3 84.0 0.0 ... 8.0 68.0 \n", + "4 84.0 0.0 ... 8.0 68.0 \n", + "5 84.0 0.0 ... 8.0 68.0 \n", + "6 NaN NaN ... NaN NaN \n", + "7 NaN NaN ... NaN NaN \n", + "8 NaN NaN ... NaN NaN \n", + "9 NaN NaN ... NaN NaN \n", + "10 NaN NaN ... NaN NaN \n", + "11 NaN NaN ... NaN NaN \n", + "12 77.0 0.0 ... 8.0 72.0 \n", + "13 77.0 0.0 ... 8.0 72.0 \n", + "14 77.0 0.0 ... 8.0 72.0 \n", + "\n", + " weather_code indicator_present_weather_code fog rain snow thunder \\\n", + "0 NaN 5 0.0 0.0 0.0 0.0 \n", + "1 NaN 5 0.0 0.0 0.0 0.0 \n", + "2 NaN 5 0.0 0.0 0.0 0.0 \n", + "3 NaN 5 0.0 0.0 0.0 0.0 \n", + "4 NaN 5 0.0 0.0 0.0 0.0 \n", + "5 NaN 5 0.0 0.0 0.0 0.0 \n", + "6 NaN 6 NaN NaN NaN NaN \n", + "7 NaN 6 NaN NaN NaN NaN \n", + "8 NaN 6 NaN NaN NaN NaN \n", + "9 NaN 6 NaN NaN NaN NaN \n", + "10 NaN 6 NaN NaN NaN NaN \n", + "11 NaN 6 NaN NaN NaN NaN \n", + "12 NaN 5 0.0 0.0 0.0 0.0 \n", + "13 NaN 5 0.0 0.0 0.0 0.0 \n", + "14 NaN 5 0.0 0.0 0.0 0.0 \n", + "\n", + " ice_formation int_steps \n", + "0 0.0 0 \n", + "1 0.0 97 \n", + "2 0.0 94 \n", + "3 0.0 0 \n", + "4 0.0 46 \n", + "5 0.0 126 \n", + "6 NaN 128 \n", + "7 NaN 26 \n", + "8 NaN 0 \n", + "9 NaN 94 \n", + "10 NaN 83 \n", + "11 NaN 1 \n", + "12 0.0 0 \n", + "13 0.0 117 \n", + "14 0.0 134 \n", + "\n", + "[15 rows x 25 columns]" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "New_weather_steps['temp_celsius'] = New_weather_steps['temp_celsius'].interpolate()\n", + "display(New_weather_steps.iloc[:15])" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.13" + }, + "orig_nbformat": 4 + }, + "nbformat": 4, + "nbformat_minor": 2 +} From d981cc256501a75c45fb804c7e6e9dc25f20f169 Mon Sep 17 00:00:00 2001 From: IreneThoma Date: Tue, 13 Jun 2023 12:27:37 +0200 Subject: [PATCH 10/12] Opslaan workspace missing values --- .gitignore | 5 + EDA.ipynb | 663 +++++++++++++++++ Missing_data/apply_interpolation.ipynb | 947 +++++++++++++++++++++++++ Missing_data/apply_kalman_filter.ipynb | 587 +++++++++++++++ 4 files changed, 2202 insertions(+) create mode 100644 EDA.ipynb create mode 100644 Missing_data/apply_interpolation.ipynb create mode 100644 Missing_data/apply_kalman_filter.ipynb diff --git a/.gitignore b/.gitignore index a0965574..be004c19 100644 --- a/.gitignore +++ b/.gitignore @@ -42,3 +42,8 @@ README.md data_used/weather.txt README.md Missing_data/weather_steps_merged.csv +Missing_data/New_weather_steps.csv +Missing_data/transformation_notgood.py +New_weather_steps.csv +Steps_weather_combined.csv +Missing_data/EDA_old.ipynb diff --git a/EDA.ipynb b/EDA.ipynb new file mode 100644 index 00000000..8c0a6aa4 --- /dev/null +++ b/EDA.ipynb @@ -0,0 +1,663 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
startstepsdirection_windwindspeed_avg_hourwindspeed_avg_10minmax_wind_gusttemp_celsiustemp_min_6htemp_dewpointsunshine_duration...cloud_coverrelative_humidityweather_codeindicator_present_weather_codefograinsnowthunderice_formationint_steps
02023-01-01 00:00:000.000000220.0110.0130.0200.0142.0NaN84.00.0...8.068.0NaN50.00.00.00.00.00
12023-01-01 00:10:0097.054054220.0110.0130.0200.0142.0NaN84.00.0...8.068.0NaN50.00.00.00.00.097
22023-01-01 00:20:0094.945946220.0110.0130.0200.0142.0NaN84.00.0...8.068.0NaN50.00.00.00.00.094
32023-01-01 00:30:000.000000220.0110.0130.0200.0142.0NaN84.00.0...8.068.0NaN50.00.00.00.00.00
42023-01-01 00:40:0046.876667220.0110.0130.0200.0142.0NaN84.00.0...8.068.0NaN50.00.00.00.00.046
..................................................................
224602023-06-05 23:20:000.00000010.060.060.080.0NaNNaNNaNNaN...NaNNaNNaN6NaNNaNNaNNaNNaN0
224612023-06-05 23:30:000.00000010.060.060.080.0NaNNaNNaNNaN...NaNNaNNaN6NaNNaNNaNNaNNaN0
224622023-06-05 23:40:000.00000010.060.060.080.0NaNNaNNaNNaN...NaNNaNNaN6NaNNaNNaNNaNNaN0
224632023-06-05 23:50:000.00000010.060.060.080.0NaNNaNNaNNaN...NaNNaNNaN6NaNNaNNaNNaNNaN0
224642023-06-06 00:00:000.000000360.020.020.030.095.0NaN82.00.0...NaN91.0NaN6NaNNaNNaNNaNNaN0
\n", + "

22465 rows × 25 columns

\n", + "
" + ], + "text/plain": [ + " start steps direction_wind windspeed_avg_hour \\\n", + "0 2023-01-01 00:00:00 0.000000 220.0 110.0 \n", + "1 2023-01-01 00:10:00 97.054054 220.0 110.0 \n", + "2 2023-01-01 00:20:00 94.945946 220.0 110.0 \n", + "3 2023-01-01 00:30:00 0.000000 220.0 110.0 \n", + "4 2023-01-01 00:40:00 46.876667 220.0 110.0 \n", + "... ... ... ... ... \n", + "22460 2023-06-05 23:20:00 0.000000 10.0 60.0 \n", + "22461 2023-06-05 23:30:00 0.000000 10.0 60.0 \n", + "22462 2023-06-05 23:40:00 0.000000 10.0 60.0 \n", + "22463 2023-06-05 23:50:00 0.000000 10.0 60.0 \n", + "22464 2023-06-06 00:00:00 0.000000 360.0 20.0 \n", + "\n", + " windspeed_avg_10min max_wind_gust temp_celsius temp_min_6h \\\n", + "0 130.0 200.0 142.0 NaN \n", + "1 130.0 200.0 142.0 NaN \n", + "2 130.0 200.0 142.0 NaN \n", + "3 130.0 200.0 142.0 NaN \n", + "4 130.0 200.0 142.0 NaN \n", + "... ... ... ... ... \n", + "22460 60.0 80.0 NaN NaN \n", + "22461 60.0 80.0 NaN NaN \n", + "22462 60.0 80.0 NaN NaN \n", + "22463 60.0 80.0 NaN NaN \n", + "22464 20.0 30.0 95.0 NaN \n", + "\n", + " temp_dewpoint sunshine_duration ... cloud_cover relative_humidity \\\n", + "0 84.0 0.0 ... 8.0 68.0 \n", + "1 84.0 0.0 ... 8.0 68.0 \n", + "2 84.0 0.0 ... 8.0 68.0 \n", + "3 84.0 0.0 ... 8.0 68.0 \n", + "4 84.0 0.0 ... 8.0 68.0 \n", + "... ... ... ... ... ... \n", + "22460 NaN NaN ... NaN NaN \n", + "22461 NaN NaN ... NaN NaN \n", + "22462 NaN NaN ... NaN NaN \n", + "22463 NaN NaN ... NaN NaN \n", + "22464 82.0 0.0 ... NaN 91.0 \n", + "\n", + " weather_code indicator_present_weather_code fog rain snow thunder \\\n", + "0 NaN 5 0.0 0.0 0.0 0.0 \n", + "1 NaN 5 0.0 0.0 0.0 0.0 \n", + "2 NaN 5 0.0 0.0 0.0 0.0 \n", + "3 NaN 5 0.0 0.0 0.0 0.0 \n", + "4 NaN 5 0.0 0.0 0.0 0.0 \n", + "... ... ... ... ... ... ... \n", + "22460 NaN 6 NaN NaN NaN NaN \n", + "22461 NaN 6 NaN NaN NaN NaN \n", + "22462 NaN 6 NaN NaN NaN NaN \n", + "22463 NaN 6 NaN NaN NaN NaN \n", + "22464 NaN 6 NaN NaN NaN NaN \n", + "\n", + " ice_formation int_steps \n", + "0 0.0 0 \n", + "1 0.0 97 \n", + "2 0.0 94 \n", + "3 0.0 0 \n", + "4 0.0 46 \n", + "... ... ... \n", + "22460 NaN 0 \n", + "22461 NaN 0 \n", + "22462 NaN 0 \n", + "22463 NaN 0 \n", + "22464 NaN 0 \n", + "\n", + "[22465 rows x 25 columns]" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import pandas as pd\n", + "\n", + "#Create usefull dataframe\n", + "weather_steps = pd.read_csv(\"steps_weather_combined.csv\")\n", + "New_steps = weather_steps[['start', 'steps']]\n", + "New_weather = weather_steps.iloc[:, 7:35]\n", + "New_weather_steps = pd.concat([New_steps, New_weather], axis=1)\n", + "\n", + "#Create new column with steps as integers\n", + "New_weather_steps[\"int_steps\"] = New_weather_steps[\"steps\"].astype(int)\n", + "\n", + "display(New_weather_steps)" + ] + }, + { + "cell_type": "code", + "execution_count": 89, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "start 0\n", + "steps 0\n", + "direction_wind 534\n", + "windspeed_avg_hour 534\n", + "windspeed_avg_10min 534\n", + "max_wind_gust 534\n", + "temp_celsius 6432\n", + "temp_min_6h 19723\n", + "temp_dewpoint 6432\n", + "sunshine_duration 7326\n", + "glob_radiation 7326\n", + "precipitation_duration 6834\n", + "precipitation_amount_hourly 6834\n", + "air_pressure 11215\n", + "horizontal_visibility 10813\n", + "cloud_cover 13123\n", + "relative_humidity 6432\n", + "weather_code 17977\n", + "indicator_present_weather_code 0\n", + "fog 10813\n", + "rain 10813\n", + "snow 10813\n", + "thunder 10813\n", + "ice_formation 10813\n", + "int_steps 0\n", + "dtype: int64\n" + ] + } + ], + "source": [ + "print(New_weather_steps.isna().sum())" + ] + }, + { + "cell_type": "code", + "execution_count": 90, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "import matplotlib.pyplot as plt\n", + "import numpy as np\n", + "\n", + "fig, ax = plt.subplots()\n", + "\n", + "data = New_weather_steps['int_steps']\n", + "bin_width = 1\n", + "\n", + "# Calculate the bin edges\n", + "bin_edges = np.arange(min(data), max(data) + bin_width, bin_width)\n", + "\n", + "ax.hist(data, bins=bin_edges, edgecolor='black')\n", + "\n", + "# Set x-axis and y-axis labels\n", + "ax.set_xlabel('Number of steps')\n", + "ax.set_ylabel('Frequency')\n", + "\n", + "# Set the title of the plot\n", + "ax.set_title('The steps frequency')\n", + "ax.set_xlim(0, 10)\n", + "ax.set_ylim(0, 100)\n", + "\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 92, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "21304\n", + "19\n" + ] + } + ], + "source": [ + "#frequency of number of steps\n", + "print(len(New_weather_steps[New_weather_steps['steps']<=0]))\n", + "print(len(New_weather_steps[New_weather_steps['steps']<=600])- len(New_weather_steps[New_weather_steps['steps']<=500]))" + ] + }, + { + "cell_type": "code", + "execution_count": 96, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "#Heel vaag. Eerst deed hij het wel goed (degene in overleaf), maar nu geeft hij een hele gekke grafiek\n", + "\n", + "dates = New_weather_steps['start']\n", + "values = New_weather_steps['steps']\n", + "\n", + "fig, ax = plt.subplots()\n", + "ax.plot(dates, values)\n", + "\n", + "# Set the number of desired ticks\n", + "num_ticks = 50\n", + "\n", + "# Calculate the step size to evenly distribute the ticks\n", + "step = len(dates) // (num_ticks - 1)\n", + "\n", + "ax.set_xlabel('Date')\n", + "ax.set_ylabel('Number of steps')\n", + "ax.set_title('the number of steps over time')\n", + "\n", + "\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 94, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYcAAAEWCAYAAACNJFuYAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/YYfK9AAAACXBIWXMAAAsTAAALEwEAmpwYAABsUElEQVR4nO2dd3gVVfrHv+9NJQ0CCb2E3ntVpAmIgIp17X1Fd22rrrvY1oZrd/dn72vHrqgIiAqISO+91wABAiEhkHrP74+Zc++ZuVNvTzif58mTe6eemTtz3nPeSowxSCQSiUQi4ol1AyQSiUQSf0jhIJFIJJIApHCQSCQSSQBSOEgkEokkACkcJBKJRBKAFA4SiUQiCUAKB0nQENEjRPRRrNshiS+I6H4iejvW7ZCEhhQOElOI6Ljw5yWik8L3K8N8rveIaHI4jxkriGg4Ee2NdTuigdG1Msb+zRj7c6zaJAkPUjhITGGMZfA/ALsBnCss+zjW7YsFpBDR94aIEiN5/GCJ13ZJIoMUDpJQSSaiD4iohIjWEVE/voKImhLRV0R0iIh2ENEdRgcgookArgTwD3VW8r3d/qpK6wsi+kg99xoi6kBE9xHRQSLaQ0RnCdvPIaIniWgxERUT0VQiqi+sH0REfxBRERGtIqLhun2fIKL5AE4AaENE1xPRBvXc24noZnXbdADTATQVZllN9TMj/YibiHYS0T+JaDWAUiJKtGqTwT3srLazSP0dzlOXDySiA0SUIGx7gXoeEJGHiCYR0TYiKiSiz/l9IaI8ImJEdCMR7Qbwq+6cZtfqUzcKx7he/U2OEtEtRNSfiFar7X1Zd9wb1Ht7lIhmElErs+uWRBDGmPyTf7Z/AHYCGKVb9giAMgDjACQAeBLAQnWdB8AyAP8CkAygDYDtAMaYHP89AJOF75b7C+ceAyARwAcAdgB4AEASgJsA7BCONwdAPoBuANIBfAXgI3VdMwCF6nV4AIxWv+cK++4G0FU9VxKA8QDaAiAAw6AIjT7q9sMB7LW5Ps026v1dCaAFgDp2bdIdOwnAVgD3q/fqTAAlADqq67cBGC1s/wWASernOwEsBNAcQAqANwBMUdflAWDqvU0HUMfg3EbX+ohwb/kxXgeQCuAs9Xf7FkBD9ToPAhimbj9BvZbO6r1+EMAfsX7+T8U/OXOQhMrvjLEfGWPVAD4E0FNd3h9KR/YYY6yCMbYdwFsALnN4XCf7z2OMzWSMVUHp8HIBPMUYqwTwKYA8IqonbP8hY2wtY6wUwEMA/qSOqK8C8KN6HV7G2CwAS6F0zJz3GGPrGGNVjLFKxtg0xtg2pjAXwE8Ahji8NjNeZIztYYyddNgmziAAGeq1VzDGfgXwA4DL1fVT+GciylSPMUVddwuABxhjexlj5VA69ot1KqRHGGOlaruC5XHGWBlj7CcApVAE0EHGWD6AeQB6C+15kjG2Qf1d/w2gl5w9RB+pQ5SEygHh8wkAqWrH0gqKuqFIWJ8ApSNwgpP9C4TPJwEcVoUU/w4onSY/xh5h+11QRtw56rkuIaJzhfVJAGYL38V9QURjATwMoAOUkX0agDUOrssK8RxO2sRpCmAPY8wrLNsFZVQOAJ8A+IOI/gLgQgDLGWO7hPN8Q0TivtUAGpm0K1j0v5X+e4bQnv8joueF9QTlWnZBEjWkcJBEij1Q1DrtHW6vTw/sdn8ntBA+twRQCeCweq4PGWM3OWkfEaVAUUtdA2AqY6ySiL6F0olpthUohSJAOI2tzuGwTZx9AFoQkUcQEC0BbAYAxth6ItoFYCyAK6AIC/E8NzDG5usPSkR5Bu2yanM42APgCXaKOjzEE1KtJIkUiwGUqEbWOkSUQETdiKi/yfYFUOwKwe7vhKuIqAsRpQF4DMCX6kzjIwDnEtEY9TypqsG4uclxkqHo5w8BqFJnEWcJ6wsANCCiusKylQDGEVF9ImoM4G82bXXTpkVQZm3/IKIk1XB9LhTVGucTKPaFoVBUcJzXATzB1TZElEtEE2zaJmJ0raHwOoD7iKir2p66RHRJmI4tcYEUDpKIoHa65wDoBcVQfBjA2wDMOpF3AHRRvVe+DWJ/J3wIxTB8AIpx9A61rXugGELvh9Lh7wFwL0zeD8ZYibrv5wCOQhmNfyes3whFp79dvZ6m6rlXQTE8/wTgM6uGumkTY6wCijAYC+U+vQrgGrUdnClQDOe/MsYOC8v/T237T0RUAsU4PdCqbbpzG11r0DDGvgHwNIBPiagYwFoo1yWJMsSYLPYjqf0Q0RwoHjQyclcicYCcOUgkEokkACkcJBKJRBKAVCtJJBKJJAA5c5BIJBJJALUiziEnJ4fl5eXFuhkSiURSo1i2bNlhxliu0bpaIRzy8vKwdOnSWDdDIpFIahRqcKQhUq0kkUgkkgCkcJBIJBJJAFI4SCQSiSQAKRwkEolEEoAUDhKJRCIJIOLCgYhaENFsIlqvli+8U13+CBHlE9FK9W+csM99RLSViDYR0ZhIt1EikUgkWqLhyloF4B7G2HK1CtUyIpqlrvsPY+w5cWMi6gKl2ldXKEVMfiaiDkIRF4lEIpFEmIjPHBhj+xljy9XPJQA2wF+hyogJAD5ljJUzxnZAqSc7INLtlEgkknjgt82H8MXScBTfC42o2hzUylK9oRQnAYDbiGg1Eb1LRNnqsmbQliXcCwNhQkQTiWgpES09dOhQJJstkUgkUeM/P2/GvV+uRnlVbJUlURMORJQBpbTi3xhjxQBeA9AWSjGX/QCeN987EMbYm4yxfoyxfrm5htHfEolEUuMY3UUp3x3rnKhREQ5ElARFMHzMGPsaABhjBYyxarXm7Vvwq47yoa3121xdJpFIJLUe8pUijy3R8FYiKCUgNzDGXhCWNxE2uwBKOUBAKVl4GRGlEFFrAO2h1BOWSCSSU4ZYzxyi4a00GMDVANYQ0Up12f0ALieiXgAYlLq6NwMAY2wdEX0OYD0UT6dbpaeSRCI5VSB14sBgLR0WbS9EWZUXwzpERq0eceHAGPsdMJwn/WixzxMAnohYoyQSiSROqajyArCfOVz65kIAwM6nxkekHTJCWiKRSOKId37fAQBYvPNITNshhYNEIpHEEcdOVgIADhWXx7QdUjhIJBJJmNh0oAQsTJZkM5vDvqKTOHCsLCznsEIKB4lEIgkDC7cXYsx/f8OHC02LqwVQXFYJr9dYCJjJmAtenY8/vbEgmCa6QgoHiUQiCQM7DpcCANblFzva/psVe9HjkZ9wsMRYfWQ2/ygoLsfuIyeCaaIrpHCQSCSSMMBH+h6Hveq+IkU1VCcpIUItCg0pHCQSiSQMeFXpQOQuwrlOsrFwiHUQnBQOEolEEga4ITpcyS/sguAijRQOEomkxlJR5cXWgyUoOlER66b4unKPg5mDk/bKmYNEIpEEyYFjZRj1wm/4ennsc3NyryM72bBs11H0emwWXp+7DQDwxTLj2g0xlg1SOEgkkppLg4xkvHR5bwzvGPu0/U5nDqv2FAEASsqqAACzNx40OWBsxUM0Eu9JJBJJREhPScS5PZvGuhkAgJOVSn5Qu5mDV9fpmxmw9aKBMYbK6ugJDCkcJBKJJAxs2F8CAEhOtFbI6CcECQ69myZ9tQbLdh8Nqm3BINVKEolEEgbO7aGUqOnatK7ldvqZg1lchF6IfLZ0D7YePB50+9wihYNEIpGEgdY56QDsXVn12TLMKr+FK0dTsEi1kkQikYRI3qRpOKdHE/sNYWRzMN5OeitJJBJJhKiq9uJIaXRiIH5YvR+A+07dzLtpTf4x3D5lBapNEvNFGikcJBJJreWhqevQ5/FZUT2nnTpoia6Ij8dk5vD18nx8v2of9h87Ga6muUIKB4lEUmuZsng3gMjq7/XHPmozU+nQKFPz3UlEdSyQwkEikdR67DQzk39Yj8k/rA/q2Hq588j31se5elArzfd6acmW27tN5BcupEFaIpHUGrYePI7ZGw9iZOeGPhsAoBiBEyz8iN5W6zbfMao9slKTXJ1Tb2C2w6PTI3VpmuVq/2ghhYNEIqk1zFpfgKdnbMSs9QVYLOj2zTrwf365GpsPlvi+Hy2tCEI4uGujmY0h3oi4WomIWhDRbCJaT0TriOhOdXl9IppFRFvU/9nqciKiF4loKxGtJqI+kW6jRCKpHfRtlQ0AKKuqRlKCvxfeUmAcPNa5SSb659X3fZ/01Rr8sfWwo3N5vQwnK6pRWe111UazuAbz7WNDNGwOVQDuYYx1ATAIwK1E1AXAJAC/MMbaA/hF/Q4AYwG0V/8mAngtCm2USCS1gAS1R/MypumEC02MxNcNbo37x3X2fV+wvdBxDejth4+j879m+IzeTpEzBxXG2H7G2HL1cwmADQCaAZgA4H11s/cBnK9+ngDgA6awEEA9InIWXSKRSE5Jpq7Mx8NT1/qMt153g3kfORkpKK9ytnOD9BSM79EEDbNSXZ0jVgZmt0TV5kBEeQB6A1gEoBFjjFuMDgBopH5uBkBMcL5XXbZfWAYimghlZoGWLVtGrtESiSTuufPTlQCAC/o0B+DeSMxJ9JBjt9fs9GRMW70faS5rQJvNHErKKvHZEuPaDrEgaq6sRJQB4CsAf2OMFYvrmPJruPo1GWNvMsb6Mcb65ebGPpe7RCKJPTzDabDCIcFDrjqit6/ph7O6NnZ1Dn1cw/ZDij3kse/XY/K0DQHbx2qiERXhQERJUATDx4yxr9XFBVxdpP7nFS/yAbQQdm+uLpNIJBJLeEeqTzlh1r8yxlAhqJHyi05izqZDjmcPo7o0Qr00d95N+s6efy86WWm8fYxM0tHwViIA7wDYwBh7QVj1HYBr1c/XApgqLL9G9VoaBOCYoH6SSCQSUzy+mYOz7T9atBsdHpwesLzChQdS92bWKbr16G0ONwxu7Wr/aBGNmcNgAFcDOJOIVqp/4wA8BWA0EW0BMEr9DgA/AtgOYCuAtwD8NQptlEgktYAEj6BWcjDg/n7lvpDPmZqUgK4uAtnSkhPQqkGa73tlNcPsjQdRbDJziBURN0gzxn6H+c800mB7BuDWiDZKIpHUSjwmaiW3RLKUQlKCB3PvHYG8SdMAAKv2FuHmD5ehYWZK5E4aBDK3kkQiiXtOVlTj7XnbsW7fsYB1vR/7yfeZp6bQd+5ZdYztAixMVRNCMRpz+4bZMWq1QVoikUhC4URFFSZP24BluwJrKB894VfHcJtDftFJjaHZzC4Q7Azh6Rkb8a6ajylUeBtiZXg2QwoHiUQS9zjtw79cZhwnMG2NsU9LsPOG1+Zsw2NCFtdQOnauATObIRwqKcc7YRJEbpCJ9yQSSdzjH11b8978nYbLzYy9sa7TDNirtu6YsgLbD5dGqTV+5MxBIpHUHGwU8I+f381wuVsRYCUzDpWU+z7f9dlKfLJod0ilSPnMwSyB3+Hj5YbLI42cOUgkkrjHqeH4tLYNXB7XPWWV1b7P36zIR0FxGfKLgi/lyWcvh48bCxhZQ1oikUhs0M8bPl6kzaCaYDazMJkKmM0QrIRRgwx/5baBrevbdt7HTlai9X3TsGBboas2cEorqq03iBBSOEgkkvjHpAN94Ju1mu9mGU/DOfYWjc+JCWSbx+muz1aCMeDG95eYtM16/y5NYlMpTgoHiUQS9/Du087nPznBY9iZms8QTJZb9NdiGzxEqLKZOazYrbjfnjCZAdjNHMZ2c5fYL1xI4SCRSGoMdi6jddOS8OOdQwKWm3olheitlOAheG2Eg53JIEYmBVukcJBIJHFPqB6npjOEII4lzhwSPfYzBzu1k507bXFZbHIuSeEgkUjiHq6Xj1YqCavuWpy9eIhsDdJ2Mws7wffRQndlSMOFFA4SiSRuqar24oJX5+O3zYcAOEq0akg4tUqamUMCYVfhCcvtRdmwq7A0YKZgN7M4WSm9lSSSuGb13iLM33o41s2oMczdfAiP/7AeJ0N0xVyxuwhzNh0K6RjmaiUzF1fzDlsUUB4i285b7PyHPTsn4Fri1OQghYNE4pTzXp6PK99eFOtm1BjW5h/DZ0v2oLwqeOGQmKB0UdvUUppO1ErdHp4ZsOzxH9bj1o+Xa9o2a31BUIJLdJdNMCsILaCXM0dPaIPd7vt6jes2RAMpHCSSU5yyymo8+O0aHAtzsZlbR7TD2kfHoF5asv3GArd9shw/ry8AAOw9qqhsNhccN9zWSFgcL68y3FaMbP5i6R7c++UqbDtknLPIajS/Q8hz5EQ46NVG4UjndHHf5qEfxAYpHCSSU5xPF+/GRwt348VftkT0PL9sKHCU5vqH1fsxdZVSoU0/srdzZV226whyMoyL5hABBcVlmLv5ELwMqKxyXgpURPQeMo3IFqgOURoYneLLZXtDOqYTpHCQSE5xuCumnWE0VG58f6kmzbUZbXLSfTr/gBaR5Ve8MXe7heqJMOHl+bj23cXwMoayIITD/mMnNTOsYNRK5S7Pqz9DZmoizurSyNUxgkEKB4mkBlDtZfjf/B3YXFASsXN4YlVyTA/5hYK+Y91fVGa56+B2OTDrr4mAA8XK/l6bEtNmcnLU83Nx0/tLfd8nn98ND4zrbNkmPdVed8JB/7t0bJSJywe2dHWMYJDCQSIJM9+uyPe5XoaLmesO4NHv1+Os//wW1uMC/hmDW9FQVe3FnE0HHW9/cd/maFo31XY7AnzSgXsT9WyuVHIrszFuezxkKuREocEYCypmorSiWhP0lpjgcT3jcptlVX89HqKouDhJ4SCRhJn//rw57Dph0eNHrCcQDnjf5nGgIhF5efZWXPe/JT5B+OzMjfjX1LWG2zLGsG5fsWlaahEPkU8o8EH2uT2bAlBUTiL6RHse8nemmanaigSivWJTQQkqqy16WBedr12E9NAOuZrv+tPaCin9egpf7WsrIi4ciOhdIjpIRGuFZY8QUT4RrVT/xgnr7iOirUS0iYjGRLp9Ekm4Ka/yIjUpvK9Wqwb+TrH/Ez9rPG9C4evle7FH9Qhas/eYq313ql47vBjNV8vy8c3yfN/671btwxPT1uPhqWsxfe0BbNhfjAqTgjYiRIpQyJs0DRM/XKpbZ92Teoh8ne3gtjkBx+Ws2F1keZx35+/AK7O32rYVMC/SwxmsqzGhVyvZqfP0a5vXqxMWjyc7ojFzeA/A2QbL/8MY66X+/QgARNQFwGUAuqr7vEpECVFoo0RiiRtf/f3HylAnKbyPrb6DKK8MztNGpNrLcPfnq3zpGdo3ynC1vz5T6piujTSzjwXbCvHpkj2Yumof1u1zLngI/pnD3qPaIjrctbWy2otOD00PUNGIMwd9n0sEDNON4s34fethzHUQeNf/iZ8thcNvmw/5hC+n6ITWZdhu4qAXHgPb1K8dwoEx9huAIw43nwDgU8ZYOWNsB4CtAAZErHESiUNKy+2Fww+r9+HzpXtwy7C2uPq0VmE9v37EHA61gl5XfkHvZkEdh6triEgTWez1MqQlJ2Dlv87C7We2d348UlRdRMDITg016/77s+JuyxhQZiAgpyzeg91HjNNZEAhzHdqCslIT8d/Letlud6ikHNPXHjBct+NwKa55dzE+X6pVMb46Z5vmu51aykjbF42o6ljaHG4jotWq2ilbXdYMwB5hm73qMokkptStk+T7bKbSue2TFfjHl6sxaWwntGuYGdbz6/uHcIwc9cIh1eVsx6gN4qJqxnxxAG7aS0TwMr+AcMPKPUW+z/v0pTtdHGv2pkN487fttts1zEzBRX2MA9JK1HgIvZ1E5KYhrW3Poa8El5zosc3kGg5iJRxeA9AWQC8A+wE87/YARDSRiJYS0dJDh8LrGSKR6BH92cOl73dDJLxMxf7ltSv7oFNjdwJNr1YigkY6eBnzqZnczHQIouBS9p88bYPu3PbHW6Wzobh11XWSWoNIiQTXs35fMV78RbFZWAndOsmJpuv08AFKZkpS7Z05MMYKGGPVjDEvgLfgVx3lA2ghbNpcXWZ0jDcZY/0YY/1yc53pESWScBCOQRtjDM/O3IgN+4sdba+PDA5H5yDOHMZ2b2Jr7LVDsRUIx/cyX4fsxnuTKHBW08GlPcS4fYqaqluz8JXdNIvYHvfiPJ+h3sj+dKKiytempATlGMkJxt1xlup1FW47lh0xEQ5E1ET4egEA7sn0HYDLiCiFiFoDaA9gcbTbJ5EEQ+OsVOQ1SHO0bUl5FV6ZvQ33frnK0fb6fjscaoVwVyBTbAX+g1Yz/4zLTXuJ/LEApWqepEv7a4O+grn871btw96jJ21TcLjheHkVvlNTfeipUCOhF2wvDFh3/ivzfW2qrGYY372JabwE+QSsek8qqmqHQZqIpgBYAKAjEe0lohsBPENEa4hoNYARAO4CAMbYOgCfA1gPYAaAWxljEZvDF52owKo9RaaJuiQSI8zey27NspDmUE3AX+6dh61rAUQSp8FbuwpLMeY/vwUE9vEOn3deOq0Sth087hNqxWXO3zEC+drGO9bC485jOxIFFeCEXk016zYVlGD/sZP6XYLmeHkV7piywnDduO6N8eSF3Q3X3XiGYmvgSfys4tq4WzS/rjs/XenLUhtJouGtdDljrAljLIkx1pwx9g5j7GrGWHfGWA/G2HmMsf3C9k8wxtoyxjoyxqZHsm3ztxZiwivzHU/tJRLAeBRcWe3FzxsOYr3DZ+mjhbsAmGcQ1RMwc3C0lzXMoTfsiYpqbCoo8Y3i9W3gTdt95AROVFT7DLFHT1QgM0URlm7qYHgIqNJFirnJR9RDjaYGgBf+1CtgvZNAPCc0sYn2blE/DZcPME5zcaFqxL55aBvkZKQogX8mwvqhc7oAAC7p59e4h1PAmeHcGlIL6Z+XjXev64f2DUPXZ0pOHYxeYbcpFNyknQACdds7D5eaZh91wu1TVmBXoXG6aj3VvsR8wPLdR9GnpeJcWK124Lw+wU9qmu3S8mpkpibhlSv7IDcjBS//ugXP/bTZeeOIsGiH1vtd7875xzZzYbNcCHC79I0Fzs/rgpyMFHRrVhf7j5nneuICrU/Lepo2Af6ZY2ZqItKSE5DgIVM1X7aa8lycES3ZcTT4xjvklBYODbNScWaWfa4XiUTESA6kJPqNhVsPHkfz7DqWXiqWqRsM0M9uf996GP3y6rs6hsi6fcewXa1lYBfNzf3wn5qxAXuOnMSsu4aifaNM3376zKTZ6YpXDRciO1yqzowsAnpjuX5mYUYomWYZGO77ejW6NMnCsl1HMbidP+J66YOj0N2gqJAIFw5GnT4XzIrbrnWeJ76qoMQviDZFMAEjx5FaiYhaEdEo9XMdIgqvE7dEUoOwc6Mc9cJcjb89oBgn3/19hy/ds369Hfd8oTVch8OY3KdlPQxpn4Opt55hud0bc5WgrT1HFFXGkVJlppCuqoy8No3pn5dtuV6PUUepX+S00w810+yUxXvwzYp8fLtyH75frWi/x3RtZNoGMZ9TsfpbG6mLRqsJFHnAn4cI43s0CdgOAA6r9zsz1R9rY6auCie2woGIbgLwJYA31EXNAXwbwTZFndkbD2LoM7OxxySyUiLR4KBf0uuEf9lQgMd+WI935imBVQ0zg1cJKW0IUTowoFl2Gj68cSA6qvENh4+XI2/SNLw3X1uQxywCmM8Y9CksuApswbZCrNl7zHWMhlGHvqtQ+246SNEEANgaBsPt8t1FSE9OAGMM6ckJaJGteKSN7BxYU+HB8f703c/O3IRzXpoXEG8h4lFnDh4CctKNK+at2VsUsMypV1woOJk53ApgMIBiAGCMbQHQ0HKPGkZ+0UnsPnICOx3qYCWnNk665bs+0470efUwXk/gzlHO00kYEerMwctYwGh8/T5FdfX1Cm1o0WltGsCID1Wj+rp9xfjbp4EeOw9+uwbPzNxomObCCiNZMmOdVkA5ra6mz2NkhNmIXaS0ohrzthxW6kCoDTRqwaX9W2Lx/SN939fmGzsorHtUySlKUISr1QynY+PwxWW4wYnNoZwxVuFzVyNKRHRSe0QNHhkaDd9hSc0nGD023yVcPvahVm1jCFTfcMOy3r6RotoWeraoh1WCOow3YdXeIk2NZ1/nyYB5Ww5j3hbFeNy0birSUuy7HCIgMyURJRaeXFaqrBb16/hUYI5wcSsZmM/+IaqLLuzdDI+f3w0AUDctyXBfo1MqAX9KuvRfNho7KfDYuB9WG8dTRAonM4e5RHQ/gDpENBrAFwC+j2yzokO1l+HM5+bgk8VKVkopGyROCKZfDvXZ0ht9Qz0e13OLHCxWYgm4sXxLQQnO/u9vOFpagWb16iA5wViwXT/YOD8QF2DN6tUBANRLS7asuTzxg6WYsXY/CorLUWlTLc2qYE79NGP1jFuMTlFW6fWXMBXWf7dqn2CDsT82bz9BcWH1UGAGWg7/nUSBF42ifU6Ewz8BHAKwBsDNAH4E8GAkGxUtyquqsf1wqc9/OxrJrCQ1n2CeEt/MIciXmhtBOaHOHIzUSu1Ul24+kz5SWoGNB0pwcd/mmHvvcN+sR3/mtrlaV3B+XC8D+rXKRr6aAM/OK+en9QW45aPl2H3khKEqqnuzur7UF1bCIVxxDGazk6krlRG86JggZlZ9V7DZdG5irBJ6b/5OAIq6UfktzG9Mose6m7arJxEslmdVaylsYIy9xRi7hDF2sfq5VvSifKT0xzYlCnPpzsj7DktqPsE8/rwj8SWpEzqDvEnTbJP56U/5w6r92F0YvAMFYzCsMAb4Zykt6itGz6QEDxKFvD+8rfxazArIHThWhqW7/O+UW4HWJlebzTQ1yYNqL/DH1sOWwYNntMtBrguDv1llPTO7BrcfGa0+WFyGZ2du8n3PSDF2Z16wXVG1NcpKVTLQWgw59LNGQFfV7kBk3FothYOaumITEUXebyoGlKgh/fz/NysMc/xJJBqCUiv59lFe6vu/WeNbd8fI9oYdgNU584tO4qkZG4w3dtQeAyMo055Lb3hdvFMJTHv5VyXbKN/fzDagr/q2ueA4Nh5wnr7i13uGa74TCBv2F+OKtxdp8hmlJSegbyu/u2x2ejKWPDBKs+/NQ9uYnicj1dgOsmSHcRkar+4+AcCQ9koMhP6azQzN4izs2MlKy2eqo0G2XPGwHy7YZb5zCDhRK2UDWEdEvxDRd/wvIq2JMh0bZ+IGE33p0zM2Im/SNCwySJolOfVwMnXnunUj+Lt/+Hg5vlmhLf5y9+gOSDLJyOnfP7D3cOsFpG8PQSkTyg2d+nP4OjDdqVerrpm8f/plQ4F2PxvdmdMANj3iYQtL/aP9BCJNxlK9nH3m4h6YNLaTL7upngqT1Bz7TKKfubpJvF9/GdYWgFbd1b5hhqlw4DmjPKQIllEGbrGclvUD3VZ5rAkAdHCZat0pToTDQwDOAfAYlLoL/K/Gk5zoMXVffU2t1nTpmwuj2SRJnLI23++rbjbK06uGez76U0B5zFnrCwLcXJ1UJzM6p5Xe3cnxPER49Pv1eOS7dZpz8KN6fDMHZQkP8OIppkWvJJF8E8Mqx2MzSzJD7Gcrq/wnbVqvDj7680CfrUTfIddJSgARoZFJNoRVBnEEAEyFCVc3zVznF4r8pxB/kycv7G47I0z0ED68cSD6tzaPdjc6hKjmyzRpZ6jYCgfG2Fyjv4i0Jgb8auI+ZiStJaFzoqLKURGVeIIxptFxG43iK6u9KNQZQjXqAgu9wQPfrMGxE5W48b0lmLZ6v+l2etzUtdbDjcPnCD7+AU1UO6WSsirc9MFSdGuqJLT78xBFRcNnCB8v2q3ZzaxM5/WD8wDA0GPJiR1H1LMfLDHPaWRUOxqAaR4ks5mMmTHZqKncniLO5vrl1bd1QODXxIXK2G6NA7cxOAiZfA4nTiKkS4ioWP0rI6JqIqr1aUzNHnBJaLzw02Z0/tcMX+bOmsCkr9bg6nf8ZUUC1SxFOP+V+ThhIfSsuj7GlNFoQUkZSiuM9fdG+y/cfsQ2dYVVeyqqvZi+9oCQWE/5v2F/MV6ZvdV3ndVehlnrC3yqkOREpdswU8eYGZ75eYycb5xchthHirMD/nGjapg1U2v1bKEIN57llFNl4ns6yCD47+K+zfHJTQM1y0Z1bogB6sj/143+2cSvGwt8MR5m8KaWq0Z+fk/vH9cJ7Rtm4PWr+hjuJ97jUFOEmOFk5pDJGMtijGUBqAPgIgCvRqQ1kloPj77994/BG1OjzWdL92i+18/Q+tGf9/J8rNtnPF5y8t5Web2on56MH24fgj/1a2G4jdnA2q44PaDoyC95/Q+fbeDYiUocKinH18vzcaS0AkfVKGLxSM/O3OSLLtarLd79fQdGPDcn4DzDOmgrMl53eh4A/+yEx084mTlw+w2vewBo76XVdevVMHx0fnpbxWj89IyNmvVmxxLtGpzxPZqga5O6mmVvX9vfl2SxVwu/Yfzuz7XqQyO4IONJ+rjtqVvTuph19zCc3c04eltss42na9C4OixT+BbAmMg0J374v8t6+T57vQwVVd6gXBhPNQ6WlOHVOVtN7xV3j9xXZK4WiHeyUu0jYDlmRl2R42VVDuwHxuuduIeerKzGkp1HcdsnSoqLPUcDZ8WV1d6ANu5T4xPW5h/TdLiFpRXYWViKzZPHYvPksb7lDVShWeX1orLaiysGKk6OvAPko2IjPbx4+Wd3bYz0lAS8Pncb3vndHzPgNLpcP5L2u9xq28Exu4UfLdwdsOz6/y3BWp0dSaRPq3q+z05sQvxW8N8xq44aSGezq/i7h7OynaZtdhsQ0YXC38VE9BSAmvtmWyDqcLcI6QA+XLgLHR6cjpnrjBOQSfzcOWUlnpmxCVMW78HHi3YF6MW3qKmGF2wvxOe6EXlN4PObT9N8t9P7846JZ2M1orSiGs//tMl0PWDegTkRDmKqBjPaPzAdczdr7W98dPr50r0BqhrGFPsRVzEB/noDny/Zi/YPTPcJFw5XueQXncR2XUK85bv98RA8U+lmnf++aGcQXVf16C+Td8Bm11+3jnNhDygp2c3gAmhA6/qO1D18E5/KTV1w1TuLfNlwjRDViZGKlnYyczhX+BsDoATAhMg0J7aIIwoxx/3DqjfH6r3H0Pq+aZi1vgBVNq6Ne4+ewHX/W4wiNV/N9kPHa5whNhhKypVOcOa6A3jgm7V48seNPm8YAD69fEWVF//4cnVM2hgK+uAquwpl/MV9YZZ1sZsz2udYrjd1q7SRDW/P2463flMywdr1IVMWa4U10+i1A7fXB4/xGQEXKvw73/XWEe3wwp96YvyLv+PM57U+LRoDKykC7YVLe+H2M9v5loveRjmCak8vuLg31Ogu3D2UTK8B8Ku/jGhgkinVjNSkBLx4eW/859JejrbnwoALefFS1u4rxver9vmqBoqIfVXMbA4A3maMXa/+3cQYewJAaCkl4xRRj3eDoOvkvDpnGxgDbvpgqeVIEADOeHo25mw65PPkOOs/v6Hzv2aE5GFSE+D9yS3D2mLx/SMxc90BfGExQ4hGucNwolcVZNjUjLaa8ovqFa4PNyPfQBUEABe+Oh//06XYFpk8bQP+75ctSltcdiLv/bHT99loX30EMRcu3MCrVx8NbN3AVx5TT1MhRoTnGwK0MybRuCsuN7sqfTCf2W+RYlHs6IYzWgfMUuzcU8/r2dQy5kVkxtoD+HjRLl8KcvE+f79qH26fsgIPfrs2YD8xD1MsZw4vOVxW4+GBTlsPlmDQv3+x3NYu3wmH/3Bc8MxaX2Cxde0hMzURDbNSMbZbE8tO6WhpzfFaArSlGgF7n32rF9fMj94InvFTz+aC43j0+/WOjuG0XjWHp5UBjDtgMxdQvny5kDoDUFRrZs+/2OFOW7Mf2w6V4rMlu32ZYvWIZz50XDuD2XFYG7vEj2z2W6RZVOz7cc1+LNNdR9GJCluHioXbCw0HkDcPbaO51ulrlRm2X61keVgfDYSZU9RnDkR0GhHdAyCXiO4W/h4BYH43axg9hWLkqUKpx+Iy6xcp0SBD5dSV+fhu1T5N9KIYPAUAJ8pPjZkDJ8FjbZiraXaHp2ds1Lgr2mH12opC005N2a1ZXcv1kcaoAzL7XfnMgdeN5rmI1u47hps+WGq4j5He/59frTEVaOJzpldv+fXxuohvk07USjWnt5sAynW9qarqzHhRna3pZxBEpFHX8cA9PjA9dtJ/vb1b1jM9vhizEYs4h2QAGVBqPmQKf8UALo5Qe6LOq1f19X3OUh/Qhg7qSutHJwBw56crcceUFdgmGNv6ttJGPtqVmKzp6HWnHg9ZFmYRVRc1gelrD+CHVc4D1czUjyM7NdS81LdPWYE35m7D5ijUBg4GoxGtmQuofkYxZ5MSAd4oyzwZXrpQ5+H0tg2QkZKIn+4aauoZ9vMGewHtVytpbR8B21kc46iDYkFGPH1RDwCK3SNDuDYPac/HDfrcdvW9mjMqKzURK3YXYeLQNrhFTc0hIqrY3KoLnWIqHNRI6EcBDGKMPSr8vaBWg3MEEb1LRAeJaK2wrD4RzSKiLer/bHU5EdGLRLSViFYTkXEESBhpVq8O7h/XSbNMrzowYptF+UFxBjJUNTRepOpaw1H7tybA9buJHoLXy7C5oASfLAp0DayJfO+i6MpfPl4OIDDifkdhqaZz3X+sDE9O34g35hqPSBtnpSI3M8Wx2sGKYLzu3Mwc9AKxsTrYSknUKhyW7jwSMLMGlNQQDTKS0aFRcDmD+ABFXzzH7N65dVHv2yrbNHqa06J+muFsiHticXhcw5xNSlu5qjE5MQGNs1Jx/7jOmDS2U8BxRMLxTBge18E2J4joWSL6kYh+5X8uzvEegLN1yyYB+IUx1h7AL+p3ABgLxdjdHsBEAK+5OE/QDOugrXpqZ3AClFmCGRXVftVR6xwl7fBXy5Vka6Uu9b6RhjGGZ2Zs9I1YQoV3GHyGlECEKi/DG3O3azKRxivfrdqHBYKu3YhKF4njuMpDX4py+6FSLLp/JDJ5gRjG0KJ+HVSbROs+99Mm3DC4NZY/NNq3zMrLxopgZif6zKsZKYkY0Lq+YarxLTpXz9PaKpHGerfbv3+xCs8ZuPAmecjXgbpJ883Tc+h/Hq6yMRph92xe15dHjTO+RxPcJ3TIg9sFRkqbFT4S8RvVzWMSeFfzqtqGyRd0x44nx6F+elKAZ5zooXVZf3+wZNRnDgIfA9gIoDWARwHsBLDE6QkYY78B0Oe+nQDgffXz+wDOF5Z/oAbbLQRQj4jsC7yGiP7ecmNzK5si3j0f/clw+eRpfmNVoi7bppuOJRocL6/Cq3O2Ycri4Eb1WwpKkDdpGhar6Y15x/DNciUSmhtszTq9eOOOKStw+VvhT7Zo1MmlJHp896eqmiGByHRmuaXgOF6dsxULthXixct7A9Cq5MxSWRjRtWmg/SIl0YMZfxtiuH2P5oHbHy+vwtzNh9DpoRm25+Ovl36m8eLlvXH/uM4B2ycmkG9w4eZtaZ6tvK9691M+Oq9bJwlt1MFai/qKLaB3y2wUlmqN3tNW78exk5W4d0xHAMCj53XVRGozxhwNIH3bC5/1fU1ZpRdf3HKaT+WW1yANRISXLu+Dd67r59uuX6ts5GT4hYXXxs04HDgRDg0YY+8AqFRVTTcAODPE8zZijHHF7QEA3CG5GQDRQrlXXRYAEU0koqVEtPTQIfusllbo722Ch/DhjQMCAp70mOmTV+wuAqDolQHtyCHUCl7hhrfmzE4NLbczY/5WRffJ0z73U93+6ql1dM9ol4NJYztZpjuwcsWsLeiT8iV6CETke7GrvUptYrO79NGfB6JVgzS88/sOtG6QHrBeX0fghZ82aaKLRYw6tvIqLzrpCtnzCOfM1ER8NnFQwD57TdxrA7ZTjbr6OJ9vVuTjy2V7UV5VjaNCB739UCn2HDkJxlhQWQn0HXCTuopa6/zezfDLPcMAAGe0y0VmSiJyM1MC1DZpyQmoqPL6DNutGqSjebbWsOzGQ8jK7bZ+ejL659XHovtHYedT49EoKxVr84+hXcMMNMz02z6PnKjQGKHXC3W+YxnnwHvA/UQ0noh6AzDPL+sStaqc6yeAMfYmY6wfY6xfbm6u/Q4OyC866XsghrTPNU3xa0Z3nUcJr60r9ovxloJjg5oTaPK0DUG1LUEdlfHOj1fv4qOcfnn1ccuwtpbpI5y6YtZUrn5nEb5cttdwHVcJVKtZUq1+g49vHIR3ruuPzk0yNeolINAd88Vft+LxH4zva5IDlQgAbFNngV4vMNAgCZ3Xy9DQQcU1PqsUo6kB4Mule/H9qn2467OVGPrMbN9yPvtcsvOoo3rMHP29G9RG6aa2C84jfJCSm5GMJQ+Owo1ntPYN2B4Y1xl3nNkOyYkeJZ2Iug8BGuHFEL4OWX+Yjxbuwjkv/Y4TugSMQ9rlaAPk8oVcXjGcOUwmoroA7gHwdwBvA7grxPMWcHWR+p9bjvIBiJnHmqvLIop405fqfJrdsEZnXOOhEOJsIc5kg0adxL1K3MCN91w9wv3Y9S+PWbUwzoy1+9HhwekRK3kYS4wyc/LKYZqZA6yfj7ppSahbJwmJCR7U16lO3NRIMAsGy5s0TfOdz4DNZrte5sw+Z8aYbo1BAH5ccwAl5VUB2U6LTlQENdPm1zf5/G5oVq8OcoR7lUCEd67th5uGtkFqUgJSkxJ89/ya01vh7rM6ouhEJd5fsMs3GyYivK5zFCBSEg3++4Lupu0oLqvCyj1FOGlTAhZQ7C+jXpiLCb2a4a1r+vkS+fnPRxq1nKg6i8nMQa0h3Z4xdowxtpYxNoIx1pcxFmoluO8AXKt+vhbAVGH5NarX0iAAxwT1UwTx31ye+IrjxHPJjAQiTFm8WzNqtHLrjAXfrvQbooOJ3uYVuPhtunOkEjyv7zS22hhBb/loOSqqvL74kb9+vMxVbYN4w8j9kHP94Dz87/oB6jflevOLTuJgcbkrV+eRBqrAuz5biWd0WUdFLn9zoS/1th3PXqK4Y+45cgIHiwPTd3iNSo1akKaLJv9y2V5NWpB6dbQCr9rLQvLua9cwE/MnnYnT2/mjzz0ewsjOjZApuMhyt1guVB4+twv+OrwtNqv51QjG5T/fv2GAT/WmhzuerNxTpF2hu188LXhZZTW8XoZ2DTMwukujgMqACYKRHvAPLgCgfpq7FB9OcVJD+vJQTkBEUwAsANCRiPYS0Y0AngIwmoi2ABilfgeAHwFsB7AVwFsA/hrKuZ1SJ9kvpY+XVeG7Vfsw4ZX58HpZgK7cTZKuDxbswn1fr8F9X/u9dOLFlbXay/DcTOtkb27gD+6ZnRTz0a7CUrwye6tvemyWG0hPsvpS/LjmAKatCY8HVSyw8mZJFl58LkMrqrwoKa8ynDnM33oYnxo4DBwuDYwerqz2WgYdLtheaFrgSk+Kqgbad6wMt36yPGC9YicJ3O+MdsapQKzSVACB6q4qb3A2BzuW7DyC53/a5LMZnt+rGf7Ur7nv/NcPbo3bhJxORtdolyDBrqwsD74d2l5RiVdVM8PAWt/5SGvQ9zKgYWYKFt43Et0NHAbCgZP4/flE9DKAzwD4lHeMscCnxQDGmJlwGWmwLQNwq5PjhhMxivHteTsww8IPvE5Sgm1eJc60NYEj33ixOVR7GV6evVW31P0sSV+Enn9fuP0IFu88go6NMjGqSyPUT0/WRI6bwdUjHRplxJ0KDgBuP7NdQN0CI35V/dYbZaWgoNgfwXt62wa4RnBB1Xc8+ojgHYdLceXbiwAoLpbiiLdLk0ys0o1MX75CCQ16wyaC1wl//dj/iv91eDtc/57WSZGXGhU5s1NDQ/dWZQfr8+k9+/7YdtiRWsmJ3UNk5e4ivDJ7Ky4b0BJ16yThWgOXYFGA611F1+0rxkCLsp6AVnWXnOjxeZPp3zAxvY5VSh6PhzT3wssYMlIT0biuO7uoG5zYHHoB6AptDennItaiGCNWgPN4COf1bOqLVQDMdax26Q84odT9DZUfVu/D4z+sV7xADN7Up2dsdO0Dzx96/UvcSw39L1NVVeI9tKKp+rB7SHkZjpdXxVygthHanpqUgItfX6BxHX3x8t54cHxnzaySDzgeGK+tOvbJTYM0gxF953pAN8P6doXf5KZ3V12vOhNs//c4lFVWo6SsMqz3ij+qF/dtjhEGKixFraRdRtDmZBKZvna/aWUzIFCFO2XxngB1jhHtGmbYbiNy09A22P7keMvkeFbqskQP2ddtFnYXfzezEqY/byiwmTlQgO0yUrYG3zntNlDtDPq/UF1Z4xb9dPCu0R3wyhX+B9pMuDudqsdSrfT50r145/cd2trGAjsOl+L+r90Fqv33ZzVYXpcBk0/R3fjfA8Ar6myGVJ//oc/M1qT8jgWinehZVRX37Up/p31ez6b485A2uEO1twzIq4/HJ3TD3HuHawSLEfrX+0RFNX5ad8AwgEo/sBjdpRHG92gCj4fw+dI96P7IT5g8bUOAYTlUvIxhyU59qJJyX3YWat1ZjdLKcD5fuhcDWgd6PXE+XRKoOvtxjX00t1mHGwpWBv4vbzndlx7DFLv33JfSQ/l/To8mGNW5kenm+hgYL2MRy6nEcVLspxERvUNE09XvXVS7Qa1EP1JpnZOOLk39/t96ac2LljidEcRyFDyio6IOKT5ZhWIT1Zgbby3RSOnPqaTcH25Q4zMxp9f93E+bUXi8HBv2F2PW+gIcKa3AnqOxTest/rZ/6qemQTH4vXmKjKw6SkbaVg3SbdUiepVFftFJTPxwGeZvVUbfPwhG+UrdOW87s71v4FKuFrY3i20IlubZdQAG3P35yoB1K1VvJpHtFsIBAD5WaxOIlRY5r8w2L24jkpGSqJmJOqm2F066NM3SqPeMcOpYwH/+l6/o4xtcGDG8Y64majsuZg5Q0l/MBNBU/b4ZwN8i1J6YIOpIzUa6t41QDFR9WmZj7aP+KqlO7Q+cWAbB8Ufp8rcW4pI3FoR0rNkbD2LAv39Bvhrg5Etypq7PSEkEEXBQTR9hJDvN0lCLLsE9m9eNeeCgKBz0NQKMEJtrN2gY0cnYfnFcLZokdrbVFtH1sxwkohOZOLSNo+08amDeniOBAvqnINLPN8uug7HdGqNekB42HRtl4ox2Oa7tDPGCPhjSaffeL68+/jzE/5vNXH8gYnUcOE6EQw5j7HMAXgBgjFUBqFV5p0WPJDOf5L+P6YiMlETUT0/2uW8C2tS5TrAydkeC0vIq5E2ahote+8M3Ss0vOoldhcbRrc9d0tPRcfU57hfuKEQbtUoeoGTZ/P62M3DLUMWl06iD3yhEeYqIZRi5eumadxfjLx8tc9Q2PYt3HEGb+6bhj62B8QZO0AgH3i71tZ6+Zj+6PzwT2w8dN3zR7QTb5PO7Y8kDowKW84AxMaNnpUVEWP+8bJzetoEvwaMZyQkePHNRD1zS13o7DpH5NfQzKNXJZ1ZmXNinOV67qi/a5jqzQZm1J5bDhXH/Nw8PGRTgETH72fUOB8F28CM7NfK5wUYKJ8KhlIgaQH0vePxBRFsVZcQXsMgiRS/X880W7At//Xg5Hvx2TYDL6+gujfCvc7pAj9EILJJMVeMYlu066igHS2W1F5e+scAX1Wq1nciQ9rnwMvjUVYwpNQhaNkjD/mMnfX7fYufxsUmWVjE3lUeNGl6/75hlYXcrqrxeeJm7QDER3jk+c3GPgJlDaUU1SsqrMG/LYWSnK6qGsd2VdGDVXoadh+1TTPB6ByKlat0PsTPZYuAssP3QcVz19iJc2Kc5PrlpkEYFqmdQm/p4+Lwu+MdXqzH6P7/Ztotj1tEZqSDX7dMKfH+pTi12wXM7nxqv8eXn+AyzYkoKA6N4JFm/v9iyjjRgbnIITCMTXGvfvrYfHjmva1D7OsWJcLgbSnBaWyKaD+ADALdHtFUx4M8GZUH1MKY8iPrKUx8t3I3bp6zQLLt8QAvDUqPRRpMJ1WSYMkBwy/t86R4s2nEEP67Zj7mbD5m+BPm6Iijn9VS0jgVqEXhxbHfdu0uw7VApzuzUEE9daGPI07GvqEwRykSm/vNGTF2Zj4MlZXhtzjZfpK+bgEbRniIWf+fXRUSYt+WQz/D+8Hfr8MGCXdg8eSwuVkflJWWVuOeLVb7jPHOx8bW3yE7DvH+M0CzjWXzFzJzfGwQFHjhWht+3HsY7v++wHQB4GTBznTtV0K7CE65G6aK3HwDNLFvEib58bDdFyIpFbxI8ykzSaDYTzfkEzzRrhpmNjSeg5FcfadVQKDjxVloOYBiA0wHcDKArY6zmVYa34ZJ+StaOCb2amm7DoHRS09eaq4ay05KQlZqIunWSDFM/N4mgX7IdZs9hmhAEyDvSi/s2x7XvLsaoF+Ya7qNPPf612pnxd0J8N46opR6TEzya0ftfh5tHEXMOFJdh/tZCVTA7e5MKistw56crMfL5uXh6xkZftTk3qR6uUGMLAH/BFw/BNyQsOlGBq99ZjDs/XelTAU1fc8D3efbGg3hGCDK8sE8z/KmfmBnGT3KiBy109R7Gq7OP84Xn0Wg2l6caZj9ZtBsXvfZHwDX+cs8wPHJuF9/+v212nyLFjc1Hb6g3u+VOfgs+aFkhGL49BKzeeyyqRZHmGtyzTTbnN7tj+qzMB4vLMWt9gSZ3U7zgxFspFcAdAB6HkrL7VnVZraJj40ysfXQMTjPR41VUeVFW6QUBuGZQK/TPC9S3AsAzF/fE6kfGoG+r+sjN9BvdeN5+Me1uuDhRUYWjpRWGHjQiXxiU5MzNTAnIlgkgoLPSo7fNcIHJm/D63G24Vx0182IvelXUuO7Os7EzF657XBVTopZ6HZCndDJO634DwH5hZsRLOVZ7/WNTUfW1efJYPDi+M+4c5fc2uePTFZriRpcPME6zYAYfWTOmCO+dT403tE3oR+B6Ado2N8PS+GtWkEaDiwF5qe5ZMlPlJTgQ9LkG7woR4fDxctsyvuHk2ncXByzbb1A+VMRMnnKbHE+rsXz3Udz0wVJstSgeFiucvC0fQAmCewnAy+rnDyPZqFjx+PfrMUn18//oRm0SMAaGrk2zcFrbBhjVpRFeF8qLioiPfLuGmXhWVSXwxHNWqauD5bMle9D78VkosvGcWrU3UGd/89A2WGQwIn1v/k7LYxnZRpX8L8r1HT5ejv3HysAY83kf6StzubkXhaUVKKu0jpmo9jLkTZqG8176XbP8CzW3lQvZoOlkB6vqrOREj6m64M9D2uDWEf6UC59NPE1TA8Au3kEPH60zWKtgxL73tDYNDEfqViP/D28cELBMr+L6Y1twhnzAXAg4SkNjsOtzl/RER12FOL1ADLeqRiyyw7GLTHaq4jqjXQ5+uP0MdLGpLBcLnLwu3RhjNzLGZqt/N0ERELUO8QdtqKt3m5KYgGl3DMHwjg2xdOcRnPfyfMNj6DsgfZri/cfCb5Dmag9RPRQq2w9bj2TaGkSlJghRnPeP64yP/jwQv1t4CLl9h7ke3gzuhqwfvXLE/PhOqajy4p3fd6Bp3VSc0S7H8SC6S9MsjQqxgcsZI7+PGw8UB3i4iIgdI5FfkPQR9PSfLQmcMXKM/PV50RyOUR3lW0fYqwQBc/WRx0OGDhsiRp18u4YZOMPAUB0JRnZqiK5Ns9A2N/BZz0yxFm56F2bR6UWkXloSujWrq6mhHS84EQ7LVQ8lAAARDQSwNHJNih3i72mlEk1PSTSsjgUEpkPmBjmeQdPKGypYdhUqvvApiS6GxjbY6YT1NZEBRTB6dTYHvV+3FQ3SkzG4XYOgr8NshNy7ZT2sfuSsgLKLVogGw3N7NsU/zu6EBhkprgKtQpkl8l15MJwZ4s/kIfK5WDbLTvMNTIxmhhxxZP/QOV3w3vX9HbXPaeS7mZ3oaGkFHjOpN+Hb12R5pCqf6eGzNqOZm93MgNcC5/EYegHPU36YpU+PB5y8hX0B/EFEO4loJ5QMq/2JaA0R1SrDtPbFN//ROjfJ0qTU0KDbjb+YepVKOMlKTYKHgqslS0SGXjR2nj36l6N9wwzNzIGrX9zkkprQqxkeObcrvvrL6Y73ETETDnXrJCHLJqI1AAJem7MN7R+Yjpcu743zeysFCUPx3HGD0/smCnEiv0BiOndPM8SZ7o1ntMbwjs4qAr41z1kktll22o/USGnLtpk8z/oa1Zxwx0ou3F4IIuMZjN3Pw0u4igXDWuek+8qT8spyNdpbCcDZUOpHD1P/WqvLzgFwbuSaFn1EtYXd6MTsR9UvvrBPMwxqUx//PLuT4fbh4MOFu+BlwLJd1rEJRhDgKCCqosqLHYdLhZw/2vXVXobSimp8rdaO5qut9N36e/i30e3RvlFmUJG3yrmMlycnBDcTedqgLoJZ4J4Rn5jEcTiB3+dx3RtbbqdVK/k//7B6v23SutQkD7JcpKAPBjN12vOzNgcsC0jiZ/KO6YtS8c34jLNOcnhUNI3rpqJhZoqhkHLbp7fJTcfsvw/3VYs0UtXFG05cWXcBKAZQF0AD/scY26Wuq5XY+WGbjdL1y7s2rYtPJ56Gvwhum3YBNMFi5DprB5nMOD5fqtXv7z5SihHPzcFNHwRGKTetmxoQvcsLqLw1LzB1dGZKIlo1CFRLcW+rF3/Z4vwCDPbXUycIW4zZry/m+QeAy/obu6cCipomWPjM4ZUr+mD7v8eZbqdVK7k7x5IHRiErNQnPXtwDNw9tg8k/rMc6NdDQzBuP8+bVfX01CZyQkujxea2Zwd85HjviVuVyQZ/muKhPc1xzWitX+5nx+c2n4bWr+gYIqSsHtgyoO22GbwaoezR3qmlR9BXf4gknrqyPA1gN4EWcAim7OcHOUOc6KLV53su/224TDA6zhmtw+vpxd8ifNxSg44PTMW+Lcp2pSR6c3i4nIO8P15Xzaloi391+Bj65aVDAyx9qOnOzpG9ua4ED5sJfjPh99co+uG9sZ9Nj3OgyCPJSIQ5imKreISLLyG5xEGOnVnn3un64Z3QH33dujL6kXwuM6dYYUxbvxm41rUqTuubprPm+U287w/d94tA26NmiXsB2vHU/3H4GvrjlNAAwrevBoKTk4PENTlUufHZat04Snv9Tz7C5i+dkpCApwQMi0rTliQu6O3YwMHum/3xGa0y5aZArO1i0cTLf/hOAtoyx4adCym6Ok/oMj08IdNoyq5Pw7x/9fvFnd7VWFQRLMAnqrDxhRMRShOVVXizcrqiwzu/VDEkJhH3HyvD0RYH1dC8fEDiybp2TbphL30kJ1Ts/XREQl1FR5cX1/1uMv36sndVcpxZx4ZHVy3cfxY3vLTEvRmOC6L4qlroc170J6qaFTy0jPjtc+NohCge7379n83rIEOoQiNfVp2U21j12ti/1h51TgN6l9/5xnTH11sGaZa0apPk61bycdF/sjNnM+d8XdFOPbXnqAEoiHPNACL5ccLXgkqwcSzlO69x02yjrWONEOKwFUC/C7Yg79JGMRjw0NbDOgJG75Gtztvmm6wDC2qGIBKOueu6nQN2vER4P4cqBLXHXqA6a5cdOVmKEOsp97PtA7xM3/tsWeeV8TF25D9uEgKG8SdNwyRsLUFhaETBD4B3nNe8uxrkv/Y5Xft2KXzYedORFJI4Uo5UUdrCQHoTnVgKUGhe7TRIligZlO+Hg0RWpL7fwOLppaBsM65BrmP10xt+GGM4S9OiL03C6NQt8JhI8hEv7twSRs8y3Ikaec+EkFO8ofS1oPgDIDzIN/b8v6O7YjThUnAiHJwGsIKKZRPQd/4t0w2JNlZOeygCzEpKiS+L/bALMgmV+EMFKY7qaFxjR88QF3TV5mADgpct746yujdGpcaZhRlur0ZH+5fcyhg2CwVd/Ls4+XXTqqj1F+O62M3D3aK3gSkokn4phTf4xn8fYThP1k35GwiOr9Vw+oAUyUxLxx7bDKCh2l5XXCq66G9I+B/XSknDG07+itLwKz87chP/9YewdpJk5GDyy4ghfb0crtwgq7NAoE+/fMCBARZOc6EGnxlmO/PLFlCfirCjNwGDM20kQ8lc5VHpG2rU1GC/Ae8d0BOCvbJiekqB+V2bMwdjBAOCKgS1x75jIObeIOBEO7wN4GsBT8Nscno9ko+KB+un2+eb1qpHxPZoYZsXUd1qRIpgYCifJ7N6et91Xq1ivNuPT5o6NM3HPWR0N9nb2YuVkpKBJ3VRfsFCbnHS8dqWxu/CPa/bD62UBqj/9yNmjplrg8DTRZsXf9QGKi9XqZ6UVWrVFgodQUl6FK95a5LgCoBP4nWIMeGLaBuxVR5fpyQmmo3yxwzfyThI9v8ijHcE7mcG6iSrX42bG5dvUYuYwvKPxwCvYbLuO2sUYKqu9rmNWeHxTi/ppuH9cJ7x5dT8AQCd1Ju2kDnmscfLTn2CMvahGR8/lfxFvWYzRR4kakZrkv31dm5rHPlw3OA+f3DRQUwbwz+8v9en7j5dX4cMFOyPmxWSJg1HR5GkbMPFDNe5R9470eWwWVuw+iqkr92lG/U4Qa//yOA2ul87NTEGDjBTcMDjQqHt2tyYY9Z+5eFhXPlQ/ctanbth2SJkxmL3nohFW3FMf8JXo8SApgXDP6A647+s1GjVXKIjN5c8GkRLxbeYWK/aL+hobAHCfUPZVX4fYCQHpL2x219uYuHCyOy1f//C5XfDwuYotTzzz4vtHmqasCSby3SnHTlZi3pbDIakWJw5ti6bqQJLPkCJdxS0cOBEO84joSSI6jYj68L+ItyyGOM2cKqYesNonKzUJp7fNQVYd/3T65w0FeEl12TxaWoGHpq7DJ4t2Y/qa/a6ry4WC00e0oFgZgevfETG24apBgS6EVjEGqUkJhhG5F/Zu5hM0g9sFqqUa103F9kOlvnrFPNeO3qAtdpztBUE0f+thX1JAEf1Unzsc6IVJooeQlODBAVWl9IeFC/GnEwfh93+OMF0v0r6hch29BH1+sC7VnEsFV1sPua9hzo/PDdT1bGYbVw/K03znM06ndG1a1zf7Fq+tYVaqqdunPkVNOAm3q2mUzFdhwcld7Q1gEIB/I8yurGrU9RoiWklES9Vl9YloFhFtUf9bO1xHAKfV3a4fnOf7LJbwM0OvQ+WZGXmf9u78HfjLx8vx+5bgE52JLN5xBDerhkUz3ORjembGxoBR8uIHRmJgG0U3n2QQDSt6x3zz18DIZ9758XKiAPDIhK749e/DAcAw2R4fyQ9oXR9dm2bhyIkKPPLdOuzRRSSLnYuYlPCFWZt9yfjMUNwXA/XlAJCY4MEJk/xNega1aeBoFgooQm/nU+PxqUUuJCP0iehExEFLMDMHLmD/PESZwbnJAcQYw83D2qifXZ0WgPOBi5MMr8GSmpSAMV0buY5kNt3epbE9ljgJghth8BdOV9YRjLFejLF+6vdJAH5hjLUH8Iv6PS4RDWtOpol61Sgv1anvfPoalF8Mhj+9sQBv/LbdV3xGT9vcdIzv4Txt9qtztmGeTnA1zEz1jUaNUmKL19y7ZeB1GRl0q6oZ5m89jIMlZYbC619TlfxBRScqsW5fMQ6VlOObFfk4rMvjJP4mh0q0BZoA4LtV+0ztDwT/C6zv2IrU+hTc8+fd352lknCK6Grr5Lmyqy3AIfKnH3cKT8/B74FVpTlAEUZcID14Thdku6gVrXePddqBVgfpPOKUW4a1tU0S6BSxWFS84yQIrhERvUNE09XvXYjoxgi2aQIUIzjU/+dH8FwanrjAuOC9GeLD7OS31r/oXC0hTvUHtK5vmw7YLWZtG9GxIVIS3U2bjQQXNwwbGUTtjIVGLsMr9xzFnZ+uxNaDx5FoMBvZeEDpDLmNJsFDmH7nELTO0Y7QB7Ux9jbi3DFlhWXMg1hTQYTbRbhw2HG4NOQAPpE+wj2eue4AVv3rLOx8arzp9lYxCWLbPUSu02Xwe8D9/Cf0NC+GBQDZ6clYcN9I7HxqvKZeh5MU1voIf6cd6KwNkctbBiiDGqc5pzh+5wLtdfuM7WFoV6RxolZ6D8BMAPyp2Azgb2E6PwPwExEtI6KJ6rJGjDFeD/EAAENfSyKaSERLiWjpoUPuq1sZHtPlTyb2B072vGdMB0MdvEbIuGqBOaL6x6w2QzDdWbrBSJ7niflmRX7AOruRr5GagxtWczKM89pwuDCq9jKc/tSv+EFXRtMoHbXI0A65hm6VgCJQX/51q2Eb+WxDtDUcPh44MwmWJEGg3j5lBe79MtA+ImIlmEQvGw+Ra/WOT0C6281Hk7qp6Nsq29EMaOY68wqLZozt1thXMyWSuH0vyeS++YLhaoB0MBUORMTfmhzG2OcAvADAGKsC4C7E1JwzGGN9AIyFUmFuqLiSKb2m4XPJGHuTMdaPMdYvNzc8bmFufzCxU3cy2m+YmYr/XNorYLlGyFi0Yc+RE/ht8yHL6O3RalnPkc/7HcqMCsGb5ZcHYJkDRzwWb2t5lfI4GNULtvMyNNrnwj7N8fpVfdC+YYblS8nLZiZ4CE9f1B29dYFZXsZwyzAlYGjR/SMD9m+Xm2GRmpx8dbL1DyAXDmId7cxU57p4O/SzJbvRvpWbpahyCcbjU68pdCskJvRqhq/+crojw66TCHlA+468dlVfdGvmPMdTsITLu8g/c4h/6WA1c+C18UqJqAHU50Kt7XDMdC8XMMby1f8HAXwDYACAAiJqop6rCYDIzhkF3P5cPB33zL8NdWx0XLhdO3V+e952TT3chduPmFYbm7H2AK55dzHKLCJb3YTkm72Llw1ogQfGGecMmrpyn+8zv1/cQCy69nLsXiojm0fb3Ayc3a2JMvqy2P1MtUZG/7xsXNq/JVo20FZbK6+qxqSxnbDzqfGG+ZXW5h/DCz9tCljO4anM9b8H16M/ON5/j8xmIMGgjz25cqC7EqMi2oEHmT5bZuh/v0hGiweTGyxahGuk77c5hOd4kcRKOPDm3w3gOwBtiWg+lLKht4d6YiJKJ6JM/hnAWVBSdXwH4Fp1s2sBTA31XM7b5G77vq2y0bdVNpplWycpE+mlG91OnrYBf/14uWYZ98fX4/X5SJsf/6FzuuCV2VtN1w/Iq4/Zfx8Ogrke+EhpBd6db29k5VNnn3AwsF/YCQe7EaXV/r1b1EO/Vtm+0b8+K+tFry2wtCks3nkEL/661XAbUS7pO0R+vkhl1BRdgjNTEg0N+U7Rt91t3x54/yMnHexqoMeSYDvzgPtfg2wOVsOdXCK6W/38DYAfoVxTOYBRUDK1hkIjAN+oHUwigE8YYzOIaAmAz1Wj9y4oif+igtup3rk9m+JcGwOdnnN6NsE9Bj72mnaYNMPrYEq6peA4np1pPhq+cUhrtM5J10Si6tlXdNKxOy8AvPmbkpY7xWDmEOoIyWr34xVVIPIHvxmpJRbvOIKhNtGoZu6dZgZpbpx1G/TnFDEa2sn965+XjSU7A1WHQOC18a9ZDtVg+oGI/l7M+ftwFJeFJy7HqVopFrj1LqoJMwM7rGYOCQAyAGQCSIfSgScASFOXhQRjbDtjrKf615Ux9oS6vJAxNpIx1p4xNoox5r6CTbBE4Qd1IoA2qd44uwtP4I252/wFdmympH1bZWPci/MctsOcCp0H0R+TzsT/XdbL9Bh3qelBzukRKChD9UG3fCmZ4t3VT609YNTJX/s/RTv66WLzwjtmA1Z+6oC0HGqP+XEIxXysmPSVf9zlJDWEVUryct2siD9Dr19tHG2sJ0CtpFufl5OOHs3rOTqWHU5nDjznVbCZUoMhXKdawNXKNUB4WA0f9jPGHotaS+KAaPxeTh6yr5btxbjuTfDAt2swb8thnN+7GRplpfpGbWaqFqP0CXr4nlb650ph5Fo/PRlN69UxVKHwZtw6oh1uHaEUwbnmtFb4YMEu3zYeD2F4x9ygChEB1vfLyxjuHePX+xt1Lnz3VXuLTI+zpaAEOw6Xor+QaI9g7qmzw0TtFy5ErysnhlCrezt9rbEHkFMDq144R9Tm4PDgd4xsjyvfXoSOLmM2QiFcNSJ6Nq+LnYdLUTfCFfjCgRObwylDNPKdiOcwy4jKXxJuqOYjV975hTKK4S87kbn2eMnOwMma0XtrNAt6bII/VoS3N69Bum19ADMsJw5MiTLPmzQNM9YeMJwB8Ot98sIepmksflpfgLs/X4Vr312sWW42czDrcMOF1v3Ufnsrm4Q+kvtEuTtHQ73ntZN4hWBxGivCn6Voqm6SEjxIT04wrE9ihf5+TRzaFtPuGOI6vigWWL2xgb5/tZxoPGziOczSHuhfEt4J+2wOwkHECONzHEQ7846OYD4KFI3m/prRhtLBEtEzy+q1v21EO7xhqubwn0TvfssAnP/KfADA9LX7bTsXM4+ybDVfkFhJ7mBJud9XPcCoGE3duP1D6Ua9wvNRORXW0fRWcnvsaLuDLnpgFJ44P7CglRG1YWRt+oREVdcfJ0RHOBCGtFdcFV/81diryKyT44Y/cf1lby70fdYHgRnB00hY6fL7tMr26XW522YwfcIVby9Sz2VdrevvYzpijEl1PLHf69AoQ7NO7EwYsy528/rcbablWc1SnfNTj3phLlYLaqloiobDx8sDckbpSTCIIud018UAjO3eGK9f1dexnYDbPHyeW472Cg63UebRNvpmpCRGND14vBG5dIY1kGgNCO2Cdv7YVuhLygcoU9PKai/eUXP4TF2pRCKXV1X7RoIAMO8fxmoTsYPgeYH4cY1ok5Puq2XAM5UadbxOXpPftxwOSb8qCrHScmPjqvLZuo0rdh/F6r3G4TmvztlmuFwcNYvBchN6NbNrdkjwZHWcnYXWNg6rmUODDG1uo+bZaTi7W2OL4D8tbXLS4SHgPPWalxmoHMOF25oJ8dxN8+fWKN9YTaHmtjwCGFUyiwROPHgWbS/UTJt/XOOfFdz75WqUlFXiW126Cn5YfQrjjQf8LpdndlLsHB/cMAA3Dw0sN/jHpDNxUd/mmHrrYPRsXtenyjLUKjl4O79esRe3jmiH74Vi9G4QT6FPMHdAcLf1MmYYRMXbOKS9+yh68fqyhFQc/zzbqKhR5LAbtDjt6IOBoKgzm9Wrg9PaNMCgNpGre+w2Y2w8J68b260xhrTP8dUxr4lI4SBglB46Eozo1BA9mlvPHpoIVeb+2FqIOz9dqVlfeLwiwADLR7r64jTckwjwZ9Xs1qyuL4GcSNN6dZCU4MGiHYVYtfcYjpdX4nh5lcmo3P7l9HoZkhI86G5zvWZYOQm0bOBv/5HjFZadi1E6cftzK/9vGdYWzYVAx2h3SnZdplV0fqjPNI/G/2TxbkyZOAhjuzvP4uuW0vJA1WNeg7SASorxGw3hp0FGCj68cSDyctLtN45TpHAQiFaEZt9W2dhSYF097I4pK3xZW5+cvjFg/cnK6gAdrVlHGkyE7b9/VM6558hJdHt4puv9OQZJV11h1Q//Q6ilu2B7oeHvx7O+JgQ1vfd7dukFQu+W9YI4XnDYGcDr6dR2k8/3e4x9tdy6boUd/JnKyXCeetsJRkWcjIpc/XrPcNwxsr1mGXe1jmZRrFMRKRwE3E5rQ+G1q5wX0zPK+Lls11GD4Cz/Z14vGQhPAI/RvXGihoukwB36zGxN9HNhaYXptsEETHF58JqBTSKSBWbc4rKSpyt4YsRzDQIcQ+Gda/vjh9u1qkYjpwUjAzB/pJxWbJQEhxQOAtEM3w9GBy5yRrscy5mDmJ8pHPEbwd6aUOsciG3/+e5hmnViJT4AqLIo+tKpSSbu1I1A3ZxbD4N/9nDf2E6m2wVFiPmQwulZYRbrESqpSQmaTMYNM1PQJteZCoa/p5G0tUikcNAQzcRfoT7XC7cXOlYrZacl44LezfDPs4PvxIK9NaF2Kq0FnW27hlpXVn1p1llqMXsjOjXO8qX5cMrKPeYR517GUKyqNSI+ibC5hfrTh/MpjqQLq/hsuEle6Q8GlcIhkkjhIBDNpJChGjUnfb1GU3cZANJTDEpqntMFXZpm4T+X9sJfhgd6Jzkl2MCvUIVDneQEXNi7GZpn18EvG7Sd/8x1B3Cywq+KKCgOX8EdAHhltrGLK6AMzhkUtUv7hpFN42AXlRzJFBdmpVLDgXhMq6BMPV45c4gK4UtCXwsw8paIZ3g2VE5KYoKSFkN4ydzUd7AiVmolAL4Msn/TeWzd/OGy0I8dJIwxtMhOw6/3DA//wV32efpxhpFADj59Cc8vFX7pILbTzWCpOgxpZCT2yJmDQLhrN0easw2iivX9Qrhm3issVCxWzN50yFc5LVi4y+znt5wW0nHCCUP0InTtBLO+GaI8Tkn0YEKvpkEbb3MzU9CtWVZQ+9qhHzc4FUD+uiZSOkQSKRwE7PL+xxtndrYveh5s/hl9IN2UxXuCOg4QumpJmQ0xdG4SmU4qGBiLXufk9vaJtjMvY1iy4wh2Flqn4DDjT/1a4IfbI5MoTmynO7WS8l+qlSKLFA4CbXMz7DeKE+4a1QEX9Wluu12w6oA1j5yl+f7IuV2COg4QegoBQvgNomnJoXV2XsYilr7BtSzVCalKwWurysuwz0XhpmiyW8gZpVeHWlEtDdJRQQoHHbeNaIerhTKN0aB+uvsAo7TkBPy25VAEWqOQkpigGZld2j/4OsahDvDcdBx28PgPfYZXtzAWObWSvsKc3aXrm/HMDH8lQMYU1VA8Uk/Nhts8uw4I5F6tJGcOEUUKBx1/H9MRjwsRptGgSd1UtGpgngIBAK7QFZlvUi8V7/+xM2xt+O3eEfh04iDNMlE4hJJ3KlTPLDcdhxllldXYdKAEo7sodppL+tnPuqwoKC4zzeYaKvr8RXaeYvrbq69TPqhNA41LcLzQtWldPHlhd0wa28mybK0ePnMIIiOKxAVSOMQJds/5BKFW9bIHR+GcHk3D6nrbskFaQKeUJAiHn9cXoFk9577o4cTjCX3msKvwBMb89zfkZqbgqkEtccuw4N16ASUae6mDynvB0Fzn8+/20kd3CSwiFa/96OUDWuKcHk1dqQ75cy9nDpFFCoc4YN2+Ylv9KX9xUhI9aJCRgts+WY7fNvvVSjy69NYRoXV6IolCGbBnZm7SJPCLLhSyIGxSLxWvXtkHozs3wuTzuyMzNclQ3TK2m3FdCTOiW/jHGL3TQTSDOcMFuZAO3F7U2KJ2tiR0pHCIITufGu+rTStWITOC90H/u74/gMDCPj/eMQQAcMXA8NlLxHxE1V5v0LaD+VsPh9QORW6G1uFlpSZhXPcmmkyuSx4YFbDdVYNaBeT8sSIS/XDb3AzceEZr33c7+dOpSaZm++dnbfZ9fve6fnEhwOxwozoc2bkh/nl2J0wc2sZ+Y0nQSOEQY7JSnRlG+YtjN8MI50Q7UVDqHj1R6bgYSx8159DITg3Rq0W9MMQ5RK8QU3ZaMro1q4ueLeo5yvUTliA/Hd2a1cVD53QRSqdan6NPy2w8dI6xN5nvvsW5BsaN00FKYgL+Mrwt6qWFN1OsREvcCgciOpuINhHRViKaFOv2RIr8opOOtnvpF6WkKH/HeRlPPeF079O7oK7YXeRov+EdlfiLLk2z8O2tg33fg4Uoejn8U5KUa85MSXTUWUUyky93UnB7CjHBIE/zEe9E8zeWOCMuhQMRJQB4BcBYAF0AXE5EwTvaxzHlQmGetY+OMd1uwfZCXDGwpa9ozmKTco3hdK/M0tUJOFHhLL1IuPvL3i2ycW4Pd0VmgtVH85KmQzvkYJhFUOQ/1GpwkZg5hErDLL8tJd4nDh8u2IlJX61W1Eo1QP11KhGXwgHAAABbGWPbGWMVAD4FMCHGbYoIYiSyVY2A5AQPJk/ohrRkazVUOIXD7WdqDdBO312uAgtXUy7q2xyPTgh0L/6rRSLBN69RVDJ6t04z0pITMPvvw302oIlD2+LKgeaxHcmqsT6Sad65odnpGVY8NBrrHh2j+Z3ivcPdc/Qk1u0rljOHOCRehUMzAGK+hr3qMh9ENJGIlhLR0kOHIhcMFmnE0alVx775ibEa1z19egtuDwg2XYYRdXUzB97p97GpgubXc4d/vHpeT2dFZ3o0rwfAeUqUYR1yA2IByqvMbSVcfRdJzyC3GVGz05ORnpKIQ7psvfHc694/rjO+Vx0A4lyOnXLEq3CwhTH2JmOsH2OsX25uzcqJJBLsC/HIuV0130+oGWXD6fqtz+TZX7VzDG6Xgw6NMjCojbHdI5KqDDGa3OzWiUnm9h5xllNI7zP/1bK9+Hp5vun2lw9oieUPjUZWapLpNqHir6Xg7iHhdqw5fx+OYR2VdyPada/dQkTxLMNOSeI1ZXc+gBbC9+bqslqHOO138/7qDaGRUG/oO5SmahBci+w0tM5JR4XJyHqP2iFHOjGaUflOAJoO26nBWG/IX7mnCLM3HcTi+0caBlvVSU5AnRDzM0WKnzcUIC05wVfcPhLptsON4q0c/+08lYhX4bAEQHsiag1FKFwG4IrYNikyaHLauxhrBwiHCKg39H2iWGTljav7me7HvWy6Ng1/FlW9Os2ImXcNBaCU73Sahl2fiiHaKVSMOK7OBt3+tnec2R5JuvsU3/OG6KU/lzgnLoUDY6yKiG4DMBNAAoB3GWPrYtysiCC+91YvyMx1BzBGqN8QUBqS8WOE7y0zqzBmNyMY260JFu84gg6Nwl8h7drT8wKKHJlxs4sUGfGYiuGTRbsBKHmc3HCDEBBXk5Dzhvgibm0OjLEfGWMdGGNtGWNPxLo9kaJKSK9s1T09+eMGzXd97ABX5YSabVRE318ePVEBwF44dGyciU9uGoQW9a2TCQaDUX6nhpkp6BiiINKrld6bvwPnvvQ7ykJIOBgqIzopv3Godo2aoK2JZqCjxBlxKxxOFY6d9Gf2FEfqLeornSDv7M/pofXSaVE/DTufGu/7/tN6pb5ycqIHXwgV0+qHEEWq7zCPlCrCQe/FFGsWPzAKDTJCi5bVuxGv2FOENfnHIpZ51QmdGisCL1TbxomK2Ak4pygGaSkd4gkpHGKMmFlC7J4u7afY409Xa0DbdchGKqenL+qOhmFMTjawdQP8eMcQDGmfE7ZjhovistA6cb1aid/3SEZA29G0Xh18/dfTMaR9aN5487ce1iRRjEfuH9cZz13SM9bNkAjEpc3hVGLrwRLfZyNzATcsjjJIwyxiVDCoSd3QUmzrZw7pKQl4YdZm5GQk46mLeoR07HDTpG4drM0vtt/QBH3fyWdxsYyATk1KQJ+W2SEf5/8u643GdeOz4A+nXcOaU4XxVCG+hxOnAJXVoisr+YK8jpcrqoBlO5WaAWvzj1keJz3Fr3rwBU+F2DZ9dU8vU2oNNKqFqZL1aiX+vTbowcf3aIK+rYxjUiQSM6RwiDEvX9Fb8/3JC7vj57uH4fW5ig9/mtrpd29WN2Df3ULR+ObZovE3PJ43+pnDlEW78ch5XXHX6A5hOX48offM4oIxlmoliSSWSOEQY/q20qoN0lMS0a5hBga2VkZ62w8pdR6yDdRGdobKUPPq6EXMZ0v3GG4XbR4+twsen6CNEA9VHOo9sLhgjGTuJIkknpHCIcaY6bTP1lckM9gsx8RDJ1xqpbQwusWGk+sHt0bvMOjiRfSpQjw+tZIUDpJTEykcYoxZ3yO6uALG6g0iwqcTB+Grv5yuXR6mtsWqZrSes//7G/7+xSrLbYKN/ePxEfXStN5gvsR6NVg2PPb9egx+6tdYN0NSQ4nPoeEphNnMQZ9Kw6yPGtSmgfnBa3DHJjKiU0O0yNYG1IXLFtChcSY2FZQE3G+uZYrHeg1O6d48S9pMJEEjhUOMMXt5rxrUEv/5ebPtdkZw42ptCSr659mdApbpb0ewqcq52kg/86hbJwmdm2Q5yuUUr1zQuzku6N081s2Q1FCkcIgxZgNTfeI0NwPA+MsSFH5Ohimthb/0hC4Irl0Opt85JCznkEhqIlI4xBizGYHe796NYbRbs7rY8NjZYRn1NkhPRqGaNiOe2FxQYr+RC04FgSqRuEEKhxizbp9xcFu6zlPIjeo7wUNhqzUQj4IBANrmaiNqnabmDkC9r3GYlFUiiSk1V6FaS+hnEbnaoZG/A4yV/eCe0R0wpqt16o5YMLidNr/T3WeFFpgX75XSJJJoI4VDjHGa1jpWTjO3j2yP1jnxn/cmOcTEclI2SCRapFopDhjVuRF6t6wXsFw0M8hgLHNmrN2vSx/inIMlSiEdfaoQieRURwqHOODta41LbmYLtRhiKRuM8jrFE7d8tBy3jWgX1L6vXtkXb83bjtE2WW8lklMNKRzimHeu64cdh0uRlOCJaSbUAa3jO6Pn9DuHICMlES/P3up639zMFNw/rnMEWiWR1GykcIhjMlOT0KN5vVg3A7mZSi2AhpnxWROgc5MsnKioinUzJJJahRQOEkf0alEPWXFWHlQikUQO6a0kcYSH4tsoHsdNk0hqJDERDkT0CBHlE9FK9W+csO4+ItpKRJuIaEws2icJhIiw+8gJ+w2jyK/3DAvISCuRSMJDLNVK/2GMPScuIKIuAC4D0BVAUwA/E1EHxlh4EulIgiYtOQFHjsdXtHSbXDFIUCKRhJN4szlMAPApY6wcwA4i2gpgAIAFsW2W5KmLemBXYWmsmyGRSKJELG0OtxHRaiJ6l4h4Wa9mAMRalHvVZQEQ0UQiWkpESw8dOhTptp7yNKtXB6e3zbHfUCKR1AoiJhyI6GciWmvwNwHAawDaAugFYD+A590enzH2JmOsH2OsX25ubngbL6lxxLOxXCKpiURMrcQYG+VkOyJ6C8AP6td8AC2E1c3VZRKJRCKJIrHyVmoifL0AwFr183cALiOiFCJqDaA9gMXRbp+k5iHnDRJJeImVQfoZIuoF5Z3eCeBmAGCMrSOizwGsB1AF4FbpqSRxQ5uc9Fg3QSKpFcREODDGrrZY9wSAJ6LYHEkt4oqBLWPdBImkViAjpCW1AmmPlkjCixQOklqFrOgmkYQHKRwktQM5c5BIwooUDpJahZw3SCThQQoHiUQikQQghYOkVsCkXkkiCStSOEhqFdIeLZGEBykcJLWCA8VlsW6CRFKrkMJBUiuon56M83o2xfCODWPdFImkVhBv9RwkkqBomJmKFy/vHetmSCS1BjlzkEgkEkkAUjhIJBKJJAApHCQSiUQSgBQOEolEIglACgeJRCKRBCCFg0QikUgCkMJBIpFIJAFI4SCRSCSSAIjVghJaRHQIwK4gd88BcDiMzakJ1OZrrs3XZsSpdL2n0rUC0bneVoyxXKMVtUI4hAIRLWWM9Yt1O6JJbb7m2nxtRpxK13sqXSsQ++uVaiWJRCKRBCCFg0QikUgCkMIBeDPWDYgBtfmaa/O1GXEqXe+pdK1AjK/3lLc5SCQSiSQQOXOQSCQSSQBSOEgkEokkgBonHIioBRHNJqL1RLSOiO5Ul9cnollEtEX9n60uv5KIVhPRGiL6g4h6qstTiWgxEa1Sj/OoxTmvVY+7hYiuFZY/QUR7iOj4qXDNRJRGRNOIaKO6/1O15drU5TOE/V8nooRQry+er1dY/x0Rra3N10pEc4hoExGtVP/CXjIwzq43mYjeJKLN6vt6kesLYozVqD8ATQD0UT9nAtgMoAuAZwBMUpdPAvC0+vl0ANnq57EAFqmfCUCG+jkJwCIAgwzOVx/AdvV/tvqZH2+Q2p7jp8I1A0gDMELdJhnAPABja8O1qeuyhGN9BeCy2vpbCusvBPAJgLW1+VoBzAHQ71R4T9V1jwKYrH72AMhxfT2RvFnR+AMwFcBoAJsANBF+pE0G22YDyDdYngZgOYCBBusuB/CG8P0NAJfrtomocIjHa1aX/x+Am2rbtakv5PcALq3NvyWADAC/qx1Y2IVDnF3rHERYOMTZ9e4BkB5K+2ucWkmEiPIA9IYiWRsxxvarqw4AaGSwy40Apgv7JxDRSgAHAcxijC0y2KcZlBvN2asuiwnxcs1EVA/AuQB+CeY6jIiHayOimer+JQC+DPZanBAH1/s4gOcBnAj+KpwRB9cKAP9TVUoPEREFey1OiOX1qu8mADxORMuJ6AsiMjqnJTVWOBBRBpSp/98YY8XiOqaITqbbfgSUH+CfwnbVjLFeAJoDGEBE3SLd7lCIl2smokQAUwC8yBjb7nZ/k2PGxbUxxsZAGd2lADjT7f5OifX1ElEvAG0ZY98Eew0uzhUPv+2VjLHuAIaof1e7vQ6nxMH1Jqr7/cEY6wNgAYDn3F5HjRQORJQE5eZ/zBj7Wl1cQERN1PVNoEhcvn0PAG8DmMAYK9QfjzFWBGA2gLOJaKBgtDoPQD6AFsLmzdVlUSXOrvlNAFsYY/+thdcGxlgZFJXAhHBcn544ud7TAPQjop1QVEsdiGhOWC8UcXOtYIzx/yVQbCwDwnqh/vbHw/UWQpkN8vN/AaCP64uJlL4tUn9QjDUfAPivbvmz0Bp9nlE/twSwFcDpuu1zAdRTP9eBYlw9x+B89QHsgKITzFY/19dtE2mDdNxcM4DJUB5+T226Nij6d64XTgTwGYDbavNvKWyTh8gYpOPiWtXfM0fdJgmKuvCW2nq96rpPAZypfr4OwBeuryfcNyjSfwDOgDItWw1gpfo3DkADKPrvLQB+Fm7S2wCOCtsuVZf3ALBCPc5aAP+yOOcN6o+4FcD1wvJnoOj5vOr/R2rzNUMZmTAAG4Rj/7mWXFsjAEuE/V8CkFhbf0vd+jxERjjExbUCSAewTN1/HRRHioTaer3q8lYAflOP8QuAlm6vR6bPkEgkEkkANdLmIJFIJJLIIoWDRCKRSAKQwkEikUgkAUjhIJFIJJIApHCQSCQSSQBSOEgkQUBE1Wow0jo1e+Y9RGT5PhFRHhFdEa02SiShIIWDRBIcJxljvRhjXaEkVxsL4GGbffIASOEgqRHIOAeJJAiI6DhjLEP43gZKEF0OlACkD6EEXwFKpPUfRLQQQGcokazvA3gRwFMAhkPJ5fQKY+yNqF2ERGKBFA4SSRDohYO6rAhARygZXb2MsTIiag9gCmOsHxENB/B3xtg56vYTATRkjE0mohQA8wFcwhjbEcVLkUgMSYx1AySSWkgSgJfVzKfVADqYbHcWgB5EdLH6vS6A9lBmFhJJTJHCQSIJA6paqRpKxs2HARQA6AnFrldmthuA2xljM6PSSInEBdIgLZGECBHlAngdwMtM0dPWBbCfMeaFUjeA16IugVI+kjMTwF/UNM8gog5ElA6JJA6QMweJJDjqqJW6kgBUQTFAv6CuexXAV0R0DYAZAErV5asBVBPRKgDvQckOmgdguVqZ7BCA86PTfInEGmmQlkgkEkkAUq0kkUgkkgCkcJBIJBJJAFI4SCQSiSQAKRwkEolEEoAUDhKJRCIJQAoHiUQikQQghYNEIpFIAvh/14xe7g0bxN4AAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "# Convert 'startDate' column to datetime objects\n", + "New_weather_steps['start'] = pd.to_datetime(New_weather_steps['start'])\n", + "\n", + "dates = New_weather_steps['start']\n", + "values = New_weather_steps['temp_celsius']\n", + "\n", + "fig, ax = plt.subplots()\n", + "ax.plot(dates, values)\n", + "\n", + "# Set the number of desired ticks\n", + "num_ticks = 5\n", + "\n", + "# Calculate the step size to evenly distribute the ticks\n", + "step = len(dates) // (num_ticks - 1)\n", + "\n", + "ax.set_xlabel('Date')\n", + "ax.set_ylabel('Temperature')\n", + "ax.set_title('The temperature over time')\n", + "\n", + "\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 95, + "metadata": {}, + "outputs": [], + "source": [ + "#Ik dacht misschien iets met pearson's correlation test, dus deze functie had ik uit de Python3Code gehaald. \n", + "#Hij moet nog aangepast worden op onze set\n", + "from scipy.stats import pearsonr\n", + "from operator import itemgetter\n", + "import numpy as np\n", + "\n", + "def pearson_selection(max_features, X_train, y_train):\n", + " correlations = []\n", + " full_columns_and_corr = []\n", + " abs_columns_and_corr = []\n", + "\n", + " # Compute the absolute correlations per column.\n", + " for i in range(0, len(X_train.columns)):\n", + " corr, p = pearsonr(X_train[X_train.columns[i]], y_train)\n", + " correlations.append(abs(corr))\n", + " if np.isfinite(corr):\n", + " full_columns_and_corr.append((X_train.columns[i], corr))\n", + " abs_columns_and_corr.append((X_train.columns[i], abs(corr)))\n", + "\n", + " sorted_attributes = sorted(abs_columns_and_corr,key=itemgetter(1), reverse=True)\n", + " res_list = [x[0] for x in sorted_attributes[0:max_features]]\n", + "\n", + " # And return the most correlated ones.\n", + " return res_list, sorted(full_columns_and_corr,key=itemgetter(1), reverse=True)" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "New_weather_steps.to_csv('New_weather_steps.csv')" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.13" + }, + "orig_nbformat": 4 + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/Missing_data/apply_interpolation.ipynb b/Missing_data/apply_interpolation.ipynb new file mode 100644 index 00000000..f616a7be --- /dev/null +++ b/Missing_data/apply_interpolation.ipynb @@ -0,0 +1,947 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "import pandas as pd\n", + "import numpy as np" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
startstepsdirection_windwindspeed_avg_hourwindspeed_avg_10minmax_wind_gusttemp_celsiustemp_min_6htemp_dewpointsunshine_duration...cloud_coverrelative_humidityweather_codeindicator_present_weather_codefograinsnowthunderice_formationint_steps
02023-01-01 00:00:000.000000220.0110.0130.0200.0142.0NaN84.00.0...8.068.0NaN50.00.00.00.00.00
12023-01-01 00:10:0097.054054220.0110.0130.0200.0142.0NaN84.00.0...8.068.0NaN50.00.00.00.00.097
22023-01-01 00:20:0094.945946220.0110.0130.0200.0142.0NaN84.00.0...8.068.0NaN50.00.00.00.00.094
32023-01-01 00:30:000.000000220.0110.0130.0200.0142.0NaN84.00.0...8.068.0NaN50.00.00.00.00.00
42023-01-01 00:40:0046.876667220.0110.0130.0200.0142.0NaN84.00.0...8.068.0NaN50.00.00.00.00.046
..................................................................
224602023-06-05 23:20:000.00000010.060.060.080.0NaNNaNNaNNaN...NaNNaNNaN6NaNNaNNaNNaNNaN0
224612023-06-05 23:30:000.00000010.060.060.080.0NaNNaNNaNNaN...NaNNaNNaN6NaNNaNNaNNaNNaN0
224622023-06-05 23:40:000.00000010.060.060.080.0NaNNaNNaNNaN...NaNNaNNaN6NaNNaNNaNNaNNaN0
224632023-06-05 23:50:000.00000010.060.060.080.0NaNNaNNaNNaN...NaNNaNNaN6NaNNaNNaNNaNNaN0
224642023-06-06 00:00:000.000000360.020.020.030.095.0NaN82.00.0...NaN91.0NaN6NaNNaNNaNNaNNaN0
\n", + "

22465 rows × 25 columns

\n", + "
" + ], + "text/plain": [ + " start steps direction_wind windspeed_avg_hour \\\n", + "0 2023-01-01 00:00:00 0.000000 220.0 110.0 \n", + "1 2023-01-01 00:10:00 97.054054 220.0 110.0 \n", + "2 2023-01-01 00:20:00 94.945946 220.0 110.0 \n", + "3 2023-01-01 00:30:00 0.000000 220.0 110.0 \n", + "4 2023-01-01 00:40:00 46.876667 220.0 110.0 \n", + "... ... ... ... ... \n", + "22460 2023-06-05 23:20:00 0.000000 10.0 60.0 \n", + "22461 2023-06-05 23:30:00 0.000000 10.0 60.0 \n", + "22462 2023-06-05 23:40:00 0.000000 10.0 60.0 \n", + "22463 2023-06-05 23:50:00 0.000000 10.0 60.0 \n", + "22464 2023-06-06 00:00:00 0.000000 360.0 20.0 \n", + "\n", + " windspeed_avg_10min max_wind_gust temp_celsius temp_min_6h \\\n", + "0 130.0 200.0 142.0 NaN \n", + "1 130.0 200.0 142.0 NaN \n", + "2 130.0 200.0 142.0 NaN \n", + "3 130.0 200.0 142.0 NaN \n", + "4 130.0 200.0 142.0 NaN \n", + "... ... ... ... ... \n", + "22460 60.0 80.0 NaN NaN \n", + "22461 60.0 80.0 NaN NaN \n", + "22462 60.0 80.0 NaN NaN \n", + "22463 60.0 80.0 NaN NaN \n", + "22464 20.0 30.0 95.0 NaN \n", + "\n", + " temp_dewpoint sunshine_duration ... cloud_cover relative_humidity \\\n", + "0 84.0 0.0 ... 8.0 68.0 \n", + "1 84.0 0.0 ... 8.0 68.0 \n", + "2 84.0 0.0 ... 8.0 68.0 \n", + "3 84.0 0.0 ... 8.0 68.0 \n", + "4 84.0 0.0 ... 8.0 68.0 \n", + "... ... ... ... ... ... \n", + "22460 NaN NaN ... NaN NaN \n", + "22461 NaN NaN ... NaN NaN \n", + "22462 NaN NaN ... NaN NaN \n", + "22463 NaN NaN ... NaN NaN \n", + "22464 82.0 0.0 ... NaN 91.0 \n", + "\n", + " weather_code indicator_present_weather_code fog rain snow thunder \\\n", + "0 NaN 5 0.0 0.0 0.0 0.0 \n", + "1 NaN 5 0.0 0.0 0.0 0.0 \n", + "2 NaN 5 0.0 0.0 0.0 0.0 \n", + "3 NaN 5 0.0 0.0 0.0 0.0 \n", + "4 NaN 5 0.0 0.0 0.0 0.0 \n", + "... ... ... ... ... ... ... \n", + "22460 NaN 6 NaN NaN NaN NaN \n", + "22461 NaN 6 NaN NaN NaN NaN \n", + "22462 NaN 6 NaN NaN NaN NaN \n", + "22463 NaN 6 NaN NaN NaN NaN \n", + "22464 NaN 6 NaN NaN NaN NaN \n", + "\n", + " ice_formation int_steps \n", + "0 0.0 0 \n", + "1 0.0 97 \n", + "2 0.0 94 \n", + "3 0.0 0 \n", + "4 0.0 46 \n", + "... ... ... \n", + "22460 NaN 0 \n", + "22461 NaN 0 \n", + "22462 NaN 0 \n", + "22463 NaN 0 \n", + "22464 NaN 0 \n", + "\n", + "[22465 rows x 25 columns]" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "New_weather_steps = pd.read_csv(\"New_weather_steps.csv\")\n", + "New_weather_steps = New_weather_steps.drop(\"Unnamed: 0\",axis=1)\n", + "display(New_weather_steps)" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
startstepsdirection_windwindspeed_avg_hourwindspeed_avg_10minmax_wind_gusttemp_celsiustemp_min_6htemp_dewpointsunshine_duration...cloud_coverrelative_humidityweather_codeindicator_present_weather_codefograinsnowthunderice_formationint_steps
02023-01-01 00:00:000.000000220.0110.0130.0200.0142.000000NaN84.00.0...8.068.0NaN50.00.00.00.00.00
12023-01-01 00:10:0097.054054220.0110.0130.0200.0142.000000NaN84.00.0...8.068.0NaN50.00.00.00.00.097
22023-01-01 00:20:0094.945946220.0110.0130.0200.0142.000000NaN84.00.0...8.068.0NaN50.00.00.00.00.094
32023-01-01 00:30:000.000000220.0110.0130.0200.0142.000000NaN84.00.0...8.068.0NaN50.00.00.00.00.00
42023-01-01 00:40:0046.876667220.0110.0130.0200.0142.000000NaN84.00.0...8.068.0NaN50.00.00.00.00.046
52023-01-01 00:50:00126.326232220.0110.0130.0200.0142.000000NaN84.00.0...8.068.0NaN50.00.00.00.00.0126
62023-01-01 01:00:00128.406776220.0160.0150.0200.0139.714286NaNNaNNaN...NaNNaNNaN6NaNNaNNaNNaNNaN128
72023-01-01 01:10:0026.821821220.0160.0150.0200.0137.428571NaNNaNNaN...NaNNaNNaN6NaNNaNNaNNaNNaN26
82023-01-01 01:20:000.000000220.0160.0150.0200.0135.142857NaNNaNNaN...NaNNaNNaN6NaNNaNNaNNaNNaN0
92023-01-01 01:30:0094.514644220.0160.0150.0200.0132.857143NaNNaNNaN...NaNNaNNaN6NaNNaNNaNNaNNaN94
102023-01-01 01:40:0083.035725220.0160.0150.0200.0130.571429NaNNaNNaN...NaNNaNNaN6NaNNaNNaNNaNNaN83
112023-01-01 01:50:001.945755220.0160.0150.0200.0128.285714NaNNaNNaN...NaNNaNNaN6NaNNaNNaNNaNNaN1
122023-01-01 02:00:000.000000210.0140.0130.0170.0126.000000NaN77.00.0...8.072.0NaN50.00.00.00.00.00
132023-01-01 02:10:00117.962963210.0140.0130.0170.0126.000000NaN77.00.0...8.072.0NaN50.00.00.00.00.0117
142023-01-01 02:20:00134.037037210.0140.0130.0170.0126.000000NaN77.00.0...8.072.0NaN50.00.00.00.00.0134
\n", + "

15 rows × 25 columns

\n", + "
" + ], + "text/plain": [ + " start steps direction_wind windspeed_avg_hour \\\n", + "0 2023-01-01 00:00:00 0.000000 220.0 110.0 \n", + "1 2023-01-01 00:10:00 97.054054 220.0 110.0 \n", + "2 2023-01-01 00:20:00 94.945946 220.0 110.0 \n", + "3 2023-01-01 00:30:00 0.000000 220.0 110.0 \n", + "4 2023-01-01 00:40:00 46.876667 220.0 110.0 \n", + "5 2023-01-01 00:50:00 126.326232 220.0 110.0 \n", + "6 2023-01-01 01:00:00 128.406776 220.0 160.0 \n", + "7 2023-01-01 01:10:00 26.821821 220.0 160.0 \n", + "8 2023-01-01 01:20:00 0.000000 220.0 160.0 \n", + "9 2023-01-01 01:30:00 94.514644 220.0 160.0 \n", + "10 2023-01-01 01:40:00 83.035725 220.0 160.0 \n", + "11 2023-01-01 01:50:00 1.945755 220.0 160.0 \n", + "12 2023-01-01 02:00:00 0.000000 210.0 140.0 \n", + "13 2023-01-01 02:10:00 117.962963 210.0 140.0 \n", + "14 2023-01-01 02:20:00 134.037037 210.0 140.0 \n", + "\n", + " windspeed_avg_10min max_wind_gust temp_celsius temp_min_6h \\\n", + "0 130.0 200.0 142.000000 NaN \n", + "1 130.0 200.0 142.000000 NaN \n", + "2 130.0 200.0 142.000000 NaN \n", + "3 130.0 200.0 142.000000 NaN \n", + "4 130.0 200.0 142.000000 NaN \n", + "5 130.0 200.0 142.000000 NaN \n", + "6 150.0 200.0 139.714286 NaN \n", + "7 150.0 200.0 137.428571 NaN \n", + "8 150.0 200.0 135.142857 NaN \n", + "9 150.0 200.0 132.857143 NaN \n", + "10 150.0 200.0 130.571429 NaN \n", + "11 150.0 200.0 128.285714 NaN \n", + "12 130.0 170.0 126.000000 NaN \n", + "13 130.0 170.0 126.000000 NaN \n", + "14 130.0 170.0 126.000000 NaN \n", + "\n", + " temp_dewpoint sunshine_duration ... cloud_cover relative_humidity \\\n", + "0 84.0 0.0 ... 8.0 68.0 \n", + "1 84.0 0.0 ... 8.0 68.0 \n", + "2 84.0 0.0 ... 8.0 68.0 \n", + "3 84.0 0.0 ... 8.0 68.0 \n", + "4 84.0 0.0 ... 8.0 68.0 \n", + "5 84.0 0.0 ... 8.0 68.0 \n", + "6 NaN NaN ... NaN NaN \n", + "7 NaN NaN ... NaN NaN \n", + "8 NaN NaN ... NaN NaN \n", + "9 NaN NaN ... NaN NaN \n", + "10 NaN NaN ... NaN NaN \n", + "11 NaN NaN ... NaN NaN \n", + "12 77.0 0.0 ... 8.0 72.0 \n", + "13 77.0 0.0 ... 8.0 72.0 \n", + "14 77.0 0.0 ... 8.0 72.0 \n", + "\n", + " weather_code indicator_present_weather_code fog rain snow thunder \\\n", + "0 NaN 5 0.0 0.0 0.0 0.0 \n", + "1 NaN 5 0.0 0.0 0.0 0.0 \n", + "2 NaN 5 0.0 0.0 0.0 0.0 \n", + "3 NaN 5 0.0 0.0 0.0 0.0 \n", + "4 NaN 5 0.0 0.0 0.0 0.0 \n", + "5 NaN 5 0.0 0.0 0.0 0.0 \n", + "6 NaN 6 NaN NaN NaN NaN \n", + "7 NaN 6 NaN NaN NaN NaN \n", + "8 NaN 6 NaN NaN NaN NaN \n", + "9 NaN 6 NaN NaN NaN NaN \n", + "10 NaN 6 NaN NaN NaN NaN \n", + "11 NaN 6 NaN NaN NaN NaN \n", + "12 NaN 5 0.0 0.0 0.0 0.0 \n", + "13 NaN 5 0.0 0.0 0.0 0.0 \n", + "14 NaN 5 0.0 0.0 0.0 0.0 \n", + "\n", + " ice_formation int_steps \n", + "0 0.0 0 \n", + "1 0.0 97 \n", + "2 0.0 94 \n", + "3 0.0 0 \n", + "4 0.0 46 \n", + "5 0.0 126 \n", + "6 NaN 128 \n", + "7 NaN 26 \n", + "8 NaN 0 \n", + "9 NaN 94 \n", + "10 NaN 83 \n", + "11 NaN 1 \n", + "12 0.0 0 \n", + "13 0.0 117 \n", + "14 0.0 134 \n", + "\n", + "[15 rows x 25 columns]" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "New_weather_steps['temp_celsius'] = New_weather_steps['temp_celsius'].interpolate()\n", + "display(New_weather_steps.iloc[:15])" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.13" + }, + "orig_nbformat": 4 + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/Missing_data/apply_kalman_filter.ipynb b/Missing_data/apply_kalman_filter.ipynb new file mode 100644 index 00000000..7894d3d5 --- /dev/null +++ b/Missing_data/apply_kalman_filter.ipynb @@ -0,0 +1,587 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "import pandas as pd\n", + "import numpy as np\n", + "from pykalman import KalmanFilter" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "New_weather_steps = pd.read_csv(\"New_weather_steps.csv\")\n", + "New_weather_steps = New_weather_steps.drop(\"Unnamed: 0\",axis=1)" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [], + "source": [ + "# Implements the Kalman filter for single columns.\n", + "def apply_kalman_filter(data_table, col):\n", + " # Initialize the Kalman filter with the trivial transition and observation matrices.\n", + " kf = KalmanFilter(transition_matrices=[[1]], observation_matrices=[[1]])\n", + "\n", + " numpy_array_state = data_table[col].values\n", + " numpy_array_state = numpy_array_state.astype(np.float32)\n", + " numpy_matrix_state_with_mask = np.ma.masked_invalid(numpy_array_state)\n", + "\n", + " # Find the best other parameters based on the data (e.g. Q)\n", + " kf = kf.em(numpy_matrix_state_with_mask, n_iter=5)\n", + "\n", + " # And apply the filter.\n", + " (new_data, filtered_state_covariances) = kf.filter(numpy_matrix_state_with_mask)\n", + "\n", + " data_table[col + '_kalman'] = new_data\n", + " return(data_table)\n" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
startstepsdirection_windwindspeed_avg_hourwindspeed_avg_10minmax_wind_gusttemp_celsiustemp_min_6htemp_dewpointsunshine_duration...relative_humidityweather_codeindicator_present_weather_codefograinsnowthunderice_formationint_stepstemp_celsius_kalman
02023-01-01 00:00:000.000000220.0110.0130.0200.0142.0NaN84.00.0...68.0NaN50.00.00.00.00.0097.229469
12023-01-01 00:10:0097.054054220.0110.0130.0200.0142.0NaN84.00.0...68.0NaN50.00.00.00.00.097130.315610
22023-01-01 00:20:0094.945946220.0110.0130.0200.0142.0NaN84.00.0...68.0NaN50.00.00.00.00.094139.429072
32023-01-01 00:30:000.000000220.0110.0130.0200.0142.0NaN84.00.0...68.0NaN50.00.00.00.00.00141.439368
42023-01-01 00:40:0046.876667220.0110.0130.0200.0142.0NaN84.00.0...68.0NaN50.00.00.00.00.046141.877798
52023-01-01 00:50:00126.326232220.0110.0130.0200.0142.0NaN84.00.0...68.0NaN50.00.00.00.00.0126141.973364
62023-01-01 01:00:00128.406776220.0160.0150.0200.0NaNNaNNaNNaN...NaNNaN6NaNNaNNaNNaNNaN128141.973364
72023-01-01 01:10:0026.821821220.0160.0150.0200.0NaNNaNNaNNaN...NaNNaN6NaNNaNNaNNaNNaN26141.973364
82023-01-01 01:20:000.000000220.0160.0150.0200.0NaNNaNNaNNaN...NaNNaN6NaNNaNNaNNaNNaN0141.973364
92023-01-01 01:30:0094.514644220.0160.0150.0200.0NaNNaNNaNNaN...NaNNaN6NaNNaNNaNNaNNaN94141.973364
102023-01-01 01:40:0083.035725220.0160.0150.0200.0NaNNaNNaNNaN...NaNNaN6NaNNaNNaNNaNNaN83141.973364
112023-01-01 01:50:001.945755220.0160.0150.0200.0NaNNaNNaNNaN...NaNNaN6NaNNaNNaNNaNNaN1141.973364
122023-01-01 02:00:000.000000210.0140.0130.0170.0126.0NaN77.00.0...72.0NaN50.00.00.00.00.00126.745631
132023-01-01 02:10:00117.962963210.0140.0130.0170.0126.0NaN77.00.0...72.0NaN50.00.00.00.00.0117126.156674
142023-01-01 02:20:00134.037037210.0140.0130.0170.0126.0NaN77.00.0...72.0NaN50.00.00.00.00.0134126.034092
\n", + "

15 rows × 26 columns

\n", + "
" + ], + "text/plain": [ + " start steps direction_wind windspeed_avg_hour \\\n", + "0 2023-01-01 00:00:00 0.000000 220.0 110.0 \n", + "1 2023-01-01 00:10:00 97.054054 220.0 110.0 \n", + "2 2023-01-01 00:20:00 94.945946 220.0 110.0 \n", + "3 2023-01-01 00:30:00 0.000000 220.0 110.0 \n", + "4 2023-01-01 00:40:00 46.876667 220.0 110.0 \n", + "5 2023-01-01 00:50:00 126.326232 220.0 110.0 \n", + "6 2023-01-01 01:00:00 128.406776 220.0 160.0 \n", + "7 2023-01-01 01:10:00 26.821821 220.0 160.0 \n", + "8 2023-01-01 01:20:00 0.000000 220.0 160.0 \n", + "9 2023-01-01 01:30:00 94.514644 220.0 160.0 \n", + "10 2023-01-01 01:40:00 83.035725 220.0 160.0 \n", + "11 2023-01-01 01:50:00 1.945755 220.0 160.0 \n", + "12 2023-01-01 02:00:00 0.000000 210.0 140.0 \n", + "13 2023-01-01 02:10:00 117.962963 210.0 140.0 \n", + "14 2023-01-01 02:20:00 134.037037 210.0 140.0 \n", + "\n", + " windspeed_avg_10min max_wind_gust temp_celsius temp_min_6h \\\n", + "0 130.0 200.0 142.0 NaN \n", + "1 130.0 200.0 142.0 NaN \n", + "2 130.0 200.0 142.0 NaN \n", + "3 130.0 200.0 142.0 NaN \n", + "4 130.0 200.0 142.0 NaN \n", + "5 130.0 200.0 142.0 NaN \n", + "6 150.0 200.0 NaN NaN \n", + "7 150.0 200.0 NaN NaN \n", + "8 150.0 200.0 NaN NaN \n", + "9 150.0 200.0 NaN NaN \n", + "10 150.0 200.0 NaN NaN \n", + "11 150.0 200.0 NaN NaN \n", + "12 130.0 170.0 126.0 NaN \n", + "13 130.0 170.0 126.0 NaN \n", + "14 130.0 170.0 126.0 NaN \n", + "\n", + " temp_dewpoint sunshine_duration ... relative_humidity weather_code \\\n", + "0 84.0 0.0 ... 68.0 NaN \n", + "1 84.0 0.0 ... 68.0 NaN \n", + "2 84.0 0.0 ... 68.0 NaN \n", + "3 84.0 0.0 ... 68.0 NaN \n", + "4 84.0 0.0 ... 68.0 NaN \n", + "5 84.0 0.0 ... 68.0 NaN \n", + "6 NaN NaN ... NaN NaN \n", + "7 NaN NaN ... NaN NaN \n", + "8 NaN NaN ... NaN NaN \n", + "9 NaN NaN ... NaN NaN \n", + "10 NaN NaN ... NaN NaN \n", + "11 NaN NaN ... NaN NaN \n", + "12 77.0 0.0 ... 72.0 NaN \n", + "13 77.0 0.0 ... 72.0 NaN \n", + "14 77.0 0.0 ... 72.0 NaN \n", + "\n", + " indicator_present_weather_code fog rain snow thunder ice_formation \\\n", + "0 5 0.0 0.0 0.0 0.0 0.0 \n", + "1 5 0.0 0.0 0.0 0.0 0.0 \n", + "2 5 0.0 0.0 0.0 0.0 0.0 \n", + "3 5 0.0 0.0 0.0 0.0 0.0 \n", + "4 5 0.0 0.0 0.0 0.0 0.0 \n", + "5 5 0.0 0.0 0.0 0.0 0.0 \n", + "6 6 NaN NaN NaN NaN NaN \n", + "7 6 NaN NaN NaN NaN NaN \n", + "8 6 NaN NaN NaN NaN NaN \n", + "9 6 NaN NaN NaN NaN NaN \n", + "10 6 NaN NaN NaN NaN NaN \n", + "11 6 NaN NaN NaN NaN NaN \n", + "12 5 0.0 0.0 0.0 0.0 0.0 \n", + "13 5 0.0 0.0 0.0 0.0 0.0 \n", + "14 5 0.0 0.0 0.0 0.0 0.0 \n", + "\n", + " int_steps temp_celsius_kalman \n", + "0 0 97.229469 \n", + "1 97 130.315610 \n", + "2 94 139.429072 \n", + "3 0 141.439368 \n", + "4 46 141.877798 \n", + "5 126 141.973364 \n", + "6 128 141.973364 \n", + "7 26 141.973364 \n", + "8 0 141.973364 \n", + "9 94 141.973364 \n", + "10 83 141.973364 \n", + "11 1 141.973364 \n", + "12 0 126.745631 \n", + "13 117 126.156674 \n", + "14 134 126.034092 \n", + "\n", + "[15 rows x 26 columns]" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "data_table = New_weather_steps\n", + "col = \"temp_celsius\"\n", + "data_table = apply_kalman_filter(data_table, col)\n", + "display(data_table.iloc[:15])" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.13" + }, + "orig_nbformat": 4 + }, + "nbformat": 4, + "nbformat_minor": 2 +} From 2ef900b32bd2369a7fe154097c5ae7ef7c922899 Mon Sep 17 00:00:00 2001 From: IreneThoma Date: Wed, 14 Jun 2023 11:36:17 +0200 Subject: [PATCH 11/12] create python files --- Missing_data/EDA.ipynb | 663 - Missing_data/apply_interpolation.ipynb | 825 +- Missing_data/apply_interpolation.py | 10 + Missing_data/apply_kalman_filter.ipynb | 360 +- Missing_data/apply_kalman_filter.py | 28 + Missing_data/missing_data_OLD.ipynb | 1447 -- .../target_transformation.ipynb | 870 ++ .../target_transformation.py | 56 + combine_data_.py | 102 +- data_used/Transformed_weather_steps.csv | 11653 ++++++++++++++++ 10 files changed, 12993 insertions(+), 3021 deletions(-) delete mode 100644 Missing_data/EDA.ipynb create mode 100644 Missing_data/apply_interpolation.py create mode 100644 Missing_data/apply_kalman_filter.py delete mode 100644 Missing_data/missing_data_OLD.ipynb create mode 100644 Target_transformation/target_transformation.ipynb create mode 100644 Target_transformation/target_transformation.py create mode 100644 data_used/Transformed_weather_steps.csv diff --git a/Missing_data/EDA.ipynb b/Missing_data/EDA.ipynb deleted file mode 100644 index 8c0a6aa4..00000000 --- a/Missing_data/EDA.ipynb +++ /dev/null @@ -1,663 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
startstepsdirection_windwindspeed_avg_hourwindspeed_avg_10minmax_wind_gusttemp_celsiustemp_min_6htemp_dewpointsunshine_duration...cloud_coverrelative_humidityweather_codeindicator_present_weather_codefograinsnowthunderice_formationint_steps
02023-01-01 00:00:000.000000220.0110.0130.0200.0142.0NaN84.00.0...8.068.0NaN50.00.00.00.00.00
12023-01-01 00:10:0097.054054220.0110.0130.0200.0142.0NaN84.00.0...8.068.0NaN50.00.00.00.00.097
22023-01-01 00:20:0094.945946220.0110.0130.0200.0142.0NaN84.00.0...8.068.0NaN50.00.00.00.00.094
32023-01-01 00:30:000.000000220.0110.0130.0200.0142.0NaN84.00.0...8.068.0NaN50.00.00.00.00.00
42023-01-01 00:40:0046.876667220.0110.0130.0200.0142.0NaN84.00.0...8.068.0NaN50.00.00.00.00.046
..................................................................
224602023-06-05 23:20:000.00000010.060.060.080.0NaNNaNNaNNaN...NaNNaNNaN6NaNNaNNaNNaNNaN0
224612023-06-05 23:30:000.00000010.060.060.080.0NaNNaNNaNNaN...NaNNaNNaN6NaNNaNNaNNaNNaN0
224622023-06-05 23:40:000.00000010.060.060.080.0NaNNaNNaNNaN...NaNNaNNaN6NaNNaNNaNNaNNaN0
224632023-06-05 23:50:000.00000010.060.060.080.0NaNNaNNaNNaN...NaNNaNNaN6NaNNaNNaNNaNNaN0
224642023-06-06 00:00:000.000000360.020.020.030.095.0NaN82.00.0...NaN91.0NaN6NaNNaNNaNNaNNaN0
\n", - "

22465 rows × 25 columns

\n", - "
" - ], - "text/plain": [ - " start steps direction_wind windspeed_avg_hour \\\n", - "0 2023-01-01 00:00:00 0.000000 220.0 110.0 \n", - "1 2023-01-01 00:10:00 97.054054 220.0 110.0 \n", - "2 2023-01-01 00:20:00 94.945946 220.0 110.0 \n", - "3 2023-01-01 00:30:00 0.000000 220.0 110.0 \n", - "4 2023-01-01 00:40:00 46.876667 220.0 110.0 \n", - "... ... ... ... ... \n", - "22460 2023-06-05 23:20:00 0.000000 10.0 60.0 \n", - "22461 2023-06-05 23:30:00 0.000000 10.0 60.0 \n", - "22462 2023-06-05 23:40:00 0.000000 10.0 60.0 \n", - "22463 2023-06-05 23:50:00 0.000000 10.0 60.0 \n", - "22464 2023-06-06 00:00:00 0.000000 360.0 20.0 \n", - "\n", - " windspeed_avg_10min max_wind_gust temp_celsius temp_min_6h \\\n", - "0 130.0 200.0 142.0 NaN \n", - "1 130.0 200.0 142.0 NaN \n", - "2 130.0 200.0 142.0 NaN \n", - "3 130.0 200.0 142.0 NaN \n", - "4 130.0 200.0 142.0 NaN \n", - "... ... ... ... ... \n", - "22460 60.0 80.0 NaN NaN \n", - "22461 60.0 80.0 NaN NaN \n", - "22462 60.0 80.0 NaN NaN \n", - "22463 60.0 80.0 NaN NaN \n", - "22464 20.0 30.0 95.0 NaN \n", - "\n", - " temp_dewpoint sunshine_duration ... cloud_cover relative_humidity \\\n", - "0 84.0 0.0 ... 8.0 68.0 \n", - "1 84.0 0.0 ... 8.0 68.0 \n", - "2 84.0 0.0 ... 8.0 68.0 \n", - "3 84.0 0.0 ... 8.0 68.0 \n", - "4 84.0 0.0 ... 8.0 68.0 \n", - "... ... ... ... ... ... \n", - "22460 NaN NaN ... NaN NaN \n", - "22461 NaN NaN ... NaN NaN \n", - "22462 NaN NaN ... NaN NaN \n", - "22463 NaN NaN ... NaN NaN \n", - "22464 82.0 0.0 ... NaN 91.0 \n", - "\n", - " weather_code indicator_present_weather_code fog rain snow thunder \\\n", - "0 NaN 5 0.0 0.0 0.0 0.0 \n", - "1 NaN 5 0.0 0.0 0.0 0.0 \n", - "2 NaN 5 0.0 0.0 0.0 0.0 \n", - "3 NaN 5 0.0 0.0 0.0 0.0 \n", - "4 NaN 5 0.0 0.0 0.0 0.0 \n", - "... ... ... ... ... ... ... \n", - "22460 NaN 6 NaN NaN NaN NaN \n", - "22461 NaN 6 NaN NaN NaN NaN \n", - "22462 NaN 6 NaN NaN NaN NaN \n", - "22463 NaN 6 NaN NaN NaN NaN \n", - "22464 NaN 6 NaN NaN NaN NaN \n", - "\n", - " ice_formation int_steps \n", - "0 0.0 0 \n", - "1 0.0 97 \n", - "2 0.0 94 \n", - "3 0.0 0 \n", - "4 0.0 46 \n", - "... ... ... \n", - "22460 NaN 0 \n", - "22461 NaN 0 \n", - "22462 NaN 0 \n", - "22463 NaN 0 \n", - "22464 NaN 0 \n", - "\n", - "[22465 rows x 25 columns]" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "import pandas as pd\n", - "\n", - "#Create usefull dataframe\n", - "weather_steps = pd.read_csv(\"steps_weather_combined.csv\")\n", - "New_steps = weather_steps[['start', 'steps']]\n", - "New_weather = weather_steps.iloc[:, 7:35]\n", - "New_weather_steps = pd.concat([New_steps, New_weather], axis=1)\n", - "\n", - "#Create new column with steps as integers\n", - "New_weather_steps[\"int_steps\"] = New_weather_steps[\"steps\"].astype(int)\n", - "\n", - "display(New_weather_steps)" - ] - }, - { - "cell_type": "code", - "execution_count": 89, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "start 0\n", - "steps 0\n", - "direction_wind 534\n", - "windspeed_avg_hour 534\n", - "windspeed_avg_10min 534\n", - "max_wind_gust 534\n", - "temp_celsius 6432\n", - "temp_min_6h 19723\n", - "temp_dewpoint 6432\n", - "sunshine_duration 7326\n", - "glob_radiation 7326\n", - "precipitation_duration 6834\n", - "precipitation_amount_hourly 6834\n", - "air_pressure 11215\n", - "horizontal_visibility 10813\n", - "cloud_cover 13123\n", - "relative_humidity 6432\n", - "weather_code 17977\n", - "indicator_present_weather_code 0\n", - "fog 10813\n", - "rain 10813\n", - "snow 10813\n", - "thunder 10813\n", - "ice_formation 10813\n", - "int_steps 0\n", - "dtype: int64\n" - ] - } - ], - "source": [ - "print(New_weather_steps.isna().sum())" - ] - }, - { - "cell_type": "code", - "execution_count": 90, - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], - "source": [ - "import matplotlib.pyplot as plt\n", - "import numpy as np\n", - "\n", - "fig, ax = plt.subplots()\n", - "\n", - "data = New_weather_steps['int_steps']\n", - "bin_width = 1\n", - "\n", - "# Calculate the bin edges\n", - "bin_edges = np.arange(min(data), max(data) + bin_width, bin_width)\n", - "\n", - "ax.hist(data, bins=bin_edges, edgecolor='black')\n", - "\n", - "# Set x-axis and y-axis labels\n", - "ax.set_xlabel('Number of steps')\n", - "ax.set_ylabel('Frequency')\n", - "\n", - "# Set the title of the plot\n", - "ax.set_title('The steps frequency')\n", - "ax.set_xlim(0, 10)\n", - "ax.set_ylim(0, 100)\n", - "\n", - "plt.show()" - ] - }, - { - "cell_type": "code", - "execution_count": 92, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "21304\n", - "19\n" - ] - } - ], - "source": [ - "#frequency of number of steps\n", - "print(len(New_weather_steps[New_weather_steps['steps']<=0]))\n", - "print(len(New_weather_steps[New_weather_steps['steps']<=600])- len(New_weather_steps[New_weather_steps['steps']<=500]))" - ] - }, - { - "cell_type": "code", - "execution_count": 96, - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], - "source": [ - "#Heel vaag. Eerst deed hij het wel goed (degene in overleaf), maar nu geeft hij een hele gekke grafiek\n", - "\n", - "dates = New_weather_steps['start']\n", - "values = New_weather_steps['steps']\n", - "\n", - "fig, ax = plt.subplots()\n", - "ax.plot(dates, values)\n", - "\n", - "# Set the number of desired ticks\n", - "num_ticks = 50\n", - "\n", - "# Calculate the step size to evenly distribute the ticks\n", - "step = len(dates) // (num_ticks - 1)\n", - "\n", - "ax.set_xlabel('Date')\n", - "ax.set_ylabel('Number of steps')\n", - "ax.set_title('the number of steps over time')\n", - "\n", - "\n", - "plt.show()" - ] - }, - { - "cell_type": "code", - "execution_count": 94, - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], - "source": [ - "# Convert 'startDate' column to datetime objects\n", - "New_weather_steps['start'] = pd.to_datetime(New_weather_steps['start'])\n", - "\n", - "dates = New_weather_steps['start']\n", - "values = New_weather_steps['temp_celsius']\n", - "\n", - "fig, ax = plt.subplots()\n", - "ax.plot(dates, values)\n", - "\n", - "# Set the number of desired ticks\n", - "num_ticks = 5\n", - "\n", - "# Calculate the step size to evenly distribute the ticks\n", - "step = len(dates) // (num_ticks - 1)\n", - "\n", - "ax.set_xlabel('Date')\n", - "ax.set_ylabel('Temperature')\n", - "ax.set_title('The temperature over time')\n", - "\n", - "\n", - "plt.show()" - ] - }, - { - "cell_type": "code", - "execution_count": 95, - "metadata": {}, - "outputs": [], - "source": [ - "#Ik dacht misschien iets met pearson's correlation test, dus deze functie had ik uit de Python3Code gehaald. \n", - "#Hij moet nog aangepast worden op onze set\n", - "from scipy.stats import pearsonr\n", - "from operator import itemgetter\n", - "import numpy as np\n", - "\n", - "def pearson_selection(max_features, X_train, y_train):\n", - " correlations = []\n", - " full_columns_and_corr = []\n", - " abs_columns_and_corr = []\n", - "\n", - " # Compute the absolute correlations per column.\n", - " for i in range(0, len(X_train.columns)):\n", - " corr, p = pearsonr(X_train[X_train.columns[i]], y_train)\n", - " correlations.append(abs(corr))\n", - " if np.isfinite(corr):\n", - " full_columns_and_corr.append((X_train.columns[i], corr))\n", - " abs_columns_and_corr.append((X_train.columns[i], abs(corr)))\n", - "\n", - " sorted_attributes = sorted(abs_columns_and_corr,key=itemgetter(1), reverse=True)\n", - " res_list = [x[0] for x in sorted_attributes[0:max_features]]\n", - "\n", - " # And return the most correlated ones.\n", - " return res_list, sorted(full_columns_and_corr,key=itemgetter(1), reverse=True)" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [], - "source": [ - "New_weather_steps.to_csv('New_weather_steps.csv')" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.9.13" - }, - "orig_nbformat": 4 - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/Missing_data/apply_interpolation.ipynb b/Missing_data/apply_interpolation.ipynb index f616a7be..b23d3c27 100644 --- a/Missing_data/apply_interpolation.ipynb +++ b/Missing_data/apply_interpolation.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "code", - "execution_count": 1, + "execution_count": 2, "metadata": {}, "outputs": [], "source": [ @@ -12,7 +12,7 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 9, "metadata": {}, "outputs": [ { @@ -38,25 +38,7 @@ " \n", " start\n", " steps\n", - " direction_wind\n", - " windspeed_avg_hour\n", - " windspeed_avg_10min\n", - " max_wind_gust\n", - " temp_celsius\n", - " temp_min_6h\n", - " temp_dewpoint\n", - " sunshine_duration\n", - " ...\n", - " cloud_cover\n", - " relative_humidity\n", - " weather_code\n", - " indicator_present_weather_code\n", - " fog\n", - " rain\n", - " snow\n", - " thunder\n", - " ice_formation\n", - " int_steps\n", + " combined\n", " \n", " \n", " \n", @@ -64,338 +46,88 @@ " 0\n", " 2023-01-01 00:00:00\n", " 0.000000\n", - " 220.0\n", - " 110.0\n", - " 130.0\n", - " 200.0\n", - " 142.0\n", - " NaN\n", - " 84.0\n", - " 0.0\n", - " ...\n", - " 8.0\n", - " 68.0\n", - " NaN\n", - " 5\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0\n", + " 5.0\n", " \n", " \n", " 1\n", " 2023-01-01 00:10:00\n", " 97.054054\n", - " 220.0\n", - " 110.0\n", - " 130.0\n", - " 200.0\n", - " 142.0\n", - " NaN\n", - " 84.0\n", - " 0.0\n", - " ...\n", - " 8.0\n", - " 68.0\n", - " NaN\n", - " 5\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 97\n", + " 5.0\n", " \n", " \n", " 2\n", " 2023-01-01 00:20:00\n", " 94.945946\n", - " 220.0\n", - " 110.0\n", - " 130.0\n", - " 200.0\n", - " 142.0\n", - " NaN\n", - " 84.0\n", - " 0.0\n", - " ...\n", - " 8.0\n", - " 68.0\n", - " NaN\n", - " 5\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 94\n", + " 5.0\n", " \n", " \n", " 3\n", " 2023-01-01 00:30:00\n", " 0.000000\n", - " 220.0\n", - " 110.0\n", - " 130.0\n", - " 200.0\n", - " 142.0\n", - " NaN\n", - " 84.0\n", - " 0.0\n", - " ...\n", - " 8.0\n", - " 68.0\n", - " NaN\n", - " 5\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0\n", + " 5.0\n", " \n", " \n", " 4\n", " 2023-01-01 00:40:00\n", " 46.876667\n", - " 220.0\n", - " 110.0\n", - " 130.0\n", - " 200.0\n", - " 142.0\n", - " NaN\n", - " 84.0\n", - " 0.0\n", - " ...\n", - " 8.0\n", - " 68.0\n", - " NaN\n", - " 5\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 46\n", + " 5.0\n", " \n", " \n", " ...\n", " ...\n", " ...\n", " ...\n", - " ...\n", - " ...\n", - " ...\n", - " ...\n", - " ...\n", - " ...\n", - " ...\n", - " ...\n", - " ...\n", - " ...\n", - " ...\n", - " ...\n", - " ...\n", - " ...\n", - " ...\n", - " ...\n", - " ...\n", - " ...\n", " \n", " \n", - " 22460\n", - " 2023-06-05 23:20:00\n", + " 11647\n", + " 2023-06-05 21:10:00\n", " 0.000000\n", - " 10.0\n", - " 60.0\n", - " 60.0\n", - " 80.0\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " ...\n", - " NaN\n", - " NaN\n", - " NaN\n", - " 6\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " 0\n", + " 5.0\n", " \n", " \n", - " 22461\n", - " 2023-06-05 23:30:00\n", + " 11648\n", + " 2023-06-05 21:20:00\n", " 0.000000\n", - " 10.0\n", - " 60.0\n", - " 60.0\n", - " 80.0\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " ...\n", - " NaN\n", - " NaN\n", - " NaN\n", - " 6\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " 0\n", + " 5.0\n", " \n", " \n", - " 22462\n", - " 2023-06-05 23:40:00\n", + " 11649\n", + " 2023-06-05 21:30:00\n", " 0.000000\n", - " 10.0\n", - " 60.0\n", - " 60.0\n", - " 80.0\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " ...\n", - " NaN\n", - " NaN\n", - " NaN\n", - " 6\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " 0\n", + " 5.0\n", " \n", " \n", - " 22463\n", - " 2023-06-05 23:50:00\n", + " 11650\n", + " 2023-06-05 21:40:00\n", " 0.000000\n", - " 10.0\n", - " 60.0\n", - " 60.0\n", - " 80.0\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " ...\n", - " NaN\n", - " NaN\n", - " NaN\n", - " 6\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " 0\n", + " 5.0\n", " \n", " \n", - " 22464\n", - " 2023-06-06 00:00:00\n", + " 11651\n", + " 2023-06-05 21:50:00\n", " 0.000000\n", - " 360.0\n", - " 20.0\n", - " 20.0\n", - " 30.0\n", - " 95.0\n", - " NaN\n", - " 82.0\n", - " 0.0\n", - " ...\n", - " NaN\n", - " 91.0\n", - " NaN\n", - " 6\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " 0\n", + " 5.0\n", " \n", " \n", "\n", - "

22465 rows × 25 columns

\n", + "

11652 rows × 3 columns

\n", "" ], "text/plain": [ - " start steps direction_wind windspeed_avg_hour \\\n", - "0 2023-01-01 00:00:00 0.000000 220.0 110.0 \n", - "1 2023-01-01 00:10:00 97.054054 220.0 110.0 \n", - "2 2023-01-01 00:20:00 94.945946 220.0 110.0 \n", - "3 2023-01-01 00:30:00 0.000000 220.0 110.0 \n", - "4 2023-01-01 00:40:00 46.876667 220.0 110.0 \n", - "... ... ... ... ... \n", - "22460 2023-06-05 23:20:00 0.000000 10.0 60.0 \n", - "22461 2023-06-05 23:30:00 0.000000 10.0 60.0 \n", - "22462 2023-06-05 23:40:00 0.000000 10.0 60.0 \n", - "22463 2023-06-05 23:50:00 0.000000 10.0 60.0 \n", - "22464 2023-06-06 00:00:00 0.000000 360.0 20.0 \n", - "\n", - " windspeed_avg_10min max_wind_gust temp_celsius temp_min_6h \\\n", - "0 130.0 200.0 142.0 NaN \n", - "1 130.0 200.0 142.0 NaN \n", - "2 130.0 200.0 142.0 NaN \n", - "3 130.0 200.0 142.0 NaN \n", - "4 130.0 200.0 142.0 NaN \n", - "... ... ... ... ... \n", - "22460 60.0 80.0 NaN NaN \n", - "22461 60.0 80.0 NaN NaN \n", - "22462 60.0 80.0 NaN NaN \n", - "22463 60.0 80.0 NaN NaN \n", - "22464 20.0 30.0 95.0 NaN \n", + " start steps combined\n", + "0 2023-01-01 00:00:00 0.000000 5.0\n", + "1 2023-01-01 00:10:00 97.054054 5.0\n", + "2 2023-01-01 00:20:00 94.945946 5.0\n", + "3 2023-01-01 00:30:00 0.000000 5.0\n", + "4 2023-01-01 00:40:00 46.876667 5.0\n", + "... ... ... ...\n", + "11647 2023-06-05 21:10:00 0.000000 5.0\n", + "11648 2023-06-05 21:20:00 0.000000 5.0\n", + "11649 2023-06-05 21:30:00 0.000000 5.0\n", + "11650 2023-06-05 21:40:00 0.000000 5.0\n", + "11651 2023-06-05 21:50:00 0.000000 5.0\n", "\n", - " temp_dewpoint sunshine_duration ... cloud_cover relative_humidity \\\n", - "0 84.0 0.0 ... 8.0 68.0 \n", - "1 84.0 0.0 ... 8.0 68.0 \n", - "2 84.0 0.0 ... 8.0 68.0 \n", - "3 84.0 0.0 ... 8.0 68.0 \n", - "4 84.0 0.0 ... 8.0 68.0 \n", - "... ... ... ... ... ... \n", - "22460 NaN NaN ... NaN NaN \n", - "22461 NaN NaN ... NaN NaN \n", - "22462 NaN NaN ... NaN NaN \n", - "22463 NaN NaN ... NaN NaN \n", - "22464 82.0 0.0 ... NaN 91.0 \n", - "\n", - " weather_code indicator_present_weather_code fog rain snow thunder \\\n", - "0 NaN 5 0.0 0.0 0.0 0.0 \n", - "1 NaN 5 0.0 0.0 0.0 0.0 \n", - "2 NaN 5 0.0 0.0 0.0 0.0 \n", - "3 NaN 5 0.0 0.0 0.0 0.0 \n", - "4 NaN 5 0.0 0.0 0.0 0.0 \n", - "... ... ... ... ... ... ... \n", - "22460 NaN 6 NaN NaN NaN NaN \n", - "22461 NaN 6 NaN NaN NaN NaN \n", - "22462 NaN 6 NaN NaN NaN NaN \n", - "22463 NaN 6 NaN NaN NaN NaN \n", - "22464 NaN 6 NaN NaN NaN NaN \n", - "\n", - " ice_formation int_steps \n", - "0 0.0 0 \n", - "1 0.0 97 \n", - "2 0.0 94 \n", - "3 0.0 0 \n", - "4 0.0 46 \n", - "... ... ... \n", - "22460 NaN 0 \n", - "22461 NaN 0 \n", - "22462 NaN 0 \n", - "22463 NaN 0 \n", - "22464 NaN 0 \n", - "\n", - "[22465 rows x 25 columns]" + "[11652 rows x 3 columns]" ] }, "metadata": {}, @@ -403,14 +135,14 @@ } ], "source": [ - "New_weather_steps = pd.read_csv(\"New_weather_steps.csv\")\n", + "New_weather_steps = pd.read_csv(\"Transformed_weather_steps.csv\")\n", "New_weather_steps = New_weather_steps.drop(\"Unnamed: 0\",axis=1)\n", "display(New_weather_steps)" ] }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 11, "metadata": {}, "outputs": [ { @@ -436,25 +168,7 @@ " \n", " start\n", " steps\n", - " direction_wind\n", - " windspeed_avg_hour\n", - " windspeed_avg_10min\n", - " max_wind_gust\n", - " temp_celsius\n", - " temp_min_6h\n", - " temp_dewpoint\n", - " sunshine_duration\n", - " ...\n", - " cloud_cover\n", - " relative_humidity\n", - " weather_code\n", - " indicator_present_weather_code\n", - " fog\n", - " rain\n", - " snow\n", - " thunder\n", - " ice_formation\n", - " int_steps\n", + " combined\n", " \n", " \n", " \n", @@ -462,454 +176,113 @@ " 0\n", " 2023-01-01 00:00:00\n", " 0.000000\n", - " 220.0\n", - " 110.0\n", - " 130.0\n", - " 200.0\n", - " 142.000000\n", - " NaN\n", - " 84.0\n", - " 0.0\n", - " ...\n", - " 8.0\n", - " 68.0\n", - " NaN\n", - " 5\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0\n", + " 5.0\n", " \n", " \n", " 1\n", " 2023-01-01 00:10:00\n", " 97.054054\n", - " 220.0\n", - " 110.0\n", - " 130.0\n", - " 200.0\n", - " 142.000000\n", - " NaN\n", - " 84.0\n", - " 0.0\n", - " ...\n", - " 8.0\n", - " 68.0\n", - " NaN\n", - " 5\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 97\n", + " 5.0\n", " \n", " \n", " 2\n", " 2023-01-01 00:20:00\n", " 94.945946\n", - " 220.0\n", - " 110.0\n", - " 130.0\n", - " 200.0\n", - " 142.000000\n", - " NaN\n", - " 84.0\n", - " 0.0\n", - " ...\n", - " 8.0\n", - " 68.0\n", - " NaN\n", - " 5\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 94\n", + " 5.0\n", " \n", " \n", " 3\n", " 2023-01-01 00:30:00\n", " 0.000000\n", - " 220.0\n", - " 110.0\n", - " 130.0\n", - " 200.0\n", - " 142.000000\n", - " NaN\n", - " 84.0\n", - " 0.0\n", - " ...\n", - " 8.0\n", - " 68.0\n", - " NaN\n", - " 5\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0\n", + " 5.0\n", " \n", " \n", " 4\n", " 2023-01-01 00:40:00\n", " 46.876667\n", - " 220.0\n", - " 110.0\n", - " 130.0\n", - " 200.0\n", - " 142.000000\n", - " NaN\n", - " 84.0\n", - " 0.0\n", - " ...\n", - " 8.0\n", - " 68.0\n", - " NaN\n", - " 5\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 46\n", + " 5.0\n", " \n", " \n", " 5\n", " 2023-01-01 00:50:00\n", " 126.326232\n", - " 220.0\n", - " 110.0\n", - " 130.0\n", - " 200.0\n", - " 142.000000\n", - " NaN\n", - " 84.0\n", - " 0.0\n", - " ...\n", - " 8.0\n", - " 68.0\n", - " NaN\n", - " 5\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 126\n", + " 5.0\n", " \n", " \n", " 6\n", - " 2023-01-01 01:00:00\n", - " 128.406776\n", - " 220.0\n", - " 160.0\n", - " 150.0\n", - " 200.0\n", - " 139.714286\n", - " NaN\n", - " NaN\n", - " NaN\n", - " ...\n", - " NaN\n", - " NaN\n", - " NaN\n", - " 6\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " 128\n", + " 2023-01-01 02:00:00\n", + " 0.000000\n", + " 5.0\n", " \n", " \n", " 7\n", - " 2023-01-01 01:10:00\n", - " 26.821821\n", - " 220.0\n", - " 160.0\n", - " 150.0\n", - " 200.0\n", - " 137.428571\n", - " NaN\n", - " NaN\n", - " NaN\n", - " ...\n", - " NaN\n", - " NaN\n", - " NaN\n", - " 6\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " 26\n", + " 2023-01-01 02:10:00\n", + " 117.962963\n", + " 5.0\n", " \n", " \n", " 8\n", - " 2023-01-01 01:20:00\n", - " 0.000000\n", - " 220.0\n", - " 160.0\n", - " 150.0\n", - " 200.0\n", - " 135.142857\n", - " NaN\n", - " NaN\n", - " NaN\n", - " ...\n", - " NaN\n", - " NaN\n", - " NaN\n", - " 6\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " 0\n", + " 2023-01-01 02:20:00\n", + " 134.037037\n", + " 5.0\n", " \n", " \n", " 9\n", - " 2023-01-01 01:30:00\n", - " 94.514644\n", - " 220.0\n", - " 160.0\n", - " 150.0\n", - " 200.0\n", - " 132.857143\n", - " NaN\n", - " NaN\n", - " NaN\n", - " ...\n", - " NaN\n", - " NaN\n", - " NaN\n", - " 6\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " 94\n", + " 2023-01-01 02:30:00\n", + " 113.000000\n", + " 5.0\n", " \n", " \n", " 10\n", - " 2023-01-01 01:40:00\n", - " 83.035725\n", - " 220.0\n", - " 160.0\n", - " 150.0\n", - " 200.0\n", - " 130.571429\n", - " NaN\n", - " NaN\n", - " NaN\n", - " ...\n", - " NaN\n", - " NaN\n", - " NaN\n", - " 6\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " 83\n", + " 2023-01-01 02:40:00\n", + " 11.586919\n", + " 5.0\n", " \n", " \n", " 11\n", - " 2023-01-01 01:50:00\n", - " 1.945755\n", - " 220.0\n", - " 160.0\n", - " 150.0\n", - " 200.0\n", - " 128.285714\n", - " NaN\n", - " NaN\n", - " NaN\n", - " ...\n", - " NaN\n", - " NaN\n", - " NaN\n", - " 6\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " 1\n", + " 2023-01-01 02:50:00\n", + " 109.013415\n", + " 5.0\n", " \n", " \n", " 12\n", - " 2023-01-01 02:00:00\n", + " 2023-01-01 06:00:00\n", " 0.000000\n", - " 210.0\n", - " 140.0\n", - " 130.0\n", - " 170.0\n", - " 126.000000\n", - " NaN\n", - " 77.0\n", - " 0.0\n", - " ...\n", - " 8.0\n", - " 72.0\n", - " NaN\n", - " 5\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0\n", + " 5.0\n", " \n", " \n", " 13\n", - " 2023-01-01 02:10:00\n", - " 117.962963\n", - " 210.0\n", - " 140.0\n", - " 130.0\n", - " 170.0\n", - " 126.000000\n", - " NaN\n", - " 77.0\n", - " 0.0\n", - " ...\n", - " 8.0\n", - " 72.0\n", - " NaN\n", - " 5\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 117\n", + " 2023-01-01 06:10:00\n", + " 0.000000\n", + " 5.0\n", " \n", " \n", " 14\n", - " 2023-01-01 02:20:00\n", - " 134.037037\n", - " 210.0\n", - " 140.0\n", - " 130.0\n", - " 170.0\n", - " 126.000000\n", - " NaN\n", - " 77.0\n", - " 0.0\n", - " ...\n", - " 8.0\n", - " 72.0\n", - " NaN\n", - " 5\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 0.0\n", - " 134\n", + " 2023-01-01 06:20:00\n", + " 0.000000\n", + " 5.0\n", " \n", " \n", "\n", - "

15 rows × 25 columns

\n", "" ], "text/plain": [ - " start steps direction_wind windspeed_avg_hour \\\n", - "0 2023-01-01 00:00:00 0.000000 220.0 110.0 \n", - "1 2023-01-01 00:10:00 97.054054 220.0 110.0 \n", - "2 2023-01-01 00:20:00 94.945946 220.0 110.0 \n", - "3 2023-01-01 00:30:00 0.000000 220.0 110.0 \n", - "4 2023-01-01 00:40:00 46.876667 220.0 110.0 \n", - "5 2023-01-01 00:50:00 126.326232 220.0 110.0 \n", - "6 2023-01-01 01:00:00 128.406776 220.0 160.0 \n", - "7 2023-01-01 01:10:00 26.821821 220.0 160.0 \n", - "8 2023-01-01 01:20:00 0.000000 220.0 160.0 \n", - "9 2023-01-01 01:30:00 94.514644 220.0 160.0 \n", - "10 2023-01-01 01:40:00 83.035725 220.0 160.0 \n", - "11 2023-01-01 01:50:00 1.945755 220.0 160.0 \n", - "12 2023-01-01 02:00:00 0.000000 210.0 140.0 \n", - "13 2023-01-01 02:10:00 117.962963 210.0 140.0 \n", - "14 2023-01-01 02:20:00 134.037037 210.0 140.0 \n", - "\n", - " windspeed_avg_10min max_wind_gust temp_celsius temp_min_6h \\\n", - "0 130.0 200.0 142.000000 NaN \n", - "1 130.0 200.0 142.000000 NaN \n", - "2 130.0 200.0 142.000000 NaN \n", - "3 130.0 200.0 142.000000 NaN \n", - "4 130.0 200.0 142.000000 NaN \n", - "5 130.0 200.0 142.000000 NaN \n", - "6 150.0 200.0 139.714286 NaN \n", - "7 150.0 200.0 137.428571 NaN \n", - "8 150.0 200.0 135.142857 NaN \n", - "9 150.0 200.0 132.857143 NaN \n", - "10 150.0 200.0 130.571429 NaN \n", - "11 150.0 200.0 128.285714 NaN \n", - "12 130.0 170.0 126.000000 NaN \n", - "13 130.0 170.0 126.000000 NaN \n", - "14 130.0 170.0 126.000000 NaN \n", - "\n", - " temp_dewpoint sunshine_duration ... cloud_cover relative_humidity \\\n", - "0 84.0 0.0 ... 8.0 68.0 \n", - "1 84.0 0.0 ... 8.0 68.0 \n", - "2 84.0 0.0 ... 8.0 68.0 \n", - "3 84.0 0.0 ... 8.0 68.0 \n", - "4 84.0 0.0 ... 8.0 68.0 \n", - "5 84.0 0.0 ... 8.0 68.0 \n", - "6 NaN NaN ... NaN NaN \n", - "7 NaN NaN ... NaN NaN \n", - "8 NaN NaN ... NaN NaN \n", - "9 NaN NaN ... NaN NaN \n", - "10 NaN NaN ... NaN NaN \n", - "11 NaN NaN ... NaN NaN \n", - "12 77.0 0.0 ... 8.0 72.0 \n", - "13 77.0 0.0 ... 8.0 72.0 \n", - "14 77.0 0.0 ... 8.0 72.0 \n", - "\n", - " weather_code indicator_present_weather_code fog rain snow thunder \\\n", - "0 NaN 5 0.0 0.0 0.0 0.0 \n", - "1 NaN 5 0.0 0.0 0.0 0.0 \n", - "2 NaN 5 0.0 0.0 0.0 0.0 \n", - "3 NaN 5 0.0 0.0 0.0 0.0 \n", - "4 NaN 5 0.0 0.0 0.0 0.0 \n", - "5 NaN 5 0.0 0.0 0.0 0.0 \n", - "6 NaN 6 NaN NaN NaN NaN \n", - "7 NaN 6 NaN NaN NaN NaN \n", - "8 NaN 6 NaN NaN NaN NaN \n", - "9 NaN 6 NaN NaN NaN NaN \n", - "10 NaN 6 NaN NaN NaN NaN \n", - "11 NaN 6 NaN NaN NaN NaN \n", - "12 NaN 5 0.0 0.0 0.0 0.0 \n", - "13 NaN 5 0.0 0.0 0.0 0.0 \n", - "14 NaN 5 0.0 0.0 0.0 0.0 \n", - "\n", - " ice_formation int_steps \n", - "0 0.0 0 \n", - "1 0.0 97 \n", - "2 0.0 94 \n", - "3 0.0 0 \n", - "4 0.0 46 \n", - "5 0.0 126 \n", - "6 NaN 128 \n", - "7 NaN 26 \n", - "8 NaN 0 \n", - "9 NaN 94 \n", - "10 NaN 83 \n", - "11 NaN 1 \n", - "12 0.0 0 \n", - "13 0.0 117 \n", - "14 0.0 134 \n", - "\n", - "[15 rows x 25 columns]" + " start steps combined\n", + "0 2023-01-01 00:00:00 0.000000 5.0\n", + "1 2023-01-01 00:10:00 97.054054 5.0\n", + "2 2023-01-01 00:20:00 94.945946 5.0\n", + "3 2023-01-01 00:30:00 0.000000 5.0\n", + "4 2023-01-01 00:40:00 46.876667 5.0\n", + "5 2023-01-01 00:50:00 126.326232 5.0\n", + "6 2023-01-01 02:00:00 0.000000 5.0\n", + "7 2023-01-01 02:10:00 117.962963 5.0\n", + "8 2023-01-01 02:20:00 134.037037 5.0\n", + "9 2023-01-01 02:30:00 113.000000 5.0\n", + "10 2023-01-01 02:40:00 11.586919 5.0\n", + "11 2023-01-01 02:50:00 109.013415 5.0\n", + "12 2023-01-01 06:00:00 0.000000 5.0\n", + "13 2023-01-01 06:10:00 0.000000 5.0\n", + "14 2023-01-01 06:20:00 0.000000 5.0" ] }, "metadata": {}, @@ -917,9 +290,29 @@ } ], "source": [ - "New_weather_steps['temp_celsius'] = New_weather_steps['temp_celsius'].interpolate()\n", + "New_weather_steps['steps'] = New_weather_steps['steps'].interpolate()\n", "display(New_weather_steps.iloc[:15])" ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "start 0\n", + "steps 0\n", + "combined 0\n", + "dtype: int64\n" + ] + } + ], + "source": [ + "print(New_weather_steps.isna().sum())" + ] } ], "metadata": { diff --git a/Missing_data/apply_interpolation.py b/Missing_data/apply_interpolation.py new file mode 100644 index 00000000..9bc549ae --- /dev/null +++ b/Missing_data/apply_interpolation.py @@ -0,0 +1,10 @@ +import pandas as pd +import numpy as np + +#import data +New_weather_steps = pd.read_csv("Transformed_weather_steps.csv") +New_weather_steps = New_weather_steps.drop("Unnamed: 0",axis=1) + +#interpolate +New_weather_steps['steps'] = New_weather_steps['steps'].interpolate() + diff --git a/Missing_data/apply_kalman_filter.ipynb b/Missing_data/apply_kalman_filter.ipynb index 7894d3d5..89aec545 100644 --- a/Missing_data/apply_kalman_filter.ipynb +++ b/Missing_data/apply_kalman_filter.ipynb @@ -17,7 +17,7 @@ "metadata": {}, "outputs": [], "source": [ - "New_weather_steps = pd.read_csv(\"New_weather_steps.csv\")\n", + "New_weather_steps = pd.read_csv(\"Transformed_weather_steps.csv\")\n", "New_weather_steps = New_weather_steps.drop(\"Unnamed: 0\",axis=1)" ] }, @@ -73,16 +73,17 @@ " \n", " \n", " start\n", + " end\n", " steps\n", + " start_weather\n", + " end_weather\n", + " # STN\n", " direction_wind\n", " windspeed_avg_hour\n", " windspeed_avg_10min\n", " max_wind_gust\n", - " temp_celsius\n", - " temp_min_6h\n", - " temp_dewpoint\n", - " sunshine_duration\n", " ...\n", + " cloud_cover\n", " relative_humidity\n", " weather_code\n", " indicator_present_weather_code\n", @@ -91,24 +92,24 @@ " snow\n", " thunder\n", " ice_formation\n", - " int_steps\n", - " temp_celsius_kalman\n", + " steps_kalman\n", " \n", " \n", " \n", " \n", " 0\n", " 2023-01-01 00:00:00\n", + " 2023-01-01 00:10:00\n", " 0.000000\n", + " 2023-01-01 00:00:00\n", + " 2023-01-01 01:00:00\n", + " 215\n", " 220.0\n", " 110.0\n", " 130.0\n", " 200.0\n", - " 142.0\n", - " NaN\n", - " 84.0\n", - " 0.0\n", " ...\n", + " 8.0\n", " 68.0\n", " NaN\n", " 5\n", @@ -117,22 +118,22 @@ " 0.0\n", " 0.0\n", " 0.0\n", - " 0\n", - " 97.229469\n", + " 20.465898\n", " \n", " \n", " 1\n", " 2023-01-01 00:10:00\n", + " 2023-01-01 00:20:00\n", " 97.054054\n", + " 2023-01-01 00:00:00\n", + " 2023-01-01 01:00:00\n", + " 215\n", " 220.0\n", " 110.0\n", " 130.0\n", " 200.0\n", - " 142.0\n", - " NaN\n", - " 84.0\n", - " 0.0\n", " ...\n", + " 8.0\n", " 68.0\n", " NaN\n", " 5\n", @@ -141,22 +142,22 @@ " 0.0\n", " 0.0\n", " 0.0\n", - " 97\n", - " 130.315610\n", + " 50.579339\n", " \n", " \n", " 2\n", " 2023-01-01 00:20:00\n", + " 2023-01-01 00:30:00\n", " 94.945946\n", + " 2023-01-01 00:00:00\n", + " 2023-01-01 01:00:00\n", + " 215\n", " 220.0\n", " 110.0\n", " 130.0\n", " 200.0\n", - " 142.0\n", - " NaN\n", - " 84.0\n", - " 0.0\n", " ...\n", + " 8.0\n", " 68.0\n", " NaN\n", " 5\n", @@ -165,22 +166,22 @@ " 0.0\n", " 0.0\n", " 0.0\n", - " 94\n", - " 139.429072\n", + " 73.204683\n", " \n", " \n", " 3\n", " 2023-01-01 00:30:00\n", + " 2023-01-01 00:40:00\n", " 0.000000\n", + " 2023-01-01 00:00:00\n", + " 2023-01-01 01:00:00\n", + " 215\n", " 220.0\n", " 110.0\n", " 130.0\n", " 200.0\n", - " 142.0\n", - " NaN\n", - " 84.0\n", - " 0.0\n", " ...\n", + " 8.0\n", " 68.0\n", " NaN\n", " 5\n", @@ -189,22 +190,22 @@ " 0.0\n", " 0.0\n", " 0.0\n", - " 0\n", - " 141.439368\n", + " 33.931264\n", " \n", " \n", " 4\n", " 2023-01-01 00:40:00\n", + " 2023-01-01 00:50:00\n", " 46.876667\n", + " 2023-01-01 00:00:00\n", + " 2023-01-01 01:00:00\n", + " 215\n", " 220.0\n", " 110.0\n", " 130.0\n", " 200.0\n", - " 142.0\n", - " NaN\n", - " 84.0\n", - " 0.0\n", " ...\n", + " 8.0\n", " 68.0\n", " NaN\n", " 5\n", @@ -213,22 +214,22 @@ " 0.0\n", " 0.0\n", " 0.0\n", - " 46\n", - " 141.877798\n", + " 40.949190\n", " \n", " \n", " 5\n", " 2023-01-01 00:50:00\n", + " 2023-01-01 01:00:00\n", " 126.326232\n", + " 2023-01-01 00:00:00\n", + " 2023-01-01 01:00:00\n", + " 215\n", " 220.0\n", " 110.0\n", " 130.0\n", " 200.0\n", - " 142.0\n", - " NaN\n", - " 84.0\n", - " 0.0\n", " ...\n", + " 8.0\n", " 68.0\n", " NaN\n", " 5\n", @@ -237,166 +238,166 @@ " 0.0\n", " 0.0\n", " 0.0\n", - " 126\n", - " 141.973364\n", + " 87.334058\n", " \n", " \n", " 6\n", " 2023-01-01 01:00:00\n", + " 2023-01-01 01:10:00\n", " 128.406776\n", + " 2023-01-01 01:00:00\n", + " 2023-01-01 02:00:00\n", + " 285\n", " 220.0\n", " 160.0\n", " 150.0\n", " 200.0\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", " ...\n", " NaN\n", " NaN\n", + " NaN\n", " 6\n", " NaN\n", " NaN\n", " NaN\n", " NaN\n", " NaN\n", - " 128\n", - " 141.973364\n", + " 109.658711\n", " \n", " \n", " 7\n", " 2023-01-01 01:10:00\n", + " 2023-01-01 01:20:00\n", " 26.821821\n", + " 2023-01-01 01:00:00\n", + " 2023-01-01 02:00:00\n", + " 285\n", " 220.0\n", " 160.0\n", " 150.0\n", " 200.0\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", " ...\n", " NaN\n", " NaN\n", + " NaN\n", " 6\n", " NaN\n", " NaN\n", " NaN\n", " NaN\n", " NaN\n", - " 26\n", - " 141.973364\n", + " 64.629329\n", " \n", " \n", " 8\n", " 2023-01-01 01:20:00\n", + " 2023-01-01 01:30:00\n", " 0.000000\n", + " 2023-01-01 01:00:00\n", + " 2023-01-01 02:00:00\n", + " 285\n", " 220.0\n", " 160.0\n", " 150.0\n", " 200.0\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", " ...\n", " NaN\n", " NaN\n", + " NaN\n", " 6\n", " NaN\n", " NaN\n", " NaN\n", " NaN\n", " NaN\n", - " 0\n", - " 141.973364\n", + " 29.496724\n", " \n", " \n", " 9\n", " 2023-01-01 01:30:00\n", + " 2023-01-01 01:40:00\n", " 94.514644\n", + " 2023-01-01 01:00:00\n", + " 2023-01-01 02:00:00\n", + " 285\n", " 220.0\n", " 160.0\n", " 150.0\n", " 200.0\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", " ...\n", " NaN\n", " NaN\n", + " NaN\n", " 6\n", " NaN\n", " NaN\n", " NaN\n", " NaN\n", " NaN\n", - " 94\n", - " 141.973364\n", + " 64.840710\n", " \n", " \n", " 10\n", " 2023-01-01 01:40:00\n", + " 2023-01-01 01:50:00\n", " 83.035725\n", + " 2023-01-01 01:00:00\n", + " 2023-01-01 02:00:00\n", + " 285\n", " 220.0\n", " 160.0\n", " 150.0\n", " 200.0\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", " ...\n", " NaN\n", " NaN\n", + " NaN\n", " 6\n", " NaN\n", " NaN\n", " NaN\n", " NaN\n", " NaN\n", - " 83\n", - " 141.973364\n", + " 74.731600\n", " \n", " \n", " 11\n", " 2023-01-01 01:50:00\n", + " 2023-01-01 02:00:00\n", " 1.945755\n", + " 2023-01-01 01:00:00\n", + " 2023-01-01 02:00:00\n", + " 285\n", " 220.0\n", " 160.0\n", " 150.0\n", " 200.0\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", " ...\n", " NaN\n", " NaN\n", + " NaN\n", " 6\n", " NaN\n", " NaN\n", " NaN\n", " NaN\n", " NaN\n", - " 1\n", - " 141.973364\n", + " 35.164897\n", " \n", " \n", " 12\n", " 2023-01-01 02:00:00\n", + " 2023-01-01 02:10:00\n", " 0.000000\n", + " 2023-01-01 02:00:00\n", + " 2023-01-01 03:00:00\n", + " 310\n", " 210.0\n", " 140.0\n", " 130.0\n", " 170.0\n", - " 126.0\n", - " NaN\n", - " 77.0\n", - " 0.0\n", " ...\n", + " 8.0\n", " 72.0\n", " NaN\n", " 5\n", @@ -405,22 +406,22 @@ " 0.0\n", " 0.0\n", " 0.0\n", - " 0\n", - " 126.745631\n", + " 16.049105\n", " \n", " \n", " 13\n", " 2023-01-01 02:10:00\n", + " 2023-01-01 02:20:00\n", " 117.962963\n", + " 2023-01-01 02:00:00\n", + " 2023-01-01 03:00:00\n", + " 310\n", " 210.0\n", " 140.0\n", " 130.0\n", " 170.0\n", - " 126.0\n", - " NaN\n", - " 77.0\n", - " 0.0\n", " ...\n", + " 8.0\n", " 72.0\n", " NaN\n", " 5\n", @@ -429,22 +430,22 @@ " 0.0\n", " 0.0\n", " 0.0\n", - " 117\n", - " 126.156674\n", + " 71.449923\n", " \n", " \n", " 14\n", " 2023-01-01 02:20:00\n", + " 2023-01-01 02:30:00\n", " 134.037037\n", + " 2023-01-01 02:00:00\n", + " 2023-01-01 03:00:00\n", + " 310\n", " 210.0\n", " 140.0\n", " 130.0\n", " 170.0\n", - " 126.0\n", - " NaN\n", - " 77.0\n", - " 0.0\n", " ...\n", + " 8.0\n", " 72.0\n", " NaN\n", " 5\n", @@ -453,101 +454,100 @@ " 0.0\n", " 0.0\n", " 0.0\n", - " 134\n", - " 126.034092\n", + " 105.472550\n", " \n", " \n", "\n", - "

15 rows × 26 columns

\n", + "

15 rows × 29 columns

\n", "" ], "text/plain": [ - " start steps direction_wind windspeed_avg_hour \\\n", - "0 2023-01-01 00:00:00 0.000000 220.0 110.0 \n", - "1 2023-01-01 00:10:00 97.054054 220.0 110.0 \n", - "2 2023-01-01 00:20:00 94.945946 220.0 110.0 \n", - "3 2023-01-01 00:30:00 0.000000 220.0 110.0 \n", - "4 2023-01-01 00:40:00 46.876667 220.0 110.0 \n", - "5 2023-01-01 00:50:00 126.326232 220.0 110.0 \n", - "6 2023-01-01 01:00:00 128.406776 220.0 160.0 \n", - "7 2023-01-01 01:10:00 26.821821 220.0 160.0 \n", - "8 2023-01-01 01:20:00 0.000000 220.0 160.0 \n", - "9 2023-01-01 01:30:00 94.514644 220.0 160.0 \n", - "10 2023-01-01 01:40:00 83.035725 220.0 160.0 \n", - "11 2023-01-01 01:50:00 1.945755 220.0 160.0 \n", - "12 2023-01-01 02:00:00 0.000000 210.0 140.0 \n", - "13 2023-01-01 02:10:00 117.962963 210.0 140.0 \n", - "14 2023-01-01 02:20:00 134.037037 210.0 140.0 \n", + " start end steps start_weather \\\n", + "0 2023-01-01 00:00:00 2023-01-01 00:10:00 0.000000 2023-01-01 00:00:00 \n", + "1 2023-01-01 00:10:00 2023-01-01 00:20:00 97.054054 2023-01-01 00:00:00 \n", + "2 2023-01-01 00:20:00 2023-01-01 00:30:00 94.945946 2023-01-01 00:00:00 \n", + "3 2023-01-01 00:30:00 2023-01-01 00:40:00 0.000000 2023-01-01 00:00:00 \n", + "4 2023-01-01 00:40:00 2023-01-01 00:50:00 46.876667 2023-01-01 00:00:00 \n", + "5 2023-01-01 00:50:00 2023-01-01 01:00:00 126.326232 2023-01-01 00:00:00 \n", + "6 2023-01-01 01:00:00 2023-01-01 01:10:00 128.406776 2023-01-01 01:00:00 \n", + "7 2023-01-01 01:10:00 2023-01-01 01:20:00 26.821821 2023-01-01 01:00:00 \n", + "8 2023-01-01 01:20:00 2023-01-01 01:30:00 0.000000 2023-01-01 01:00:00 \n", + "9 2023-01-01 01:30:00 2023-01-01 01:40:00 94.514644 2023-01-01 01:00:00 \n", + "10 2023-01-01 01:40:00 2023-01-01 01:50:00 83.035725 2023-01-01 01:00:00 \n", + "11 2023-01-01 01:50:00 2023-01-01 02:00:00 1.945755 2023-01-01 01:00:00 \n", + "12 2023-01-01 02:00:00 2023-01-01 02:10:00 0.000000 2023-01-01 02:00:00 \n", + "13 2023-01-01 02:10:00 2023-01-01 02:20:00 117.962963 2023-01-01 02:00:00 \n", + "14 2023-01-01 02:20:00 2023-01-01 02:30:00 134.037037 2023-01-01 02:00:00 \n", "\n", - " windspeed_avg_10min max_wind_gust temp_celsius temp_min_6h \\\n", - "0 130.0 200.0 142.0 NaN \n", - "1 130.0 200.0 142.0 NaN \n", - "2 130.0 200.0 142.0 NaN \n", - "3 130.0 200.0 142.0 NaN \n", - "4 130.0 200.0 142.0 NaN \n", - "5 130.0 200.0 142.0 NaN \n", - "6 150.0 200.0 NaN NaN \n", - "7 150.0 200.0 NaN NaN \n", - "8 150.0 200.0 NaN NaN \n", - "9 150.0 200.0 NaN NaN \n", - "10 150.0 200.0 NaN NaN \n", - "11 150.0 200.0 NaN NaN \n", - "12 130.0 170.0 126.0 NaN \n", - "13 130.0 170.0 126.0 NaN \n", - "14 130.0 170.0 126.0 NaN \n", + " end_weather # STN direction_wind windspeed_avg_hour \\\n", + "0 2023-01-01 01:00:00 215 220.0 110.0 \n", + "1 2023-01-01 01:00:00 215 220.0 110.0 \n", + "2 2023-01-01 01:00:00 215 220.0 110.0 \n", + "3 2023-01-01 01:00:00 215 220.0 110.0 \n", + "4 2023-01-01 01:00:00 215 220.0 110.0 \n", + "5 2023-01-01 01:00:00 215 220.0 110.0 \n", + "6 2023-01-01 02:00:00 285 220.0 160.0 \n", + "7 2023-01-01 02:00:00 285 220.0 160.0 \n", + "8 2023-01-01 02:00:00 285 220.0 160.0 \n", + "9 2023-01-01 02:00:00 285 220.0 160.0 \n", + "10 2023-01-01 02:00:00 285 220.0 160.0 \n", + "11 2023-01-01 02:00:00 285 220.0 160.0 \n", + "12 2023-01-01 03:00:00 310 210.0 140.0 \n", + "13 2023-01-01 03:00:00 310 210.0 140.0 \n", + "14 2023-01-01 03:00:00 310 210.0 140.0 \n", "\n", - " temp_dewpoint sunshine_duration ... relative_humidity weather_code \\\n", - "0 84.0 0.0 ... 68.0 NaN \n", - "1 84.0 0.0 ... 68.0 NaN \n", - "2 84.0 0.0 ... 68.0 NaN \n", - "3 84.0 0.0 ... 68.0 NaN \n", - "4 84.0 0.0 ... 68.0 NaN \n", - "5 84.0 0.0 ... 68.0 NaN \n", - "6 NaN NaN ... NaN NaN \n", - "7 NaN NaN ... NaN NaN \n", - "8 NaN NaN ... NaN NaN \n", - "9 NaN NaN ... NaN NaN \n", - "10 NaN NaN ... NaN NaN \n", - "11 NaN NaN ... NaN NaN \n", - "12 77.0 0.0 ... 72.0 NaN \n", - "13 77.0 0.0 ... 72.0 NaN \n", - "14 77.0 0.0 ... 72.0 NaN \n", + " windspeed_avg_10min max_wind_gust ... cloud_cover relative_humidity \\\n", + "0 130.0 200.0 ... 8.0 68.0 \n", + "1 130.0 200.0 ... 8.0 68.0 \n", + "2 130.0 200.0 ... 8.0 68.0 \n", + "3 130.0 200.0 ... 8.0 68.0 \n", + "4 130.0 200.0 ... 8.0 68.0 \n", + "5 130.0 200.0 ... 8.0 68.0 \n", + "6 150.0 200.0 ... NaN NaN \n", + "7 150.0 200.0 ... NaN NaN \n", + "8 150.0 200.0 ... NaN NaN \n", + "9 150.0 200.0 ... NaN NaN \n", + "10 150.0 200.0 ... NaN NaN \n", + "11 150.0 200.0 ... NaN NaN \n", + "12 130.0 170.0 ... 8.0 72.0 \n", + "13 130.0 170.0 ... 8.0 72.0 \n", + "14 130.0 170.0 ... 8.0 72.0 \n", "\n", - " indicator_present_weather_code fog rain snow thunder ice_formation \\\n", - "0 5 0.0 0.0 0.0 0.0 0.0 \n", - "1 5 0.0 0.0 0.0 0.0 0.0 \n", - "2 5 0.0 0.0 0.0 0.0 0.0 \n", - "3 5 0.0 0.0 0.0 0.0 0.0 \n", - "4 5 0.0 0.0 0.0 0.0 0.0 \n", - "5 5 0.0 0.0 0.0 0.0 0.0 \n", - "6 6 NaN NaN NaN NaN NaN \n", - "7 6 NaN NaN NaN NaN NaN \n", - "8 6 NaN NaN NaN NaN NaN \n", - "9 6 NaN NaN NaN NaN NaN \n", - "10 6 NaN NaN NaN NaN NaN \n", - "11 6 NaN NaN NaN NaN NaN \n", - "12 5 0.0 0.0 0.0 0.0 0.0 \n", - "13 5 0.0 0.0 0.0 0.0 0.0 \n", - "14 5 0.0 0.0 0.0 0.0 0.0 \n", + " weather_code indicator_present_weather_code fog rain snow thunder \\\n", + "0 NaN 5 0.0 0.0 0.0 0.0 \n", + "1 NaN 5 0.0 0.0 0.0 0.0 \n", + "2 NaN 5 0.0 0.0 0.0 0.0 \n", + "3 NaN 5 0.0 0.0 0.0 0.0 \n", + "4 NaN 5 0.0 0.0 0.0 0.0 \n", + "5 NaN 5 0.0 0.0 0.0 0.0 \n", + "6 NaN 6 NaN NaN NaN NaN \n", + "7 NaN 6 NaN NaN NaN NaN \n", + "8 NaN 6 NaN NaN NaN NaN \n", + "9 NaN 6 NaN NaN NaN NaN \n", + "10 NaN 6 NaN NaN NaN NaN \n", + "11 NaN 6 NaN NaN NaN NaN \n", + "12 NaN 5 0.0 0.0 0.0 0.0 \n", + "13 NaN 5 0.0 0.0 0.0 0.0 \n", + "14 NaN 5 0.0 0.0 0.0 0.0 \n", "\n", - " int_steps temp_celsius_kalman \n", - "0 0 97.229469 \n", - "1 97 130.315610 \n", - "2 94 139.429072 \n", - "3 0 141.439368 \n", - "4 46 141.877798 \n", - "5 126 141.973364 \n", - "6 128 141.973364 \n", - "7 26 141.973364 \n", - "8 0 141.973364 \n", - "9 94 141.973364 \n", - "10 83 141.973364 \n", - "11 1 141.973364 \n", - "12 0 126.745631 \n", - "13 117 126.156674 \n", - "14 134 126.034092 \n", + " ice_formation steps_kalman \n", + "0 0.0 20.465898 \n", + "1 0.0 50.579339 \n", + "2 0.0 73.204683 \n", + "3 0.0 33.931264 \n", + "4 0.0 40.949190 \n", + "5 0.0 87.334058 \n", + "6 NaN 109.658711 \n", + "7 NaN 64.629329 \n", + "8 NaN 29.496724 \n", + "9 NaN 64.840710 \n", + "10 NaN 74.731600 \n", + "11 NaN 35.164897 \n", + "12 0.0 16.049105 \n", + "13 0.0 71.449923 \n", + "14 0.0 105.472550 \n", "\n", - "[15 rows x 26 columns]" + "[15 rows x 29 columns]" ] }, "metadata": {}, @@ -556,7 +556,7 @@ ], "source": [ "data_table = New_weather_steps\n", - "col = \"temp_celsius\"\n", + "col = \"steps\"\n", "data_table = apply_kalman_filter(data_table, col)\n", "display(data_table.iloc[:15])" ] diff --git a/Missing_data/apply_kalman_filter.py b/Missing_data/apply_kalman_filter.py new file mode 100644 index 00000000..ee3e1af9 --- /dev/null +++ b/Missing_data/apply_kalman_filter.py @@ -0,0 +1,28 @@ +import pandas as pd +import numpy as np +from pykalman import KalmanFilter + +New_weather_steps = pd.read_csv("Transformed_weather_steps.csv") +New_weather_steps = New_weather_steps.drop("Unnamed: 0",axis=1) + +# Implements the Kalman filter for single columns. +def apply_kalman_filter(data_table, col): + # Initialize the Kalman filter with the trivial transition and observation matrices. + kf = KalmanFilter(transition_matrices=[[1]], observation_matrices=[[1]]) + + numpy_array_state = data_table[col].values + numpy_array_state = numpy_array_state.astype(np.float32) + numpy_matrix_state_with_mask = np.ma.masked_invalid(numpy_array_state) + + # Find the best other parameters based on the data (e.g. Q) + kf = kf.em(numpy_matrix_state_with_mask, n_iter=5) + + # And apply the filter. + (new_data, filtered_state_covariances) = kf.filter(numpy_matrix_state_with_mask) + + data_table[col + '_kalman'] = new_data + return(data_table) + +data_table = New_weather_steps +col = "steps" +data_table = apply_kalman_filter(data_table, col) \ No newline at end of file diff --git a/Missing_data/missing_data_OLD.ipynb b/Missing_data/missing_data_OLD.ipynb deleted file mode 100644 index a1e61a6d..00000000 --- a/Missing_data/missing_data_OLD.ipynb +++ /dev/null @@ -1,1447 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": 17, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
creationDatehourvaluewindspeed_avg_hourwindspeed_avg_10minmax_wind_gusttemp_celsiustemp_min_6htemp_dewpointsunshine_duration...horizontal_visibilitycloud_coverrelative_humidityweather_codeindicator_present_weather_codefograinsnowthunderice_formation
02023-01-01 00:25:48 +020000:00:00171110.0130.0200.0142.0NaN84.00.0...66.08.068.0NaN50.00.00.00.00.0
12023-01-01 00:35:44 +020000:00:0018110.0130.0200.0142.0NaN84.00.0...66.08.068.0NaN50.00.00.00.00.0
22023-01-01 00:39:25 +020000:00:003110.0130.0200.0142.0NaN84.00.0...66.08.068.0NaN50.00.00.00.00.0
32023-01-01 00:55:33 +020000:00:0082110.0130.0200.0142.0NaN84.00.0...66.08.068.0NaN50.00.00.00.00.0
42023-01-01 01:04:25 +020000:00:0012110.0130.0200.0142.0NaN84.00.0...66.08.068.0NaN50.00.00.00.00.0
..................................................................
77642023-06-06 08:37:36 +020008:00:0022130.030.060.0183.0NaN117.010.0...NaNNaN65.0NaN6NaNNaNNaNNaNNaN
77652023-06-06 09:00:07 +020008:00:00110830.030.060.0183.0NaN117.010.0...NaNNaN65.0NaN6NaNNaNNaNNaNNaN
77662023-06-06 09:00:20 +020008:00:00111330.030.060.0183.0NaN117.010.0...NaNNaN65.0NaN6NaNNaNNaNNaNNaN
77672023-06-06 09:15:01 +020009:00:0013790.090.0110.0NaNNaNNaNNaN...NaNNaNNaNNaN6NaNNaNNaNNaNNaN
77682023-06-06 09:10:53 +020009:00:0015090.090.0110.0NaNNaNNaNNaN...NaNNaNNaNNaN6NaNNaNNaNNaNNaN
\n", - "

7769 rows × 24 columns

\n", - "
" - ], - "text/plain": [ - " creationDate hour value windspeed_avg_hour \\\n", - "0 2023-01-01 00:25:48 +0200 00:00:00 171 110.0 \n", - "1 2023-01-01 00:35:44 +0200 00:00:00 18 110.0 \n", - "2 2023-01-01 00:39:25 +0200 00:00:00 3 110.0 \n", - "3 2023-01-01 00:55:33 +0200 00:00:00 82 110.0 \n", - "4 2023-01-01 01:04:25 +0200 00:00:00 12 110.0 \n", - "... ... ... ... ... \n", - "7764 2023-06-06 08:37:36 +0200 08:00:00 221 30.0 \n", - "7765 2023-06-06 09:00:07 +0200 08:00:00 1108 30.0 \n", - "7766 2023-06-06 09:00:20 +0200 08:00:00 1113 30.0 \n", - "7767 2023-06-06 09:15:01 +0200 09:00:00 137 90.0 \n", - "7768 2023-06-06 09:10:53 +0200 09:00:00 150 90.0 \n", - "\n", - " windspeed_avg_10min max_wind_gust temp_celsius temp_min_6h \\\n", - "0 130.0 200.0 142.0 NaN \n", - "1 130.0 200.0 142.0 NaN \n", - "2 130.0 200.0 142.0 NaN \n", - "3 130.0 200.0 142.0 NaN \n", - "4 130.0 200.0 142.0 NaN \n", - "... ... ... ... ... \n", - "7764 30.0 60.0 183.0 NaN \n", - "7765 30.0 60.0 183.0 NaN \n", - "7766 30.0 60.0 183.0 NaN \n", - "7767 90.0 110.0 NaN NaN \n", - "7768 90.0 110.0 NaN NaN \n", - "\n", - " temp_dewpoint sunshine_duration ... horizontal_visibility \\\n", - "0 84.0 0.0 ... 66.0 \n", - "1 84.0 0.0 ... 66.0 \n", - "2 84.0 0.0 ... 66.0 \n", - "3 84.0 0.0 ... 66.0 \n", - "4 84.0 0.0 ... 66.0 \n", - "... ... ... ... ... \n", - "7764 117.0 10.0 ... NaN \n", - "7765 117.0 10.0 ... NaN \n", - "7766 117.0 10.0 ... NaN \n", - "7767 NaN NaN ... NaN \n", - "7768 NaN NaN ... NaN \n", - "\n", - " cloud_cover relative_humidity weather_code \\\n", - "0 8.0 68.0 NaN \n", - "1 8.0 68.0 NaN \n", - "2 8.0 68.0 NaN \n", - "3 8.0 68.0 NaN \n", - "4 8.0 68.0 NaN \n", - "... ... ... ... \n", - "7764 NaN 65.0 NaN \n", - "7765 NaN 65.0 NaN \n", - "7766 NaN 65.0 NaN \n", - "7767 NaN NaN NaN \n", - "7768 NaN NaN NaN \n", - "\n", - " indicator_present_weather_code fog rain snow thunder ice_formation \n", - "0 5 0.0 0.0 0.0 0.0 0.0 \n", - "1 5 0.0 0.0 0.0 0.0 0.0 \n", - "2 5 0.0 0.0 0.0 0.0 0.0 \n", - "3 5 0.0 0.0 0.0 0.0 0.0 \n", - "4 5 0.0 0.0 0.0 0.0 0.0 \n", - "... ... ... ... ... ... ... \n", - "7764 6 NaN NaN NaN NaN NaN \n", - "7765 6 NaN NaN NaN NaN NaN \n", - "7766 6 NaN NaN NaN NaN NaN \n", - "7767 6 NaN NaN NaN NaN NaN \n", - "7768 6 NaN NaN NaN NaN NaN \n", - "\n", - "[7769 rows x 24 columns]" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "import pandas as pd\n", - "\n", - "#Create df\n", - "weather_steps = pd.read_csv(\"weather_steps.csv\")\n", - "weather_steps = weather_steps.drop(weather_steps.columns[0], axis=1)\n", - "display(weather_steps)" - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "creationDate 0\n", - "hour 0\n", - "value 0\n", - "windspeed_avg_hour 158\n", - "windspeed_avg_10min 158\n", - "max_wind_gust 158\n", - "temp_celsius 2287\n", - "temp_min_6h 6826\n", - "temp_dewpoint 2287\n", - "sunshine_duration 2555\n", - "glob_radiation 2555\n", - "precipitation_duration 2417\n", - "precipitation_amount_hourly 2417\n", - "air_pressure 3971\n", - "horizontal_visibility 3791\n", - "cloud_cover 4610\n", - "relative_humidity 2287\n", - "weather_code 6447\n", - "indicator_present_weather_code 0\n", - "fog 3791\n", - "rain 3791\n", - "snow 3791\n", - "thunder 3791\n", - "ice_formation 3791\n", - "dtype: int64\n" - ] - } - ], - "source": [ - "print(weather_steps.isna().sum())\n", - "#remove temp_min_6h and weather_code, because they contain more than 80% missing values \n", - "weather_steps = weather_steps.drop([\"temp_min_6h\", \"weather_code\"] , axis=1) " - ] - }, - { - "cell_type": "code", - "execution_count": 15, - "metadata": {}, - "outputs": [], - "source": [ - "# Convert the 'time' column to datetime\n", - "weather_steps['creationDate'] = pd.to_datetime(weather_steps['creationDate'], format='%Y-%m-%d %H:%M')\n", - "\n", - "# Interpolate the missing values\n", - "weather_steps['windspeed_avg_hour'] = weather_steps['windspeed_avg_hour'].interpolate()\n", - "weather_steps['windspeed_avg_10min'] = weather_steps['windspeed_avg_10min'].interpolate()\n", - "weather_steps['max_wind_gust'] = weather_steps['max_wind_gust'].interpolate()\n", - "weather_steps['temp_celsius'] = weather_steps['temp_celsius'].interpolate()\n", - "weather_steps['temp_dewpoint'] = weather_steps['temp_dewpoint'].interpolate()\n", - "weather_steps['sunshine_duration'] = weather_steps['sunshine_duration'].interpolate()\n", - "weather_steps['glob_radiation'] = weather_steps['glob_radiation'].interpolate()\n", - "weather_steps['precipitation_duration'] = weather_steps['precipitation_duration'].interpolate()\n", - "weather_steps['precipitation_amount_hourly'] = weather_steps['precipitation_amount_hourly'].interpolate()\n", - "weather_steps['air_pressure'] = weather_steps['air_pressure'].interpolate()\n", - "weather_steps['horizontal_visibility'] = weather_steps['horizontal_visibility'].interpolate()\n", - "weather_steps['cloud_cover'] = weather_steps['cloud_cover'].interpolate()\n", - "weather_steps['relative_humidity'] = weather_steps['relative_humidity'].interpolate()\n", - "weather_steps['fog'] = weather_steps['fog'].interpolate()\n", - "weather_steps['rain'] = weather_steps['rain'].interpolate()\n", - "weather_steps['snow'] = weather_steps['snow'].interpolate()\n", - "weather_steps['thunder'] = weather_steps['thunder'].interpolate()\n", - "weather_steps['ice_formation'] = weather_steps['ice_formation'].interpolate()\n" - ] - }, - { - "cell_type": "code", - "execution_count": 18, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
creationDatehourvaluewindspeed_avg_hourwindspeed_avg_10minmax_wind_gusttemp_celsiustemp_min_6htemp_dewpointsunshine_duration...horizontal_visibilitycloud_coverrelative_humidityweather_codeindicator_present_weather_codefograinsnowthunderice_formation
02023-01-01 00:25:48 +020000:00:00171110.0130.0200.0142.0NaN84.00.0...66.08.068.0NaN50.00.00.00.00.0
12023-01-01 00:35:44 +020000:00:0018110.0130.0200.0142.0NaN84.00.0...66.08.068.0NaN50.00.00.00.00.0
22023-01-01 00:39:25 +020000:00:003110.0130.0200.0142.0NaN84.00.0...66.08.068.0NaN50.00.00.00.00.0
32023-01-01 00:55:33 +020000:00:0082110.0130.0200.0142.0NaN84.00.0...66.08.068.0NaN50.00.00.00.00.0
42023-01-01 01:04:25 +020000:00:0012110.0130.0200.0142.0NaN84.00.0...66.08.068.0NaN50.00.00.00.00.0
52023-01-01 01:07:29 +020000:00:0088110.0130.0200.0142.0NaN84.00.0...66.08.068.0NaN50.00.00.00.00.0
62023-01-01 01:04:25 +020000:00:0014110.0130.0200.0142.0NaN84.00.0...66.08.068.0NaN50.00.00.00.00.0
72023-01-01 01:04:25 +020000:00:0038110.0130.0200.0142.0NaN84.00.0...66.08.068.0NaN50.00.00.00.00.0
82023-01-01 01:04:25 +020000:00:006110.0130.0200.0142.0NaN84.00.0...66.08.068.0NaN50.00.00.00.00.0
92023-01-01 01:04:25 +020001:00:0035160.0150.0200.0NaNNaNNaNNaN...NaNNaNNaNNaN6NaNNaNNaNNaNNaN
102023-01-01 01:17:54 +020001:00:0073160.0150.0200.0NaNNaNNaNNaN...NaNNaNNaNNaN6NaNNaNNaNNaNNaN
112023-01-01 01:18:01 +020001:00:0062160.0150.0200.0NaNNaNNaNNaN...NaNNaNNaNNaN6NaNNaNNaNNaNNaN
122023-01-01 01:43:15 +020001:00:0098160.0150.0200.0NaNNaNNaNNaN...NaNNaNNaNNaN6NaNNaNNaNNaNNaN
132023-01-01 01:47:16 +020001:00:00136160.0150.0200.0NaNNaNNaNNaN...NaNNaNNaNNaN6NaNNaNNaNNaNNaN
142023-01-01 01:59:14 +020001:00:0033160.0150.0200.0NaNNaNNaNNaN...NaNNaNNaNNaN6NaNNaNNaNNaNNaN
152023-01-01 02:22:32 +020002:00:00130140.0130.0170.0126.0NaN77.00.0...74.08.072.0NaN50.00.00.00.00.0
162023-01-01 02:32:07 +020002:00:00122140.0130.0170.0126.0NaN77.00.0...74.08.072.0NaN50.00.00.00.00.0
172023-01-01 02:41:39 +020002:00:00113140.0130.0170.0126.0NaN77.00.0...74.08.072.0NaN50.00.00.00.00.0
182023-01-01 02:59:42 +020002:00:00102140.0130.0170.0126.0NaN77.00.0...74.08.072.0NaN50.00.00.00.00.0
192023-01-01 03:09:44 +020002:00:00227140.0130.0170.0126.0NaN77.00.0...74.08.072.0NaN50.00.00.00.00.0
202023-01-01 03:18:49 +020003:00:004890.0100.0160.0130.0NaN75.00.0...NaNNaN69.0NaN6NaNNaNNaNNaNNaN
212023-01-01 03:19:34 +020003:00:0041690.0100.0160.0130.0NaN75.00.0...NaNNaN69.0NaN6NaNNaNNaNNaNNaN
222023-01-01 03:31:53 +020003:00:005890.0100.0160.0130.0NaN75.00.0...NaNNaN69.0NaN6NaNNaNNaNNaNNaN
232023-01-01 03:45:54 +020003:00:004290.0100.0160.0130.0NaN75.00.0...NaNNaN69.0NaN6NaNNaNNaNNaNNaN
242023-01-01 03:44:35 +020003:00:007990.0100.0160.0130.0NaN75.00.0...NaNNaN69.0NaN6NaNNaNNaNNaNNaN
252023-01-01 03:56:43 +020003:00:004290.0100.0160.0130.0NaN75.00.0...NaNNaN69.0NaN6NaNNaNNaNNaNNaN
262023-01-01 04:08:56 +020003:00:0014090.0100.0160.0130.0NaN75.00.0...NaNNaN69.0NaN6NaNNaNNaNNaNNaN
272023-01-01 04:10:25 +020003:00:0019690.0100.0160.0130.0NaN75.00.0...NaNNaN69.0NaN6NaNNaNNaNNaNNaN
282023-01-01 04:18:58 +020004:00:001190.080.0120.0NaNNaNNaNNaN...NaNNaNNaNNaN6NaNNaNNaNNaNNaN
292023-01-01 04:19:44 +020004:00:0024290.080.0120.0NaNNaNNaNNaN...NaNNaNNaNNaN6NaNNaNNaNNaNNaN
\n", - "

30 rows × 24 columns

\n", - "
" - ], - "text/plain": [ - " creationDate hour value windspeed_avg_hour \\\n", - "0 2023-01-01 00:25:48 +0200 00:00:00 171 110.0 \n", - "1 2023-01-01 00:35:44 +0200 00:00:00 18 110.0 \n", - "2 2023-01-01 00:39:25 +0200 00:00:00 3 110.0 \n", - "3 2023-01-01 00:55:33 +0200 00:00:00 82 110.0 \n", - "4 2023-01-01 01:04:25 +0200 00:00:00 12 110.0 \n", - "5 2023-01-01 01:07:29 +0200 00:00:00 88 110.0 \n", - "6 2023-01-01 01:04:25 +0200 00:00:00 14 110.0 \n", - "7 2023-01-01 01:04:25 +0200 00:00:00 38 110.0 \n", - "8 2023-01-01 01:04:25 +0200 00:00:00 6 110.0 \n", - "9 2023-01-01 01:04:25 +0200 01:00:00 35 160.0 \n", - "10 2023-01-01 01:17:54 +0200 01:00:00 73 160.0 \n", - "11 2023-01-01 01:18:01 +0200 01:00:00 62 160.0 \n", - "12 2023-01-01 01:43:15 +0200 01:00:00 98 160.0 \n", - "13 2023-01-01 01:47:16 +0200 01:00:00 136 160.0 \n", - "14 2023-01-01 01:59:14 +0200 01:00:00 33 160.0 \n", - "15 2023-01-01 02:22:32 +0200 02:00:00 130 140.0 \n", - "16 2023-01-01 02:32:07 +0200 02:00:00 122 140.0 \n", - "17 2023-01-01 02:41:39 +0200 02:00:00 113 140.0 \n", - "18 2023-01-01 02:59:42 +0200 02:00:00 102 140.0 \n", - "19 2023-01-01 03:09:44 +0200 02:00:00 227 140.0 \n", - "20 2023-01-01 03:18:49 +0200 03:00:00 48 90.0 \n", - "21 2023-01-01 03:19:34 +0200 03:00:00 416 90.0 \n", - "22 2023-01-01 03:31:53 +0200 03:00:00 58 90.0 \n", - "23 2023-01-01 03:45:54 +0200 03:00:00 42 90.0 \n", - "24 2023-01-01 03:44:35 +0200 03:00:00 79 90.0 \n", - "25 2023-01-01 03:56:43 +0200 03:00:00 42 90.0 \n", - "26 2023-01-01 04:08:56 +0200 03:00:00 140 90.0 \n", - "27 2023-01-01 04:10:25 +0200 03:00:00 196 90.0 \n", - "28 2023-01-01 04:18:58 +0200 04:00:00 11 90.0 \n", - "29 2023-01-01 04:19:44 +0200 04:00:00 242 90.0 \n", - "\n", - " windspeed_avg_10min max_wind_gust temp_celsius temp_min_6h \\\n", - "0 130.0 200.0 142.0 NaN \n", - "1 130.0 200.0 142.0 NaN \n", - "2 130.0 200.0 142.0 NaN \n", - "3 130.0 200.0 142.0 NaN \n", - "4 130.0 200.0 142.0 NaN \n", - "5 130.0 200.0 142.0 NaN \n", - "6 130.0 200.0 142.0 NaN \n", - "7 130.0 200.0 142.0 NaN \n", - "8 130.0 200.0 142.0 NaN \n", - "9 150.0 200.0 NaN NaN \n", - "10 150.0 200.0 NaN NaN \n", - "11 150.0 200.0 NaN NaN \n", - "12 150.0 200.0 NaN NaN \n", - "13 150.0 200.0 NaN NaN \n", - "14 150.0 200.0 NaN NaN \n", - "15 130.0 170.0 126.0 NaN \n", - "16 130.0 170.0 126.0 NaN \n", - "17 130.0 170.0 126.0 NaN \n", - "18 130.0 170.0 126.0 NaN \n", - "19 130.0 170.0 126.0 NaN \n", - "20 100.0 160.0 130.0 NaN \n", - "21 100.0 160.0 130.0 NaN \n", - "22 100.0 160.0 130.0 NaN \n", - "23 100.0 160.0 130.0 NaN \n", - "24 100.0 160.0 130.0 NaN \n", - "25 100.0 160.0 130.0 NaN \n", - "26 100.0 160.0 130.0 NaN \n", - "27 100.0 160.0 130.0 NaN \n", - "28 80.0 120.0 NaN NaN \n", - "29 80.0 120.0 NaN NaN \n", - "\n", - " temp_dewpoint sunshine_duration ... horizontal_visibility cloud_cover \\\n", - "0 84.0 0.0 ... 66.0 8.0 \n", - "1 84.0 0.0 ... 66.0 8.0 \n", - "2 84.0 0.0 ... 66.0 8.0 \n", - "3 84.0 0.0 ... 66.0 8.0 \n", - "4 84.0 0.0 ... 66.0 8.0 \n", - "5 84.0 0.0 ... 66.0 8.0 \n", - "6 84.0 0.0 ... 66.0 8.0 \n", - "7 84.0 0.0 ... 66.0 8.0 \n", - "8 84.0 0.0 ... 66.0 8.0 \n", - "9 NaN NaN ... NaN NaN \n", - "10 NaN NaN ... NaN NaN \n", - "11 NaN NaN ... NaN NaN \n", - "12 NaN NaN ... NaN NaN \n", - "13 NaN NaN ... NaN NaN \n", - "14 NaN NaN ... NaN NaN \n", - "15 77.0 0.0 ... 74.0 8.0 \n", - "16 77.0 0.0 ... 74.0 8.0 \n", - "17 77.0 0.0 ... 74.0 8.0 \n", - "18 77.0 0.0 ... 74.0 8.0 \n", - "19 77.0 0.0 ... 74.0 8.0 \n", - "20 75.0 0.0 ... NaN NaN \n", - "21 75.0 0.0 ... NaN NaN \n", - "22 75.0 0.0 ... NaN NaN \n", - "23 75.0 0.0 ... NaN NaN \n", - "24 75.0 0.0 ... NaN NaN \n", - "25 75.0 0.0 ... NaN NaN \n", - "26 75.0 0.0 ... NaN NaN \n", - "27 75.0 0.0 ... NaN NaN \n", - "28 NaN NaN ... NaN NaN \n", - "29 NaN NaN ... NaN NaN \n", - "\n", - " relative_humidity weather_code indicator_present_weather_code fog \\\n", - "0 68.0 NaN 5 0.0 \n", - "1 68.0 NaN 5 0.0 \n", - "2 68.0 NaN 5 0.0 \n", - "3 68.0 NaN 5 0.0 \n", - "4 68.0 NaN 5 0.0 \n", - "5 68.0 NaN 5 0.0 \n", - "6 68.0 NaN 5 0.0 \n", - "7 68.0 NaN 5 0.0 \n", - "8 68.0 NaN 5 0.0 \n", - "9 NaN NaN 6 NaN \n", - "10 NaN NaN 6 NaN \n", - "11 NaN NaN 6 NaN \n", - "12 NaN NaN 6 NaN \n", - "13 NaN NaN 6 NaN \n", - "14 NaN NaN 6 NaN \n", - "15 72.0 NaN 5 0.0 \n", - "16 72.0 NaN 5 0.0 \n", - "17 72.0 NaN 5 0.0 \n", - "18 72.0 NaN 5 0.0 \n", - "19 72.0 NaN 5 0.0 \n", - "20 69.0 NaN 6 NaN \n", - "21 69.0 NaN 6 NaN \n", - "22 69.0 NaN 6 NaN \n", - "23 69.0 NaN 6 NaN \n", - "24 69.0 NaN 6 NaN \n", - "25 69.0 NaN 6 NaN \n", - "26 69.0 NaN 6 NaN \n", - "27 69.0 NaN 6 NaN \n", - "28 NaN NaN 6 NaN \n", - "29 NaN NaN 6 NaN \n", - "\n", - " rain snow thunder ice_formation \n", - "0 0.0 0.0 0.0 0.0 \n", - "1 0.0 0.0 0.0 0.0 \n", - "2 0.0 0.0 0.0 0.0 \n", - "3 0.0 0.0 0.0 0.0 \n", - "4 0.0 0.0 0.0 0.0 \n", - "5 0.0 0.0 0.0 0.0 \n", - "6 0.0 0.0 0.0 0.0 \n", - "7 0.0 0.0 0.0 0.0 \n", - "8 0.0 0.0 0.0 0.0 \n", - "9 NaN NaN NaN NaN \n", - "10 NaN NaN NaN NaN \n", - "11 NaN NaN NaN NaN \n", - "12 NaN NaN NaN NaN \n", - "13 NaN NaN NaN NaN \n", - "14 NaN NaN NaN NaN \n", - "15 0.0 0.0 0.0 0.0 \n", - "16 0.0 0.0 0.0 0.0 \n", - "17 0.0 0.0 0.0 0.0 \n", - "18 0.0 0.0 0.0 0.0 \n", - "19 0.0 0.0 0.0 0.0 \n", - "20 NaN NaN NaN NaN \n", - "21 NaN NaN NaN NaN \n", - "22 NaN NaN NaN NaN \n", - "23 NaN NaN NaN NaN \n", - "24 NaN NaN NaN NaN \n", - "25 NaN NaN NaN NaN \n", - "26 NaN NaN NaN NaN \n", - "27 NaN NaN NaN NaN \n", - "28 NaN NaN NaN NaN \n", - "29 NaN NaN NaN NaN \n", - "\n", - "[30 rows x 24 columns]" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "display(weather_steps.iloc[:30])" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.9.13" - }, - "orig_nbformat": 4 - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/Target_transformation/target_transformation.ipynb b/Target_transformation/target_transformation.ipynb new file mode 100644 index 00000000..7509d3b7 --- /dev/null +++ b/Target_transformation/target_transformation.ipynb @@ -0,0 +1,870 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "import pandas as pd\n", + "import numpy as np" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
startstepstemp_celsiusrain
02023-01-01 00:00:000.000000142.00.0
12023-01-01 00:10:0097.054054142.00.0
22023-01-01 00:20:0094.945946142.00.0
32023-01-01 00:30:000.000000142.00.0
42023-01-01 00:40:0046.876667142.00.0
...............
224602023-06-05 23:20:000.000000NaNNaN
224612023-06-05 23:30:000.000000NaNNaN
224622023-06-05 23:40:000.000000NaNNaN
224632023-06-05 23:50:000.000000NaNNaN
224642023-06-06 00:00:000.00000095.0NaN
\n", + "

22465 rows × 4 columns

\n", + "
" + ], + "text/plain": [ + " start steps temp_celsius rain\n", + "0 2023-01-01 00:00:00 0.000000 142.0 0.0\n", + "1 2023-01-01 00:10:00 97.054054 142.0 0.0\n", + "2 2023-01-01 00:20:00 94.945946 142.0 0.0\n", + "3 2023-01-01 00:30:00 0.000000 142.0 0.0\n", + "4 2023-01-01 00:40:00 46.876667 142.0 0.0\n", + "... ... ... ... ...\n", + "22460 2023-06-05 23:20:00 0.000000 NaN NaN\n", + "22461 2023-06-05 23:30:00 0.000000 NaN NaN\n", + "22462 2023-06-05 23:40:00 0.000000 NaN NaN\n", + "22463 2023-06-05 23:50:00 0.000000 NaN NaN\n", + "22464 2023-06-06 00:00:00 0.000000 95.0 NaN\n", + "\n", + "[22465 rows x 4 columns]" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "New_weather_steps = pd.read_csv(\"New_weather_steps.csv\")\n", + "New_weather_steps = New_weather_steps[['start', 'steps', 'temp_celsius', 'rain']]\n", + "display(New_weather_steps)" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "C:\\Users\\irene\\AppData\\Local\\Temp\\ipykernel_25532\\4240309728.py:7: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " New_weather_steps[\"temp_celsius\"][i] = \"Chilly\"\n" + ] + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
startstepstemp_celsiusrain
02023-01-01 00:00:000.000000Chilly0.0
12023-01-01 00:10:0097.054054Chilly0.0
22023-01-01 00:20:0094.945946Chilly0.0
32023-01-01 00:30:000.000000Chilly0.0
42023-01-01 00:40:0046.876667Chilly0.0
...............
224602023-06-05 23:20:000.000000NaNNaN
224612023-06-05 23:30:000.000000NaNNaN
224622023-06-05 23:40:000.000000NaNNaN
224632023-06-05 23:50:000.000000NaNNaN
224642023-06-06 00:00:000.000000ColdNaN
\n", + "

22465 rows × 4 columns

\n", + "
" + ], + "text/plain": [ + " start steps temp_celsius rain\n", + "0 2023-01-01 00:00:00 0.000000 Chilly 0.0\n", + "1 2023-01-01 00:10:00 97.054054 Chilly 0.0\n", + "2 2023-01-01 00:20:00 94.945946 Chilly 0.0\n", + "3 2023-01-01 00:30:00 0.000000 Chilly 0.0\n", + "4 2023-01-01 00:40:00 46.876667 Chilly 0.0\n", + "... ... ... ... ...\n", + "22460 2023-06-05 23:20:00 0.000000 NaN NaN\n", + "22461 2023-06-05 23:30:00 0.000000 NaN NaN\n", + "22462 2023-06-05 23:40:00 0.000000 NaN NaN\n", + "22463 2023-06-05 23:50:00 0.000000 NaN NaN\n", + "22464 2023-06-06 00:00:00 0.000000 Cold NaN\n", + "\n", + "[22465 rows x 4 columns]" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "for i in range(len(New_weather_steps)):\n", + " if New_weather_steps[\"temp_celsius\"][i] < (0):\n", + " New_weather_steps[\"temp_celsius\"][i] = \"Freezing\"\n", + " elif New_weather_steps[\"temp_celsius\"][i] < (10*10):\n", + " New_weather_steps[\"temp_celsius\"][i] = \"Cold\"\n", + " elif New_weather_steps[\"temp_celsius\"][i] < (15*10):\n", + " New_weather_steps[\"temp_celsius\"][i] = \"Chilly\"\n", + " elif New_weather_steps[\"temp_celsius\"][i] < (20*10):\n", + " New_weather_steps[\"temp_celsius\"][i] = \"Comfortable\"\n", + " elif New_weather_steps[\"temp_celsius\"][i] < (25*10):\n", + " New_weather_steps[\"temp_celsius\"][i] = \"Warm\"\n", + " elif New_weather_steps[\"temp_celsius\"][i] >= (25*10):\n", + " New_weather_steps[\"temp_celsius\"][i] = \"Hot\"\n", + "display(New_weather_steps)" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "C:\\Users\\irene\\AppData\\Local\\Temp\\ipykernel_25532\\475042030.py:12: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " New_weather_steps[\"combined\"][j] = 5\n", + "C:\\Users\\irene\\AppData\\Local\\Temp\\ipykernel_25532\\475042030.py:14: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " New_weather_steps[\"combined\"][j] = 6\n", + "C:\\Users\\irene\\AppData\\Local\\Temp\\ipykernel_25532\\475042030.py:8: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " New_weather_steps[\"combined\"][j] = 3\n", + "C:\\Users\\irene\\AppData\\Local\\Temp\\ipykernel_25532\\475042030.py:10: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " New_weather_steps[\"combined\"][j] = 4\n", + "C:\\Users\\irene\\AppData\\Local\\Temp\\ipykernel_25532\\475042030.py:4: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " New_weather_steps[\"combined\"][j] = 1\n", + "C:\\Users\\irene\\AppData\\Local\\Temp\\ipykernel_25532\\475042030.py:6: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " New_weather_steps[\"combined\"][j] = 2\n", + "C:\\Users\\irene\\AppData\\Local\\Temp\\ipykernel_25532\\475042030.py:16: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " New_weather_steps[\"combined\"][j] = 7\n", + "C:\\Users\\irene\\AppData\\Local\\Temp\\ipykernel_25532\\475042030.py:18: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " New_weather_steps[\"combined\"][j] = 8\n", + "C:\\Users\\irene\\AppData\\Local\\Temp\\ipykernel_25532\\475042030.py:20: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " New_weather_steps[\"combined\"][j] = 9\n", + "C:\\Users\\irene\\AppData\\Local\\Temp\\ipykernel_25532\\475042030.py:24: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " New_weather_steps[\"combined\"][j] = 11\n" + ] + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
startstepstemp_celsiusraincombined
02023-01-01 00:00:000.000000Chilly0.05.0
12023-01-01 00:10:0097.054054Chilly0.05.0
22023-01-01 00:20:0094.945946Chilly0.05.0
32023-01-01 00:30:000.000000Chilly0.05.0
42023-01-01 00:40:0046.876667Chilly0.05.0
52023-01-01 00:50:00126.326232Chilly0.05.0
62023-01-01 01:00:00128.406776NaNNaNNaN
72023-01-01 01:10:0026.821821NaNNaNNaN
82023-01-01 01:20:000.000000NaNNaNNaN
92023-01-01 01:30:0094.514644NaNNaNNaN
102023-01-01 01:40:0083.035725NaNNaNNaN
112023-01-01 01:50:001.945755NaNNaNNaN
122023-01-01 02:00:000.000000Chilly0.05.0
132023-01-01 02:10:00117.962963Chilly0.05.0
142023-01-01 02:20:00134.037037Chilly0.05.0
\n", + "
" + ], + "text/plain": [ + " start steps temp_celsius rain combined\n", + "0 2023-01-01 00:00:00 0.000000 Chilly 0.0 5.0\n", + "1 2023-01-01 00:10:00 97.054054 Chilly 0.0 5.0\n", + "2 2023-01-01 00:20:00 94.945946 Chilly 0.0 5.0\n", + "3 2023-01-01 00:30:00 0.000000 Chilly 0.0 5.0\n", + "4 2023-01-01 00:40:00 46.876667 Chilly 0.0 5.0\n", + "5 2023-01-01 00:50:00 126.326232 Chilly 0.0 5.0\n", + "6 2023-01-01 01:00:00 128.406776 NaN NaN NaN\n", + "7 2023-01-01 01:10:00 26.821821 NaN NaN NaN\n", + "8 2023-01-01 01:20:00 0.000000 NaN NaN NaN\n", + "9 2023-01-01 01:30:00 94.514644 NaN NaN NaN\n", + "10 2023-01-01 01:40:00 83.035725 NaN NaN NaN\n", + "11 2023-01-01 01:50:00 1.945755 NaN NaN NaN\n", + "12 2023-01-01 02:00:00 0.000000 Chilly 0.0 5.0\n", + "13 2023-01-01 02:10:00 117.962963 Chilly 0.0 5.0\n", + "14 2023-01-01 02:20:00 134.037037 Chilly 0.0 5.0" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "New_weather_steps[\"combined\"] = np.nan\n", + "for j in range(len(New_weather_steps)):\n", + " if New_weather_steps[\"temp_celsius\"][j] == \"Freezing\" and New_weather_steps[\"rain\"][j] == 0:\n", + " New_weather_steps[\"combined\"][j] = 1\n", + " elif New_weather_steps[\"temp_celsius\"][j] == \"Freezing\" and New_weather_steps[\"rain\"][j] == 1:\n", + " New_weather_steps[\"combined\"][j] = 2\n", + " elif New_weather_steps[\"temp_celsius\"][j] == \"Cold\" and New_weather_steps[\"rain\"][j] == 0:\n", + " New_weather_steps[\"combined\"][j] = 3\n", + " elif New_weather_steps[\"temp_celsius\"][j] == \"Cold\" and New_weather_steps[\"rain\"][j] == 1:\n", + " New_weather_steps[\"combined\"][j] = 4\n", + " elif New_weather_steps[\"temp_celsius\"][j] == \"Chilly\" and New_weather_steps[\"rain\"][j] == 0:\n", + " New_weather_steps[\"combined\"][j] = 5\n", + " elif New_weather_steps[\"temp_celsius\"][j] == \"Chilly\" and New_weather_steps[\"rain\"][j] == 1:\n", + " New_weather_steps[\"combined\"][j] = 6\n", + " elif New_weather_steps[\"temp_celsius\"][j] == \"Comfortable\" and New_weather_steps[\"rain\"][j] == 0:\n", + " New_weather_steps[\"combined\"][j] = 7\n", + " elif New_weather_steps[\"temp_celsius\"][j] == \"Comfortable\" and New_weather_steps[\"rain\"][j] == 1:\n", + " New_weather_steps[\"combined\"][j] = 8\n", + " elif New_weather_steps[\"temp_celsius\"][j] == \"Warm\" and New_weather_steps[\"rain\"][j] == 0:\n", + " New_weather_steps[\"combined\"][j] = 9\n", + " elif New_weather_steps[\"temp_celsius\"][j] == \"Warm\" and New_weather_steps[\"rain\"][j] == 1:\n", + " New_weather_steps[\"combined\"][j] = 10\n", + " elif New_weather_steps[\"temp_celsius\"][j] == \"Hot\" and New_weather_steps[\"rain\"][j] == 0:\n", + " New_weather_steps[\"combined\"][j] = 11\n", + " elif New_weather_steps[\"temp_celsius\"][j] == \"Hot\" and New_weather_steps[\"rain\"][j] == 1:\n", + " New_weather_steps[\"combined\"][j] = 12\n", + "display(New_weather_steps.iloc[:15])" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
startstepscombined
02023-01-01 00:00:000.0000005.0
12023-01-01 00:10:0097.0540545.0
22023-01-01 00:20:0094.9459465.0
32023-01-01 00:30:000.0000005.0
42023-01-01 00:40:0046.8766675.0
............
224472023-06-05 21:10:000.0000005.0
224482023-06-05 21:20:000.0000005.0
224492023-06-05 21:30:000.0000005.0
224502023-06-05 21:40:000.0000005.0
224512023-06-05 21:50:000.0000005.0
\n", + "

11652 rows × 3 columns

\n", + "
" + ], + "text/plain": [ + " start steps combined\n", + "0 2023-01-01 00:00:00 0.000000 5.0\n", + "1 2023-01-01 00:10:00 97.054054 5.0\n", + "2 2023-01-01 00:20:00 94.945946 5.0\n", + "3 2023-01-01 00:30:00 0.000000 5.0\n", + "4 2023-01-01 00:40:00 46.876667 5.0\n", + "... ... ... ...\n", + "22447 2023-06-05 21:10:00 0.000000 5.0\n", + "22448 2023-06-05 21:20:00 0.000000 5.0\n", + "22449 2023-06-05 21:30:00 0.000000 5.0\n", + "22450 2023-06-05 21:40:00 0.000000 5.0\n", + "22451 2023-06-05 21:50:00 0.000000 5.0\n", + "\n", + "[11652 rows x 3 columns]" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "New_weather_steps = New_weather_steps[New_weather_steps['combined'].notna()]\n", + "New_weather_steps = New_weather_steps.drop(columns=['temp_celsius', 'rain'])\n", + "display(New_weather_steps)" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [], + "source": [ + "New_weather_steps.to_csv(\"Transformed_weather_steps.csv\")" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
col_0count
combined
1.0510
2.06
3.05460
4.01698
5.02370
6.0672
7.0726
8.024
9.0180
11.06
\n", + "
" + ], + "text/plain": [ + "col_0 count\n", + "combined \n", + "1.0 510\n", + "2.0 6\n", + "3.0 5460\n", + "4.0 1698\n", + "5.0 2370\n", + "6.0 672\n", + "7.0 726\n", + "8.0 24\n", + "9.0 180\n", + "11.0 6" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "#New_weather_steps[\"combined\"].value_counts(sort = True)\n", + "pd.crosstab(index=New_weather_steps['combined'], columns='count')" + ] + }, + { + "cell_type": "code", + "execution_count": 46, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Correlation between steps and combined is: -0.04\n" + ] + } + ], + "source": [ + "col1, col2 = \"steps\", \"combined\"\n", + "corr = New_weather_steps[col1].corr(New_weather_steps[col2])\n", + "print (\"Correlation between \", col1, \" and \", col2, \"is: \", round(corr, 2))" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.13" + }, + "orig_nbformat": 4 + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/Target_transformation/target_transformation.py b/Target_transformation/target_transformation.py new file mode 100644 index 00000000..686a9c18 --- /dev/null +++ b/Target_transformation/target_transformation.py @@ -0,0 +1,56 @@ +import pandas as pd +import numpy as np + + +#load dataset +New_weather_steps = pd.read_csv("New_weather_steps.csv") +New_weather_steps = New_weather_steps[['start', 'steps', 'temp_celsius', 'rain']] + +#categorize weather +for i in range(len(New_weather_steps)): + if New_weather_steps["temp_celsius"][i] < (0): + New_weather_steps["temp_celsius"][i] = "Freezing" + elif New_weather_steps["temp_celsius"][i] < (10*10): + New_weather_steps["temp_celsius"][i] = "Cold" + elif New_weather_steps["temp_celsius"][i] < (15*10): + New_weather_steps["temp_celsius"][i] = "Chilly" + elif New_weather_steps["temp_celsius"][i] < (20*10): + New_weather_steps["temp_celsius"][i] = "Comfortable" + elif New_weather_steps["temp_celsius"][i] < (25*10): + New_weather_steps["temp_celsius"][i] = "Warm" + elif New_weather_steps["temp_celsius"][i] >= (25*10): + New_weather_steps["temp_celsius"][i] = "Hot" + +#create combined column +New_weather_steps["combined"] = np.nan +for j in range(len(New_weather_steps)): + if New_weather_steps["temp_celsius"][j] == "Freezing" and New_weather_steps["rain"][j] == 0: + New_weather_steps["combined"][j] = 1 + elif New_weather_steps["temp_celsius"][j] == "Freezing" and New_weather_steps["rain"][j] == 1: + New_weather_steps["combined"][j] = 2 + elif New_weather_steps["temp_celsius"][j] == "Cold" and New_weather_steps["rain"][j] == 0: + New_weather_steps["combined"][j] = 3 + elif New_weather_steps["temp_celsius"][j] == "Cold" and New_weather_steps["rain"][j] == 1: + New_weather_steps["combined"][j] = 4 + elif New_weather_steps["temp_celsius"][j] == "Chilly" and New_weather_steps["rain"][j] == 0: + New_weather_steps["combined"][j] = 5 + elif New_weather_steps["temp_celsius"][j] == "Chilly" and New_weather_steps["rain"][j] == 1: + New_weather_steps["combined"][j] = 6 + elif New_weather_steps["temp_celsius"][j] == "Comfortable" and New_weather_steps["rain"][j] == 0: + New_weather_steps["combined"][j] = 7 + elif New_weather_steps["temp_celsius"][j] == "Comfortable" and New_weather_steps["rain"][j] == 1: + New_weather_steps["combined"][j] = 8 + elif New_weather_steps["temp_celsius"][j] == "Warm" and New_weather_steps["rain"][j] == 0: + New_weather_steps["combined"][j] = 9 + elif New_weather_steps["temp_celsius"][j] == "Warm" and New_weather_steps["rain"][j] == 1: + New_weather_steps["combined"][j] = 10 + elif New_weather_steps["temp_celsius"][j] == "Hot" and New_weather_steps["rain"][j] == 0: + New_weather_steps["combined"][j] = 11 + elif New_weather_steps["temp_celsius"][j] == "Hot" and New_weather_steps["rain"][j] == 1: + New_weather_steps["combined"][j] = 12 + +#remove na, and columns +New_weather_steps = New_weather_steps[New_weather_steps['combined'].notna()] +New_weather_steps = New_weather_steps.drop(columns=['temp_celsius', 'rain']) + +New_weather_steps.to_csv("Transformed_weather_steps.csv") \ No newline at end of file diff --git a/combine_data_.py b/combine_data_.py index a49ea273..c980974c 100644 --- a/combine_data_.py +++ b/combine_data_.py @@ -1,8 +1,9 @@ import pandas as pd import numpy as np -import sys +from tqdm import tqdm -def fix_weather_data(dir : str, rows_skipped=30): +def fix_weather_data(dir: str, rows_skipped=30): + print('fixing weather data') weather_raw = pd.read_csv(dir, dtype=str, skiprows=rows_skipped) # replace confusing names with better names derived from .txt file @@ -49,17 +50,25 @@ def fix_weather_data(dir : str, rows_skipped=30): weather['YYYYMMDD'] = pd.to_datetime(weather['YYYYMMDD'], format='%Y%m%d').dt.strftime('%Y-%m-%d') weather['datetime'] = weather[['YYYYMMDD', 'hour']].apply(lambda x: ' '.join(x.values.astype(str)), axis="columns") weather['datetime'] = pd.to_datetime(pd.to_datetime(weather['datetime']).dt.strftime('%Y-%m-%d %H:%M:%S')) - + weather['start_weather'] = weather['datetime'] + weather['end_weather'] = pd.to_datetime(weather['start_weather']) + pd.Timedelta('1H') + cols = list(weather) + cols.insert(0, cols.pop(cols.index('end_weather'))) + cols.insert(0, cols.pop(cols.index('start_weather'))) + cols.pop(cols.index('hour')) + cols.pop(cols.index('YYYYMMDD')) + weather = weather.loc[:, cols] return weather -def merge_steps_weather(dir_weather: str, dir_steps: str, steps_column_datetime = 'startDate'): +def merge_steps_weather(dir_weather: str, dir_steps: str, steps_column_datetime='startDate'): steps = pd.read_csv(dir_steps) weather = fix_weather_data(dir_weather) # decide on column to merge by, change steps_column_datetime to choose another datetime column weather.rename(columns={'datetime': steps_column_datetime}, inplace=True) - steps[steps_column_datetime] = pd.to_datetime(pd.to_datetime(steps[steps_column_datetime]).dt.strftime('%Y-%m-%d %H:%M:%S')) + steps[steps_column_datetime] = pd.to_datetime( + pd.to_datetime(steps[steps_column_datetime]).dt.strftime('%Y-%m-%d %H:%M:%S')) steps = steps[steps['startDate'].dt.strftime('%Y') == '2023'] steps.sort_values(steps_column_datetime, inplace=True) weather.sort_values(steps_column_datetime, inplace=True) @@ -68,17 +77,80 @@ def merge_steps_weather(dir_weather: str, dir_steps: str, steps_column_datetime return merge -def create_weather_steps(dir_weather: str, dir_steps: str): - #Create usefull dataframe - weather_steps = merge_steps_weather(dir_weather, dir_steps) - New_steps = weather_steps[['creationDate', 'hour', 'value']] - New_weather = weather_steps.iloc[:, 13:35] - New_weather_steps = pd.concat([New_steps, New_weather], axis=1) - return(New_weather_steps) +def construct_time_intervals(df, Tdelta='15min'): + dat_int = df.resample(Tdelta, on='startDate', convention='end').agg({ + 'value': 'sum', + 'windspeed_avg_hour': 'mean', + 'temp_celsius': 'mean', + 'sunshine_duration': 'mean', + 'precipitation_duration': 'mean', + 'fog': 'mean', + 'rain': 'mean', + 'snow': 'mean', + 'thunder': 'mean', + 'ice_formation': 'mean' + }).reset_index() + + dat_int['datetime'] = dat_int['datetime'] + pd.Timedelta('15min') + dat_int.rename({'startDate': 'datetime'}, inplace=True) + return dat_int + + +def fix_steps_time_intervals(dir, start_date, end_date, delta_t): + print('fixing steps data') + steps = pd.read_csv(dir) + steps = steps[pd.to_datetime(steps['startDate']).dt.strftime('%Y-%m') == pd.to_datetime(start_date).strftime('%Y-%m')].reset_index(drop=True) + steps_start = pd.to_datetime(pd.to_datetime(steps['startDate']).dt.strftime('%Y-%m-%d %H:%M:%S')) + steps_end = pd.to_datetime(pd.to_datetime(steps['endDate']).dt.strftime('%Y-%m-%d %H:%M:%S')) + + range_start = pd.to_datetime(pd.date_range(start=start_date, + end=end_date, + freq='S')) + range_end = pd.to_datetime(pd.date_range(start=pd.to_datetime(start_date) + pd.Timedelta(seconds=1), + end=pd.to_datetime(end_date) + pd.Timedelta(seconds=1), + freq='S')) + new_steps = pd.DataFrame({'start': range_start, + 'end': range_end, + 'steps': [0] * len(range_start)}) + + for i in tqdm(range(len(steps_start))): + mask = (new_steps['start'] >= steps_start[i]) & (new_steps['end'] <= steps_end[i]) + trues = len(mask[mask == True]) + if trues != 0: + res = steps.loc[i, 'value'] / trues + new_steps.loc[mask, 'steps'] = res + new_steps = new_steps.resample(delta_t, on='end').steps.sum().reset_index().rename(columns = {'end': 'start'}) + new_steps['end'] = new_steps['start'] + pd.Timedelta(delta_t) + + new_steps = new_steps[['start','end','steps']] + + return new_steps + +def merge_steps_weather(dir_weather: str, dir_steps: str, start_date, end_date, delta_t, steps_column_datetime='start'): + steps = fix_steps_time_intervals(dir_steps, start_date, end_date, delta_t) + weather = fix_weather_data(dir_weather) + + print('merging weather and steps data') + + # decide on column to merge by, change steps_column_datetime to choose another datetime column + weather.rename(columns={'datetime': steps_column_datetime}, inplace=True) + + steps[steps_column_datetime] = pd.to_datetime( + pd.to_datetime(steps[steps_column_datetime]).dt.strftime('%Y-%m-%d %H:%M:%S')) + steps.sort_values(steps_column_datetime, inplace=True) + weather.sort_values(steps_column_datetime, inplace=True) + + merge = pd.merge_asof(steps, weather, on=steps_column_datetime, tolerance=pd.Timedelta("60m")) + + return merge + +res = merge_steps_weather(dir_weather='C:\\Users\\irene\\OneDrive\\Bureaublad\\ML\\ML4QS\\data_used\\weather.txt', + dir_steps='C:\\Users\\irene\\OneDrive\\Bureaublad\\ML\\ML4QS\\data_used\\StepCount.csv', + start_date='2023-01-01 00:00:00', + end_date='2023-06-06 00:00:00', + delta_t='10min') -if __name__ == '__main__': - merge = create_weather_steps('./data_used/weather.txt', './data_used/StepCount.csv') - merge.to_csv('weather_steps.csv') +res.to_csv("New_weather_steps.csv") diff --git a/data_used/Transformed_weather_steps.csv b/data_used/Transformed_weather_steps.csv new file mode 100644 index 00000000..f03e0d04 --- /dev/null +++ b/data_used/Transformed_weather_steps.csv @@ -0,0 +1,11653 @@ +,start,steps,combined +0,2023-01-01 00:00:00,0.0,5.0 +1,2023-01-01 00:10:00,97.05405405405403,5.0 +2,2023-01-01 00:20:00,94.94594594594597,5.0 +3,2023-01-01 00:30:00,0.0,5.0 +4,2023-01-01 00:40:00,46.876666666666665,5.0 +5,2023-01-01 00:50:00,126.32623188405796,5.0 +12,2023-01-01 02:00:00,0.0,5.0 +13,2023-01-01 02:10:00,117.96296296296296,5.0 +14,2023-01-01 02:20:00,134.03703703703704,5.0 +15,2023-01-01 02:30:00,113.0,5.0 +16,2023-01-01 02:40:00,11.586919104991392,5.0 +17,2023-01-01 02:50:00,109.01341534316914,5.0 +36,2023-01-01 06:00:00,0.0,5.0 +37,2023-01-01 06:10:00,0.0,5.0 +38,2023-01-01 06:20:00,0.0,5.0 +39,2023-01-01 06:30:00,0.0,5.0 +40,2023-01-01 06:40:00,0.0,5.0 +41,2023-01-01 06:50:00,0.0,5.0 +48,2023-01-01 08:00:00,0.0,6.0 +49,2023-01-01 08:10:00,0.0,6.0 +50,2023-01-01 08:20:00,0.0,6.0 +51,2023-01-01 08:30:00,0.0,6.0 +52,2023-01-01 08:40:00,0.0,6.0 +53,2023-01-01 08:50:00,0.0,6.0 +54,2023-01-01 09:00:00,0.0,5.0 +55,2023-01-01 09:10:00,0.0,5.0 +56,2023-01-01 09:20:00,0.0,5.0 +57,2023-01-01 09:30:00,0.0,5.0 +58,2023-01-01 09:40:00,0.0,5.0 +59,2023-01-01 09:50:00,0.0,5.0 +60,2023-01-01 10:00:00,0.0,5.0 +61,2023-01-01 10:10:00,0.0,5.0 +62,2023-01-01 10:20:00,0.0,5.0 +63,2023-01-01 10:30:00,0.0,5.0 +64,2023-01-01 10:40:00,26.0,5.0 +65,2023-01-01 10:50:00,0.0,5.0 +66,2023-01-01 11:00:00,0.0,5.0 +67,2023-01-01 11:10:00,0.0,5.0 +68,2023-01-01 11:20:00,13.0,5.0 +69,2023-01-01 11:30:00,0.0,5.0 +70,2023-01-01 11:40:00,0.0,5.0 +71,2023-01-01 11:50:00,0.0,5.0 +90,2023-01-01 15:00:00,0.0,5.0 +91,2023-01-01 15:10:00,0.0,5.0 +92,2023-01-01 15:20:00,0.0,5.0 +93,2023-01-01 15:30:00,0.0,5.0 +94,2023-01-01 15:40:00,0.0,5.0 +95,2023-01-01 15:50:00,0.0,5.0 +108,2023-01-01 18:00:00,0.0,6.0 +109,2023-01-01 18:10:00,0.0,6.0 +110,2023-01-01 18:20:00,0.0,6.0 +111,2023-01-01 18:30:00,0.0,6.0 +112,2023-01-01 18:40:00,0.0,6.0 +113,2023-01-01 18:50:00,11.398926654740608,6.0 +120,2023-01-01 20:00:00,0.0,6.0 +121,2023-01-01 20:10:00,0.0,6.0 +122,2023-01-01 20:20:00,0.0,6.0 +123,2023-01-01 20:30:00,0.0,6.0 +124,2023-01-01 20:40:00,0.0,6.0 +125,2023-01-01 20:50:00,0.0,6.0 +132,2023-01-01 22:00:00,0.0,6.0 +133,2023-01-01 22:10:00,0.0,6.0 +134,2023-01-01 22:20:00,0.0,6.0 +135,2023-01-01 22:30:00,0.0,6.0 +136,2023-01-01 22:40:00,22.0,6.0 +137,2023-01-01 22:50:00,0.0,6.0 +138,2023-01-01 23:00:00,0.0,6.0 +139,2023-01-01 23:10:00,8.0,6.0 +140,2023-01-01 23:20:00,0.0,6.0 +141,2023-01-01 23:30:00,0.0,6.0 +142,2023-01-01 23:40:00,21.214285714285715,6.0 +143,2023-01-01 23:50:00,23.78571428571429,6.0 +150,2023-01-02 01:00:00,0.0,6.0 +151,2023-01-02 01:10:00,0.0,6.0 +152,2023-01-02 01:20:00,0.0,6.0 +153,2023-01-02 01:30:00,0.0,6.0 +154,2023-01-02 01:40:00,0.0,6.0 +155,2023-01-02 01:50:00,0.0,6.0 +156,2023-01-02 02:00:00,0.0,3.0 +157,2023-01-02 02:10:00,0.0,3.0 +158,2023-01-02 02:20:00,0.0,3.0 +159,2023-01-02 02:30:00,0.0,3.0 +160,2023-01-02 02:40:00,0.0,3.0 +161,2023-01-02 02:50:00,0.0,3.0 +168,2023-01-02 04:00:00,0.0,4.0 +169,2023-01-02 04:10:00,0.0,4.0 +170,2023-01-02 04:20:00,0.0,4.0 +171,2023-01-02 04:30:00,0.0,4.0 +172,2023-01-02 04:40:00,0.0,4.0 +173,2023-01-02 04:50:00,0.0,4.0 +192,2023-01-02 08:00:00,0.0,4.0 +193,2023-01-02 08:10:00,0.0,4.0 +194,2023-01-02 08:20:00,0.0,4.0 +195,2023-01-02 08:30:00,0.0,4.0 +196,2023-01-02 08:40:00,0.0,4.0 +197,2023-01-02 08:50:00,0.0,4.0 +210,2023-01-02 11:00:00,0.0,3.0 +211,2023-01-02 11:10:00,0.0,3.0 +212,2023-01-02 11:20:00,0.0,3.0 +213,2023-01-02 11:30:00,0.0,3.0 +214,2023-01-02 11:40:00,0.0,3.0 +215,2023-01-02 11:50:00,8.0,3.0 +216,2023-01-02 12:00:00,0.0,4.0 +217,2023-01-02 12:10:00,0.0,4.0 +218,2023-01-02 12:20:00,0.0,4.0 +219,2023-01-02 12:30:00,53.0,4.0 +220,2023-01-02 12:40:00,0.0,4.0 +221,2023-01-02 12:50:00,0.0,4.0 +222,2023-01-02 13:00:00,0.0,3.0 +223,2023-01-02 13:10:00,0.0,3.0 +224,2023-01-02 13:20:00,0.0,3.0 +225,2023-01-02 13:30:00,222.98608695652172,3.0 +226,2023-01-02 13:40:00,226.1822168547624,3.0 +227,2023-01-02 13:50:00,283.0362694300518,3.0 +228,2023-01-02 14:00:00,477.3333333333333,4.0 +229,2023-01-02 14:10:00,0.0,4.0 +230,2023-01-02 14:20:00,135.81636060100166,4.0 +231,2023-01-02 14:30:00,278.3639328470125,4.0 +232,2023-01-02 14:40:00,333.56503198294246,4.0 +233,2023-01-02 14:50:00,0.0,4.0 +240,2023-01-02 16:00:00,71.32332807791327,4.0 +241,2023-01-02 16:10:00,62.105561797752806,4.0 +242,2023-01-02 16:20:00,282.30795948447246,4.0 +243,2023-01-02 16:30:00,270.39118020570544,4.0 +244,2023-01-02 16:40:00,397.3985566470171,4.0 +245,2023-01-02 16:50:00,354.8283561180056,4.0 +264,2023-01-02 20:00:00,181.6132882882883,3.0 +265,2023-01-02 20:10:00,366.5700000000001,3.0 +266,2023-01-02 20:20:00,411.61098173515984,3.0 +267,2023-01-02 20:30:00,363.41052580252864,3.0 +268,2023-01-02 20:40:00,219.5556353194544,3.0 +269,2023-01-02 20:50:00,154.67027677496992,3.0 +270,2023-01-02 21:00:00,261.4963898916968,3.0 +271,2023-01-02 21:10:00,174.17376490630323,3.0 +272,2023-01-02 21:20:00,370.16253665445487,3.0 +273,2023-01-02 21:30:00,97.72010869565216,3.0 +274,2023-01-02 21:40:00,84.0,3.0 +275,2023-01-02 21:50:00,0.0,3.0 +288,2023-01-03 00:00:00,0.0,3.0 +289,2023-01-03 00:10:00,0.0,3.0 +290,2023-01-03 00:20:00,17.563333333333333,3.0 +291,2023-01-03 00:30:00,215.2042328042328,3.0 +292,2023-01-03 00:40:00,51.86243386243386,3.0 +293,2023-01-03 00:50:00,67.0,3.0 +294,2023-01-03 01:00:00,0.0,3.0 +295,2023-01-03 01:10:00,0.0,3.0 +296,2023-01-03 01:20:00,0.0,3.0 +297,2023-01-03 01:30:00,0.0,3.0 +298,2023-01-03 01:40:00,0.0,3.0 +299,2023-01-03 01:50:00,0.0,3.0 +300,2023-01-03 02:00:00,0.0,3.0 +301,2023-01-03 02:10:00,8.0,3.0 +302,2023-01-03 02:20:00,0.0,3.0 +303,2023-01-03 02:30:00,0.0,3.0 +304,2023-01-03 02:40:00,16.0,3.0 +305,2023-01-03 02:50:00,0.0,3.0 +306,2023-01-03 03:00:00,17.0,3.0 +307,2023-01-03 03:10:00,0.0,3.0 +308,2023-01-03 03:20:00,0.0,3.0 +309,2023-01-03 03:30:00,0.0,3.0 +310,2023-01-03 03:40:00,0.0,3.0 +311,2023-01-03 03:50:00,0.0,3.0 +312,2023-01-03 04:00:00,0.0,3.0 +313,2023-01-03 04:10:00,0.0,3.0 +314,2023-01-03 04:20:00,0.0,3.0 +315,2023-01-03 04:30:00,0.0,3.0 +316,2023-01-03 04:40:00,0.0,3.0 +317,2023-01-03 04:50:00,0.0,3.0 +318,2023-01-03 05:00:00,0.0,3.0 +319,2023-01-03 05:10:00,0.0,3.0 +320,2023-01-03 05:20:00,0.0,3.0 +321,2023-01-03 05:30:00,0.0,3.0 +322,2023-01-03 05:40:00,0.0,3.0 +323,2023-01-03 05:50:00,0.0,3.0 +330,2023-01-03 07:00:00,0.0,4.0 +331,2023-01-03 07:10:00,0.0,4.0 +332,2023-01-03 07:20:00,0.0,4.0 +333,2023-01-03 07:30:00,0.0,4.0 +334,2023-01-03 07:40:00,0.0,4.0 +335,2023-01-03 07:50:00,0.0,4.0 +336,2023-01-03 08:00:00,0.0,3.0 +337,2023-01-03 08:10:00,0.0,3.0 +338,2023-01-03 08:20:00,0.0,3.0 +339,2023-01-03 08:30:00,0.0,3.0 +340,2023-01-03 08:40:00,0.0,3.0 +341,2023-01-03 08:50:00,0.0,3.0 +348,2023-01-03 10:00:00,19.0,3.0 +349,2023-01-03 10:10:00,0.0,3.0 +350,2023-01-03 10:20:00,9.0,3.0 +351,2023-01-03 10:30:00,0.0,3.0 +352,2023-01-03 10:40:00,0.0,3.0 +353,2023-01-03 10:50:00,0.0,3.0 +354,2023-01-03 11:00:00,33.0,3.0 +355,2023-01-03 11:10:00,0.0,3.0 +356,2023-01-03 11:20:00,0.0,3.0 +357,2023-01-03 11:30:00,0.0,3.0 +358,2023-01-03 11:40:00,0.0,3.0 +359,2023-01-03 11:50:00,3.111486486486486,3.0 +366,2023-01-03 13:00:00,0.0,3.0 +367,2023-01-03 13:10:00,0.0,3.0 +368,2023-01-03 13:20:00,22.665558870464164,3.0 +369,2023-01-03 13:30:00,35.74084507042254,3.0 +370,2023-01-03 13:40:00,0.0,3.0 +371,2023-01-03 13:50:00,52.62857142857143,3.0 +390,2023-01-03 17:00:00,152.29602888086643,3.0 +391,2023-01-03 17:10:00,29.575971119133573,3.0 +392,2023-01-03 17:20:00,62.12799999999999,3.0 +393,2023-01-03 17:30:00,16.0,3.0 +394,2023-01-03 17:40:00,24.0,3.0 +395,2023-01-03 17:50:00,0.0,3.0 +396,2023-01-03 18:00:00,196.22466960352423,4.0 +397,2023-01-03 18:10:00,265.0,4.0 +398,2023-01-03 18:20:00,0.0,4.0 +399,2023-01-03 18:30:00,13.234657039711191,4.0 +400,2023-01-03 18:40:00,25.76534296028881,4.0 +401,2023-01-03 18:50:00,25.0,4.0 +402,2023-01-03 19:00:00,183.27,3.0 +403,2023-01-03 19:10:00,393.6418852459016,3.0 +404,2023-01-03 19:20:00,0.0,3.0 +405,2023-01-03 19:30:00,0.0,3.0 +406,2023-01-03 19:40:00,29.55924170616113,3.0 +407,2023-01-03 19:50:00,41.60189573459716,3.0 +408,2023-01-03 20:00:00,5.838862559241707,4.0 +409,2023-01-03 20:10:00,0.0,4.0 +410,2023-01-03 20:20:00,109.31506849315068,4.0 +411,2023-01-03 20:30:00,237.76671589346645,4.0 +412,2023-01-03 20:40:00,333.0682156133829,4.0 +413,2023-01-03 20:50:00,0.0,4.0 +414,2023-01-03 21:00:00,0.0,4.0 +415,2023-01-03 21:10:00,29.77247769389156,4.0 +416,2023-01-03 21:20:00,44.30816746739876,4.0 +417,2023-01-03 21:30:00,14.88970588235294,4.0 +418,2023-01-03 21:40:00,39.11029411764706,4.0 +419,2023-01-03 21:50:00,29.2,4.0 +420,2023-01-03 22:00:00,0.0,3.0 +421,2023-01-03 22:10:00,3.0,3.0 +422,2023-01-03 22:20:00,0.0,3.0 +423,2023-01-03 22:30:00,0.0,3.0 +424,2023-01-03 22:40:00,9.568627450980392,3.0 +425,2023-01-03 22:50:00,54.431372549019606,3.0 +426,2023-01-03 23:00:00,114.0,4.0 +427,2023-01-03 23:10:00,0.0,4.0 +428,2023-01-03 23:20:00,62.32387312186978,4.0 +429,2023-01-03 23:30:00,86.18415900664428,4.0 +430,2023-01-03 23:40:00,16.491967871485944,4.0 +431,2023-01-03 23:50:00,50.0,4.0 +456,2023-01-04 04:00:00,0.0,6.0 +457,2023-01-04 04:10:00,0.0,6.0 +458,2023-01-04 04:20:00,0.0,6.0 +459,2023-01-04 04:30:00,0.0,6.0 +460,2023-01-04 04:40:00,0.0,6.0 +461,2023-01-04 04:50:00,0.0,6.0 +462,2023-01-04 05:00:00,0.0,6.0 +463,2023-01-04 05:10:00,0.0,6.0 +464,2023-01-04 05:20:00,0.0,6.0 +465,2023-01-04 05:30:00,0.0,6.0 +466,2023-01-04 05:40:00,0.0,6.0 +467,2023-01-04 05:50:00,0.0,6.0 +492,2023-01-04 10:00:00,79.0,6.0 +493,2023-01-04 10:10:00,0.0,6.0 +494,2023-01-04 10:20:00,0.0,6.0 +495,2023-01-04 10:30:00,0.0,6.0 +496,2023-01-04 10:40:00,0.0,6.0 +497,2023-01-04 10:50:00,0.0,6.0 +498,2023-01-04 11:00:00,0.0,6.0 +499,2023-01-04 11:10:00,0.0,6.0 +500,2023-01-04 11:20:00,40.45410628019324,6.0 +501,2023-01-04 11:30:00,38.54589371980676,6.0 +502,2023-01-04 11:40:00,135.0,6.0 +503,2023-01-04 11:50:00,0.0,6.0 +510,2023-01-04 13:00:00,0.0,5.0 +511,2023-01-04 13:10:00,0.0,5.0 +512,2023-01-04 13:20:00,0.0,5.0 +513,2023-01-04 13:30:00,55.15492957746479,5.0 +514,2023-01-04 13:40:00,208.8450704225352,5.0 +515,2023-01-04 13:50:00,0.0,5.0 +516,2023-01-04 14:00:00,0.0,5.0 +517,2023-01-04 14:10:00,0.0,5.0 +518,2023-01-04 14:20:00,56.00000000000001,5.0 +519,2023-01-04 14:30:00,82.37389770723104,5.0 +520,2023-01-04 14:40:00,110.62610229276896,5.0 +521,2023-01-04 14:50:00,0.0,5.0 +528,2023-01-04 16:00:00,0.0,5.0 +529,2023-01-04 16:10:00,0.0,5.0 +530,2023-01-04 16:20:00,6.7142857142857135,5.0 +531,2023-01-04 16:30:00,87.28571428571428,5.0 +532,2023-01-04 16:40:00,0.0,5.0 +533,2023-01-04 16:50:00,0.0,5.0 +534,2023-01-04 17:00:00,0.0,5.0 +535,2023-01-04 17:10:00,0.0,5.0 +536,2023-01-04 17:20:00,0.0,5.0 +537,2023-01-04 17:30:00,0.0,5.0 +538,2023-01-04 17:40:00,0.0,5.0 +539,2023-01-04 17:50:00,87.51656920077973,5.0 +552,2023-01-04 20:00:00,0.0,5.0 +553,2023-01-04 20:10:00,0.0,5.0 +554,2023-01-04 20:20:00,75.0,5.0 +555,2023-01-04 20:30:00,0.0,5.0 +556,2023-01-04 20:40:00,34.0,5.0 +557,2023-01-04 20:50:00,0.0,5.0 +558,2023-01-04 21:00:00,0.0,5.0 +559,2023-01-04 21:10:00,186.74806201550388,5.0 +560,2023-01-04 21:20:00,0.0,5.0 +561,2023-01-04 21:30:00,394.0,5.0 +562,2023-01-04 21:40:00,190.0,5.0 +563,2023-01-04 21:50:00,150.69708029197082,5.0 +564,2023-01-04 22:00:00,107.1128512148785,5.0 +565,2023-01-04 22:10:00,152.94358961991125,5.0 +566,2023-01-04 22:20:00,90.24647887323944,5.0 +567,2023-01-04 22:30:00,78.05802707930368,5.0 +568,2023-01-04 22:40:00,85.86197292069633,5.0 +569,2023-01-04 22:50:00,287.7914399922004,5.0 +582,2023-01-05 01:00:00,77.045,5.0 +583,2023-01-05 01:10:00,0.0,5.0 +584,2023-01-05 01:20:00,145.11428571428573,5.0 +585,2023-01-05 01:30:00,0.0,5.0 +586,2023-01-05 01:40:00,0.0,5.0 +587,2023-01-05 01:50:00,0.0,5.0 +594,2023-01-05 03:00:00,0.0,6.0 +595,2023-01-05 03:10:00,0.0,6.0 +596,2023-01-05 03:20:00,0.0,6.0 +597,2023-01-05 03:30:00,0.0,6.0 +598,2023-01-05 03:40:00,0.0,6.0 +599,2023-01-05 03:50:00,0.0,6.0 +612,2023-01-05 06:00:00,0.0,5.0 +613,2023-01-05 06:10:00,0.0,5.0 +614,2023-01-05 06:20:00,0.0,5.0 +615,2023-01-05 06:30:00,0.0,5.0 +616,2023-01-05 06:40:00,0.0,5.0 +617,2023-01-05 06:50:00,0.0,5.0 +618,2023-01-05 07:00:00,0.0,6.0 +619,2023-01-05 07:10:00,0.0,6.0 +620,2023-01-05 07:20:00,0.0,6.0 +621,2023-01-05 07:30:00,0.0,6.0 +622,2023-01-05 07:40:00,0.0,6.0 +623,2023-01-05 07:50:00,13.854251012145747,6.0 +630,2023-01-05 09:00:00,0.0,5.0 +631,2023-01-05 09:10:00,0.0,5.0 +632,2023-01-05 09:20:00,0.0,5.0 +633,2023-01-05 09:30:00,0.0,5.0 +634,2023-01-05 09:40:00,0.0,5.0 +635,2023-01-05 09:50:00,0.0,5.0 +666,2023-01-05 15:00:00,0.0,6.0 +667,2023-01-05 15:10:00,0.0,6.0 +668,2023-01-05 15:20:00,50.0,6.0 +669,2023-01-05 15:30:00,0.0,6.0 +670,2023-01-05 15:40:00,0.0,6.0 +671,2023-01-05 15:50:00,0.0,6.0 +690,2023-01-05 19:00:00,174.0,5.0 +691,2023-01-05 19:10:00,0.0,5.0 +692,2023-01-05 19:20:00,0.0,5.0 +693,2023-01-05 19:30:00,0.0,5.0 +694,2023-01-05 19:40:00,42.0,5.0 +695,2023-01-05 19:50:00,0.0,5.0 +702,2023-01-05 21:00:00,0.0,5.0 +703,2023-01-05 21:10:00,0.0,5.0 +704,2023-01-05 21:20:00,0.0,5.0 +705,2023-01-05 21:30:00,0.0,5.0 +706,2023-01-05 21:40:00,84.0,5.0 +707,2023-01-05 21:50:00,0.0,5.0 +708,2023-01-05 22:00:00,0.0,4.0 +709,2023-01-05 22:10:00,0.0,4.0 +710,2023-01-05 22:20:00,0.0,4.0 +711,2023-01-05 22:30:00,0.0,4.0 +712,2023-01-05 22:40:00,0.0,4.0 +713,2023-01-05 22:50:00,67.85714285714286,4.0 +714,2023-01-05 23:00:00,35.88225108225108,6.0 +715,2023-01-05 23:10:00,33.260606060606065,6.0 +716,2023-01-05 23:20:00,0.0,6.0 +717,2023-01-05 23:30:00,81.0,6.0 +718,2023-01-05 23:40:00,46.0,6.0 +719,2023-01-05 23:50:00,0.0,6.0 +726,2023-01-06 01:00:00,57.35714285714285,5.0 +727,2023-01-06 01:10:00,52.64285714285714,5.0 +728,2023-01-06 01:20:00,0.0,5.0 +729,2023-01-06 01:30:00,0.0,5.0 +730,2023-01-06 01:40:00,0.0,5.0 +731,2023-01-06 01:50:00,0.0,5.0 +744,2023-01-06 04:00:00,0.0,5.0 +745,2023-01-06 04:10:00,0.0,5.0 +746,2023-01-06 04:20:00,0.0,5.0 +747,2023-01-06 04:30:00,0.0,5.0 +748,2023-01-06 04:40:00,0.0,5.0 +749,2023-01-06 04:50:00,0.0,5.0 +762,2023-01-06 07:00:00,0.0,4.0 +763,2023-01-06 07:10:00,0.0,4.0 +764,2023-01-06 07:20:00,0.0,4.0 +765,2023-01-06 07:30:00,0.0,4.0 +766,2023-01-06 07:40:00,0.0,4.0 +767,2023-01-06 07:50:00,0.0,4.0 +780,2023-01-06 10:00:00,12.0,5.0 +781,2023-01-06 10:10:00,0.0,5.0 +782,2023-01-06 10:20:00,270.7798960138648,5.0 +783,2023-01-06 10:30:00,182.2201039861352,5.0 +784,2023-01-06 10:40:00,0.0,5.0 +785,2023-01-06 10:50:00,33.42348008385744,5.0 +822,2023-01-06 17:00:00,103.53243243243244,5.0 +823,2023-01-06 17:10:00,9.467567567567569,5.0 +824,2023-01-06 17:20:00,0.0,5.0 +825,2023-01-06 17:30:00,20.0,5.0 +826,2023-01-06 17:40:00,40.0,5.0 +827,2023-01-06 17:50:00,0.0,5.0 +834,2023-01-06 19:00:00,0.0,3.0 +835,2023-01-06 19:10:00,42.77835051546392,3.0 +836,2023-01-06 19:20:00,0.2216494845360824,3.0 +837,2023-01-06 19:30:00,230.983842010772,3.0 +838,2023-01-06 19:40:00,51.016157989228006,3.0 +839,2023-01-06 19:50:00,19.18936877076412,3.0 +840,2023-01-06 20:00:00,56.81063122923588,6.0 +841,2023-01-06 20:10:00,25.0,6.0 +842,2023-01-06 20:20:00,0.0,6.0 +843,2023-01-06 20:30:00,88.0,6.0 +844,2023-01-06 20:40:00,158.0,6.0 +845,2023-01-06 20:50:00,0.0,6.0 +870,2023-01-07 01:00:00,0.0,5.0 +871,2023-01-07 01:10:00,0.0,5.0 +872,2023-01-07 01:20:00,0.0,5.0 +873,2023-01-07 01:30:00,0.0,5.0 +874,2023-01-07 01:40:00,0.0,5.0 +875,2023-01-07 01:50:00,0.0,5.0 +888,2023-01-07 04:00:00,0.0,3.0 +889,2023-01-07 04:10:00,0.0,3.0 +890,2023-01-07 04:20:00,0.0,3.0 +891,2023-01-07 04:30:00,0.0,3.0 +892,2023-01-07 04:40:00,0.0,3.0 +893,2023-01-07 04:50:00,0.0,3.0 +894,2023-01-07 05:00:00,0.0,5.0 +895,2023-01-07 05:10:00,0.0,5.0 +896,2023-01-07 05:20:00,0.0,5.0 +897,2023-01-07 05:30:00,0.0,5.0 +898,2023-01-07 05:40:00,0.0,5.0 +899,2023-01-07 05:50:00,0.0,5.0 +900,2023-01-07 06:00:00,0.0,5.0 +901,2023-01-07 06:10:00,0.0,5.0 +902,2023-01-07 06:20:00,0.0,5.0 +903,2023-01-07 06:30:00,0.0,5.0 +904,2023-01-07 06:40:00,0.0,5.0 +905,2023-01-07 06:50:00,0.0,5.0 +906,2023-01-07 07:00:00,0.0,5.0 +907,2023-01-07 07:10:00,0.0,5.0 +908,2023-01-07 07:20:00,0.0,5.0 +909,2023-01-07 07:30:00,0.0,5.0 +910,2023-01-07 07:40:00,0.0,5.0 +911,2023-01-07 07:50:00,0.0,5.0 +930,2023-01-07 11:00:00,0.0,5.0 +931,2023-01-07 11:10:00,20.0,5.0 +932,2023-01-07 11:20:00,69.0,5.0 +933,2023-01-07 11:30:00,0.0,5.0 +934,2023-01-07 11:40:00,0.0,5.0 +935,2023-01-07 11:50:00,0.0,5.0 +942,2023-01-07 13:00:00,0.0,5.0 +943,2023-01-07 13:10:00,0.0,5.0 +944,2023-01-07 13:20:00,0.0,5.0 +945,2023-01-07 13:30:00,24.0,5.0 +946,2023-01-07 13:40:00,0.0,5.0 +947,2023-01-07 13:50:00,0.0,5.0 +948,2023-01-07 14:00:00,6.869257950530034,5.0 +949,2023-01-07 14:10:00,74.13074204946996,5.0 +950,2023-01-07 14:20:00,0.0,5.0 +951,2023-01-07 14:30:00,31.0,5.0 +952,2023-01-07 14:40:00,0.0,5.0 +953,2023-01-07 14:50:00,0.0,5.0 +966,2023-01-07 17:00:00,0.0,4.0 +967,2023-01-07 17:10:00,0.0,4.0 +968,2023-01-07 17:20:00,0.0,4.0 +969,2023-01-07 17:30:00,0.0,4.0 +970,2023-01-07 17:40:00,42.0,4.0 +971,2023-01-07 17:50:00,0.0,4.0 +972,2023-01-07 18:00:00,0.0,3.0 +973,2023-01-07 18:10:00,0.0,3.0 +974,2023-01-07 18:20:00,0.0,3.0 +975,2023-01-07 18:30:00,0.0,3.0 +976,2023-01-07 18:40:00,0.0,3.0 +977,2023-01-07 18:50:00,0.0,3.0 +978,2023-01-07 19:00:00,120.51685393258428,4.0 +979,2023-01-07 19:10:00,433.48314606741576,4.0 +980,2023-01-07 19:20:00,323.5602294455067,4.0 +981,2023-01-07 19:30:00,3.439770554493308,4.0 +982,2023-01-07 19:40:00,0.0,4.0 +983,2023-01-07 19:50:00,0.0,4.0 +996,2023-01-07 22:00:00,0.0,4.0 +997,2023-01-07 22:10:00,46.0,4.0 +998,2023-01-07 22:20:00,0.0,4.0 +999,2023-01-07 22:30:00,0.0,4.0 +1000,2023-01-07 22:40:00,0.0,4.0 +1001,2023-01-07 22:50:00,0.0,4.0 +1020,2023-01-08 02:00:00,0.0,3.0 +1021,2023-01-08 02:10:00,0.0,3.0 +1022,2023-01-08 02:20:00,0.0,3.0 +1023,2023-01-08 02:30:00,0.0,3.0 +1024,2023-01-08 02:40:00,0.0,3.0 +1025,2023-01-08 02:50:00,0.0,3.0 +1026,2023-01-08 03:00:00,0.0,3.0 +1027,2023-01-08 03:10:00,0.0,3.0 +1028,2023-01-08 03:20:00,0.0,3.0 +1029,2023-01-08 03:30:00,0.0,3.0 +1030,2023-01-08 03:40:00,0.0,3.0 +1031,2023-01-08 03:50:00,0.0,3.0 +1038,2023-01-08 05:00:00,0.0,3.0 +1039,2023-01-08 05:10:00,0.0,3.0 +1040,2023-01-08 05:20:00,0.0,3.0 +1041,2023-01-08 05:30:00,0.0,3.0 +1042,2023-01-08 05:40:00,0.0,3.0 +1043,2023-01-08 05:50:00,0.0,3.0 +1056,2023-01-08 08:00:00,0.0,3.0 +1057,2023-01-08 08:10:00,0.0,3.0 +1058,2023-01-08 08:20:00,0.0,3.0 +1059,2023-01-08 08:30:00,0.0,3.0 +1060,2023-01-08 08:40:00,0.0,3.0 +1061,2023-01-08 08:50:00,0.0,3.0 +1062,2023-01-08 09:00:00,0.0,3.0 +1063,2023-01-08 09:10:00,0.0,3.0 +1064,2023-01-08 09:20:00,0.0,3.0 +1065,2023-01-08 09:30:00,0.0,3.0 +1066,2023-01-08 09:40:00,0.0,3.0 +1067,2023-01-08 09:50:00,0.0,3.0 +1068,2023-01-08 10:00:00,0.0,3.0 +1069,2023-01-08 10:10:00,0.0,3.0 +1070,2023-01-08 10:20:00,0.0,3.0 +1071,2023-01-08 10:30:00,0.0,3.0 +1072,2023-01-08 10:40:00,0.0,3.0 +1073,2023-01-08 10:50:00,0.0,3.0 +1080,2023-01-08 12:00:00,0.0,5.0 +1081,2023-01-08 12:10:00,0.0,5.0 +1082,2023-01-08 12:20:00,72.74247491638796,5.0 +1083,2023-01-08 12:30:00,177.25752508361205,5.0 +1084,2023-01-08 12:40:00,144.0,5.0 +1085,2023-01-08 12:50:00,8.0,5.0 +1086,2023-01-08 13:00:00,0.0,3.0 +1087,2023-01-08 13:10:00,0.0,3.0 +1088,2023-01-08 13:20:00,0.0,3.0 +1089,2023-01-08 13:30:00,19.0,3.0 +1090,2023-01-08 13:40:00,38.0,3.0 +1091,2023-01-08 13:50:00,10.325,3.0 +1092,2023-01-08 14:00:00,236.135211786372,3.0 +1093,2023-01-08 14:10:00,238.9602709681002,3.0 +1094,2023-01-08 14:20:00,297.5801104972376,3.0 +1095,2023-01-08 14:30:00,136.16782006920414,3.0 +1096,2023-01-08 14:40:00,242.57989473883973,3.0 +1097,2023-01-08 14:50:00,222.49653326031577,3.0 +1098,2023-01-08 15:00:00,203.7883834168058,3.0 +1099,2023-01-08 15:10:00,250.96994991652755,3.0 +1100,2023-01-08 15:20:00,568.5399592223312,3.0 +1101,2023-01-08 15:30:00,593.3695165478565,3.0 +1102,2023-01-08 15:40:00,273.18843446082803,3.0 +1103,2023-01-08 15:50:00,17.65909090909091,3.0 +1116,2023-01-08 18:00:00,49.87775891341256,3.0 +1117,2023-01-08 18:10:00,0.0,3.0 +1118,2023-01-08 18:20:00,0.0,3.0 +1119,2023-01-08 18:30:00,40.65899581589958,3.0 +1120,2023-01-08 18:40:00,24.341004184100417,3.0 +1121,2023-01-08 18:50:00,0.0,3.0 +1122,2023-01-08 19:00:00,0.0,3.0 +1123,2023-01-08 19:10:00,0.0,3.0 +1124,2023-01-08 19:20:00,0.0,3.0 +1125,2023-01-08 19:30:00,0.0,3.0 +1126,2023-01-08 19:40:00,0.0,3.0 +1127,2023-01-08 19:50:00,0.0,3.0 +1128,2023-01-08 20:00:00,236.86166666666665,3.0 +1129,2023-01-08 20:10:00,704.3617099567099,3.0 +1130,2023-01-08 20:20:00,128.3171639171639,3.0 +1131,2023-01-08 20:30:00,2.45945945945946,3.0 +1132,2023-01-08 20:40:00,0.0,3.0 +1133,2023-01-08 20:50:00,23.0,3.0 +1134,2023-01-08 21:00:00,0.0,4.0 +1135,2023-01-08 21:10:00,0.0,4.0 +1136,2023-01-08 21:20:00,0.0,4.0 +1137,2023-01-08 21:30:00,0.0,4.0 +1138,2023-01-08 21:40:00,0.0,4.0 +1139,2023-01-08 21:50:00,0.0,4.0 +1140,2023-01-08 22:00:00,0.0,4.0 +1141,2023-01-08 22:10:00,0.0,4.0 +1142,2023-01-08 22:20:00,0.0,4.0 +1143,2023-01-08 22:30:00,0.0,4.0 +1144,2023-01-08 22:40:00,0.0,4.0 +1145,2023-01-08 22:50:00,0.0,4.0 +1158,2023-01-09 01:00:00,0.0,3.0 +1159,2023-01-09 01:10:00,0.0,3.0 +1160,2023-01-09 01:20:00,0.0,3.0 +1161,2023-01-09 01:30:00,13.0,3.0 +1162,2023-01-09 01:40:00,0.0,3.0 +1163,2023-01-09 01:50:00,13.0,3.0 +1194,2023-01-09 07:00:00,0.0,4.0 +1195,2023-01-09 07:10:00,0.0,4.0 +1196,2023-01-09 07:20:00,0.0,4.0 +1197,2023-01-09 07:30:00,0.0,4.0 +1198,2023-01-09 07:40:00,0.0,4.0 +1199,2023-01-09 07:50:00,0.0,4.0 +1200,2023-01-09 08:00:00,0.0,4.0 +1201,2023-01-09 08:10:00,0.0,4.0 +1202,2023-01-09 08:20:00,0.0,4.0 +1203,2023-01-09 08:30:00,0.0,4.0 +1204,2023-01-09 08:40:00,0.0,4.0 +1205,2023-01-09 08:50:00,0.0,4.0 +1218,2023-01-09 11:00:00,0.0,4.0 +1219,2023-01-09 11:10:00,0.0,4.0 +1220,2023-01-09 11:20:00,0.0,4.0 +1221,2023-01-09 11:30:00,0.0,4.0 +1222,2023-01-09 11:40:00,0.0,4.0 +1223,2023-01-09 11:50:00,0.0,4.0 +1254,2023-01-09 17:00:00,0.0,3.0 +1255,2023-01-09 17:10:00,4.0,3.0 +1256,2023-01-09 17:20:00,0.0,3.0 +1257,2023-01-09 17:30:00,0.0,3.0 +1258,2023-01-09 17:40:00,0.0,3.0 +1259,2023-01-09 17:50:00,51.0,3.0 +1278,2023-01-09 21:00:00,0.0,4.0 +1279,2023-01-09 21:10:00,15.18472906403941,4.0 +1280,2023-01-09 21:20:00,29.81527093596059,4.0 +1281,2023-01-09 21:30:00,23.90707070707071,4.0 +1282,2023-01-09 21:40:00,73.0929292929293,4.0 +1283,2023-01-09 21:50:00,0.0,4.0 +1284,2023-01-09 22:00:00,0.0,3.0 +1285,2023-01-09 22:10:00,0.0,3.0 +1286,2023-01-09 22:20:00,0.0,3.0 +1287,2023-01-09 22:30:00,17.0,3.0 +1288,2023-01-09 22:40:00,0.0,3.0 +1289,2023-01-09 22:50:00,0.0,3.0 +1290,2023-01-09 23:00:00,0.0,3.0 +1291,2023-01-09 23:10:00,0.0,3.0 +1292,2023-01-09 23:20:00,0.0,3.0 +1293,2023-01-09 23:30:00,0.0,3.0 +1294,2023-01-09 23:40:00,0.0,3.0 +1295,2023-01-09 23:50:00,0.0,3.0 +1308,2023-01-10 02:00:00,0.0,4.0 +1309,2023-01-10 02:10:00,0.0,4.0 +1310,2023-01-10 02:20:00,0.0,4.0 +1311,2023-01-10 02:30:00,0.0,4.0 +1312,2023-01-10 02:40:00,0.0,4.0 +1313,2023-01-10 02:50:00,0.0,4.0 +1314,2023-01-10 03:00:00,0.0,4.0 +1315,2023-01-10 03:10:00,0.0,4.0 +1316,2023-01-10 03:20:00,0.0,4.0 +1317,2023-01-10 03:30:00,0.0,4.0 +1318,2023-01-10 03:40:00,0.0,4.0 +1319,2023-01-10 03:50:00,0.0,4.0 +1320,2023-01-10 04:00:00,0.0,4.0 +1321,2023-01-10 04:10:00,0.0,4.0 +1322,2023-01-10 04:20:00,0.0,4.0 +1323,2023-01-10 04:30:00,0.0,4.0 +1324,2023-01-10 04:40:00,0.0,4.0 +1325,2023-01-10 04:50:00,0.0,4.0 +1350,2023-01-10 09:00:00,0.0,3.0 +1351,2023-01-10 09:10:00,0.0,3.0 +1352,2023-01-10 09:20:00,0.0,3.0 +1353,2023-01-10 09:30:00,0.0,3.0 +1354,2023-01-10 09:40:00,0.0,3.0 +1355,2023-01-10 09:50:00,0.0,3.0 +1380,2023-01-10 14:00:00,0.0,4.0 +1381,2023-01-10 14:10:00,0.0,4.0 +1382,2023-01-10 14:20:00,9.0,4.0 +1383,2023-01-10 14:30:00,31.0,4.0 +1384,2023-01-10 14:40:00,0.0,4.0 +1385,2023-01-10 14:50:00,1.753899480069324,4.0 +1392,2023-01-10 16:00:00,0.0,4.0 +1393,2023-01-10 16:10:00,0.0,4.0 +1394,2023-01-10 16:20:00,69.74712643678161,4.0 +1395,2023-01-10 16:30:00,0.0,4.0 +1396,2023-01-10 16:40:00,0.0,4.0 +1397,2023-01-10 16:50:00,0.0,4.0 +1398,2023-01-10 17:00:00,0.0,4.0 +1399,2023-01-10 17:10:00,58.80341880341881,4.0 +1400,2023-01-10 17:20:00,187.74666907004345,4.0 +1401,2023-01-10 17:30:00,254.0262205924475,4.0 +1402,2023-01-10 17:40:00,311.6297786720322,4.0 +1403,2023-01-10 17:50:00,154.7318251143874,4.0 +1404,2023-01-10 18:00:00,227.15348675684,4.0 +1405,2023-01-10 18:10:00,120.03113017729017,4.0 +1406,2023-01-10 18:20:00,178.6797257904347,4.0 +1407,2023-01-10 18:30:00,322.5062852635009,4.0 +1408,2023-01-10 18:40:00,196.32551983207705,4.0 +1409,2023-01-10 18:50:00,230.8453237022489,4.0 +1410,2023-01-10 19:00:00,244.81838605141252,4.0 +1411,2023-01-10 19:10:00,22.05586592178771,4.0 +1412,2023-01-10 19:20:00,66.0,4.0 +1413,2023-01-10 19:30:00,0.0,4.0 +1414,2023-01-10 19:40:00,64.32200357781753,4.0 +1415,2023-01-10 19:50:00,36.67799642218247,4.0 +1416,2023-01-10 20:00:00,0.0,4.0 +1417,2023-01-10 20:10:00,0.0,4.0 +1418,2023-01-10 20:20:00,0.0,4.0 +1419,2023-01-10 20:30:00,0.0,4.0 +1420,2023-01-10 20:40:00,0.0,4.0 +1421,2023-01-10 20:50:00,9.0,4.0 +1434,2023-01-10 23:00:00,0.0,4.0 +1435,2023-01-10 23:10:00,32.0,4.0 +1436,2023-01-10 23:20:00,0.0,4.0 +1437,2023-01-10 23:30:00,0.0,4.0 +1438,2023-01-10 23:40:00,0.0,4.0 +1439,2023-01-10 23:50:00,0.0,4.0 +1440,2023-01-11 00:00:00,18.0,6.0 +1441,2023-01-11 00:10:00,0.0,6.0 +1442,2023-01-11 00:20:00,0.0,6.0 +1443,2023-01-11 00:30:00,0.0,6.0 +1444,2023-01-11 00:40:00,0.0,6.0 +1445,2023-01-11 00:50:00,0.0,6.0 +1458,2023-01-11 03:00:00,0.0,5.0 +1459,2023-01-11 03:10:00,0.0,5.0 +1460,2023-01-11 03:20:00,0.0,5.0 +1461,2023-01-11 03:30:00,0.0,5.0 +1462,2023-01-11 03:40:00,0.0,5.0 +1463,2023-01-11 03:50:00,0.0,5.0 +1476,2023-01-11 06:00:00,0.0,3.0 +1477,2023-01-11 06:10:00,0.0,3.0 +1478,2023-01-11 06:20:00,0.0,3.0 +1479,2023-01-11 06:30:00,0.0,3.0 +1480,2023-01-11 06:40:00,0.0,3.0 +1481,2023-01-11 06:50:00,0.0,3.0 +1482,2023-01-11 07:00:00,0.0,3.0 +1483,2023-01-11 07:10:00,0.0,3.0 +1484,2023-01-11 07:20:00,0.0,3.0 +1485,2023-01-11 07:30:00,0.0,3.0 +1486,2023-01-11 07:40:00,0.0,3.0 +1487,2023-01-11 07:50:00,0.0,3.0 +1488,2023-01-11 08:00:00,0.0,3.0 +1489,2023-01-11 08:10:00,0.0,3.0 +1490,2023-01-11 08:20:00,0.0,3.0 +1491,2023-01-11 08:30:00,0.0,3.0 +1492,2023-01-11 08:40:00,0.0,3.0 +1493,2023-01-11 08:50:00,0.0,3.0 +1494,2023-01-11 09:00:00,0.0,3.0 +1495,2023-01-11 09:10:00,0.0,3.0 +1496,2023-01-11 09:20:00,0.0,3.0 +1497,2023-01-11 09:30:00,0.0,3.0 +1498,2023-01-11 09:40:00,34.0,3.0 +1499,2023-01-11 09:50:00,235.5833333333333,3.0 +1500,2023-01-11 10:00:00,562.4166666666666,5.0 +1501,2023-01-11 10:10:00,0.0,5.0 +1502,2023-01-11 10:20:00,0.0,5.0 +1503,2023-01-11 10:30:00,291.8235294117647,5.0 +1504,2023-01-11 10:40:00,159.17647058823528,5.0 +1505,2023-01-11 10:50:00,0.0,5.0 +1512,2023-01-11 12:00:00,110.8848355983656,3.0 +1513,2023-01-11 12:10:00,9.556390977443607,3.0 +1514,2023-01-11 12:20:00,0.0,3.0 +1515,2023-01-11 12:30:00,0.0,3.0 +1516,2023-01-11 12:40:00,0.0,3.0 +1517,2023-01-11 12:50:00,0.0,3.0 +1524,2023-01-11 14:00:00,0.0,3.0 +1525,2023-01-11 14:10:00,18.0,3.0 +1526,2023-01-11 14:20:00,0.0,3.0 +1527,2023-01-11 14:30:00,22.56637168141593,3.0 +1528,2023-01-11 14:40:00,12.957791887357304,3.0 +1529,2023-01-11 14:50:00,321.55209293036023,3.0 +1530,2023-01-11 15:00:00,736.9237435008665,3.0 +1531,2023-01-11 15:10:00,103.39285714285714,3.0 +1532,2023-01-11 15:20:00,89.60714285714285,3.0 +1533,2023-01-11 15:30:00,35.0,3.0 +1534,2023-01-11 15:40:00,0.0,3.0 +1535,2023-01-11 15:50:00,0.0,3.0 +1536,2023-01-11 16:00:00,657.9883333333333,3.0 +1537,2023-01-11 16:10:00,930.6074561403508,3.0 +1538,2023-01-11 16:20:00,168.4042105263158,3.0 +1539,2023-01-11 16:30:00,0.0,3.0 +1540,2023-01-11 16:40:00,20.0,3.0 +1541,2023-01-11 16:50:00,13.0,3.0 +1542,2023-01-11 17:00:00,0.0,3.0 +1543,2023-01-11 17:10:00,0.0,3.0 +1544,2023-01-11 17:20:00,64.09883720930233,3.0 +1545,2023-01-11 17:30:00,48.678940568475454,3.0 +1546,2023-01-11 17:40:00,12.022222222222222,3.0 +1547,2023-01-11 17:50:00,59.2,3.0 +1548,2023-01-11 18:00:00,0.0,4.0 +1549,2023-01-11 18:10:00,20.0,4.0 +1550,2023-01-11 18:20:00,39.06666666666667,4.0 +1551,2023-01-11 18:30:00,620.6,4.0 +1552,2023-01-11 18:40:00,1042.8533333333332,4.0 +1553,2023-01-11 18:50:00,24.48,4.0 +1560,2023-01-11 20:00:00,0.0,4.0 +1561,2023-01-11 20:10:00,0.0,4.0 +1562,2023-01-11 20:20:00,0.0,4.0 +1563,2023-01-11 20:30:00,0.0,4.0 +1564,2023-01-11 20:40:00,23.24705882352941,4.0 +1565,2023-01-11 20:50:00,73.75294117647059,4.0 +1566,2023-01-11 21:00:00,0.0,3.0 +1567,2023-01-11 21:10:00,0.0,3.0 +1568,2023-01-11 21:20:00,63.0,3.0 +1569,2023-01-11 21:30:00,7.085,3.0 +1570,2023-01-11 21:40:00,31.915000000000003,3.0 +1571,2023-01-11 21:50:00,24.0,3.0 +1590,2023-01-12 01:00:00,0.0,4.0 +1591,2023-01-12 01:10:00,9.0,4.0 +1592,2023-01-12 01:20:00,0.0,4.0 +1593,2023-01-12 01:30:00,0.0,4.0 +1594,2023-01-12 01:40:00,0.0,4.0 +1595,2023-01-12 01:50:00,0.0,4.0 +1596,2023-01-12 02:00:00,0.0,4.0 +1597,2023-01-12 02:10:00,0.0,4.0 +1598,2023-01-12 02:20:00,0.0,4.0 +1599,2023-01-12 02:30:00,0.0,4.0 +1600,2023-01-12 02:40:00,0.0,4.0 +1601,2023-01-12 02:50:00,0.0,4.0 +1602,2023-01-12 03:00:00,0.0,4.0 +1603,2023-01-12 03:10:00,0.0,4.0 +1604,2023-01-12 03:20:00,0.0,4.0 +1605,2023-01-12 03:30:00,0.0,4.0 +1606,2023-01-12 03:40:00,0.0,4.0 +1607,2023-01-12 03:50:00,0.0,4.0 +1632,2023-01-12 08:00:00,0.0,6.0 +1633,2023-01-12 08:10:00,0.0,6.0 +1634,2023-01-12 08:20:00,0.0,6.0 +1635,2023-01-12 08:30:00,0.0,6.0 +1636,2023-01-12 08:40:00,0.0,6.0 +1637,2023-01-12 08:50:00,0.0,6.0 +1644,2023-01-12 10:00:00,20.507936507936503,6.0 +1645,2023-01-12 10:10:00,104.81032436162872,6.0 +1646,2023-01-12 10:20:00,479.5209204169845,6.0 +1647,2023-01-12 10:30:00,275.1608187134503,6.0 +1648,2023-01-12 10:40:00,475.8666666666667,6.0 +1649,2023-01-12 10:50:00,520.1333333333333,6.0 +1650,2023-01-12 11:00:00,0.0,6.0 +1651,2023-01-12 11:10:00,4.0,6.0 +1652,2023-01-12 11:20:00,0.0,6.0 +1653,2023-01-12 11:30:00,0.0,6.0 +1654,2023-01-12 11:40:00,0.0,6.0 +1655,2023-01-12 11:50:00,9.982363315696649,6.0 +1656,2023-01-12 12:00:00,312.52226631393296,6.0 +1657,2023-01-12 12:10:00,419.4953703703704,6.0 +1658,2023-01-12 12:20:00,185.0,6.0 +1659,2023-01-12 12:30:00,445.5682967959528,6.0 +1660,2023-01-12 12:40:00,379.4317032040472,6.0 +1661,2023-01-12 12:50:00,0.0,6.0 +1668,2023-01-12 14:00:00,306.17333333333335,6.0 +1669,2023-01-12 14:10:00,52.0,6.0 +1670,2023-01-12 14:20:00,76.0,6.0 +1671,2023-01-12 14:30:00,0.0,6.0 +1672,2023-01-12 14:40:00,422.9310924369748,6.0 +1673,2023-01-12 14:50:00,1000.3189075630252,6.0 +1674,2023-01-12 15:00:00,42.75,6.0 +1675,2023-01-12 15:10:00,0.0,6.0 +1676,2023-01-12 15:20:00,0.0,6.0 +1677,2023-01-12 15:30:00,0.0,6.0 +1678,2023-01-12 15:40:00,0.0,6.0 +1679,2023-01-12 15:50:00,0.0,6.0 +1698,2023-01-12 19:00:00,957.1189265536724,5.0 +1699,2023-01-12 19:10:00,191.36440677966104,5.0 +1700,2023-01-12 19:20:00,0.0,5.0 +1701,2023-01-12 19:30:00,81.0,5.0 +1702,2023-01-12 19:40:00,41.0,5.0 +1703,2023-01-12 19:50:00,365.3817567567568,5.0 +1704,2023-01-12 20:00:00,271.6182432432432,5.0 +1705,2023-01-12 20:10:00,0.0,5.0 +1706,2023-01-12 20:20:00,0.0,5.0 +1707,2023-01-12 20:30:00,0.0,5.0 +1708,2023-01-12 20:40:00,0.0,5.0 +1709,2023-01-12 20:50:00,2.0,5.0 +1716,2023-01-12 22:00:00,12.521739130434783,3.0 +1717,2023-01-12 22:10:00,11.478260869565217,3.0 +1718,2023-01-12 22:20:00,0.0,3.0 +1719,2023-01-12 22:30:00,0.0,3.0 +1720,2023-01-12 22:40:00,0.0,3.0 +1721,2023-01-12 22:50:00,23.0,3.0 +1722,2023-01-12 23:00:00,0.0,3.0 +1723,2023-01-12 23:10:00,0.0,3.0 +1724,2023-01-12 23:20:00,0.0,3.0 +1725,2023-01-12 23:30:00,0.0,3.0 +1726,2023-01-12 23:40:00,0.0,3.0 +1727,2023-01-12 23:50:00,0.0,3.0 +1734,2023-01-13 01:00:00,0.0,3.0 +1735,2023-01-13 01:10:00,26.0,3.0 +1736,2023-01-13 01:20:00,0.0,3.0 +1737,2023-01-13 01:30:00,0.0,3.0 +1738,2023-01-13 01:40:00,0.0,3.0 +1739,2023-01-13 01:50:00,0.0,3.0 +1758,2023-01-13 05:00:00,0.0,3.0 +1759,2023-01-13 05:10:00,0.0,3.0 +1760,2023-01-13 05:20:00,0.0,3.0 +1761,2023-01-13 05:30:00,0.0,3.0 +1762,2023-01-13 05:40:00,0.0,3.0 +1763,2023-01-13 05:50:00,0.0,3.0 +1764,2023-01-13 06:00:00,0.0,4.0 +1765,2023-01-13 06:10:00,0.0,4.0 +1766,2023-01-13 06:20:00,0.0,4.0 +1767,2023-01-13 06:30:00,0.0,4.0 +1768,2023-01-13 06:40:00,0.0,4.0 +1769,2023-01-13 06:50:00,0.0,4.0 +1776,2023-01-13 08:00:00,0.0,3.0 +1777,2023-01-13 08:10:00,0.0,3.0 +1778,2023-01-13 08:20:00,0.0,3.0 +1779,2023-01-13 08:30:00,0.0,3.0 +1780,2023-01-13 08:40:00,0.0,3.0 +1781,2023-01-13 08:50:00,0.0,3.0 +1788,2023-01-13 10:00:00,0.0,4.0 +1789,2023-01-13 10:10:00,38.648648648648646,4.0 +1790,2023-01-13 10:20:00,16.35135135135135,4.0 +1791,2023-01-13 10:30:00,0.0,4.0 +1792,2023-01-13 10:40:00,0.0,4.0 +1793,2023-01-13 10:50:00,0.0,4.0 +1800,2023-01-13 12:00:00,0.0,4.0 +1801,2023-01-13 12:10:00,0.0,4.0 +1802,2023-01-13 12:20:00,0.0,4.0 +1803,2023-01-13 12:30:00,0.0,4.0 +1804,2023-01-13 12:40:00,0.0,4.0 +1805,2023-01-13 12:50:00,47.0,4.0 +1806,2023-01-13 13:00:00,0.0,3.0 +1807,2023-01-13 13:10:00,0.0,3.0 +1808,2023-01-13 13:20:00,0.0,3.0 +1809,2023-01-13 13:30:00,9.038240917782026,3.0 +1810,2023-01-13 13:40:00,19.961759082217974,3.0 +1811,2023-01-13 13:50:00,32.0,3.0 +1812,2023-01-13 14:00:00,0.0,4.0 +1813,2023-01-13 14:10:00,0.0,4.0 +1814,2023-01-13 14:20:00,0.0,4.0 +1815,2023-01-13 14:30:00,0.0,4.0 +1816,2023-01-13 14:40:00,0.0,4.0 +1817,2023-01-13 14:50:00,0.0,4.0 +1818,2023-01-13 15:00:00,0.0,4.0 +1819,2023-01-13 15:10:00,31.0,4.0 +1820,2023-01-13 15:20:00,30.678260869565214,4.0 +1821,2023-01-13 15:30:00,218.42512896094323,4.0 +1822,2023-01-13 15:40:00,409.5082606549284,4.0 +1823,2023-01-13 15:50:00,0.0,4.0 +1824,2023-01-13 16:00:00,85.0,4.0 +1825,2023-01-13 16:10:00,8.775221238938054,4.0 +1826,2023-01-13 16:20:00,28.22477876106195,4.0 +1827,2023-01-13 16:30:00,51.501193317422434,4.0 +1828,2023-01-13 16:40:00,0.0,4.0 +1829,2023-01-13 16:50:00,8.0,4.0 +1830,2023-01-13 17:00:00,35.0,3.0 +1831,2023-01-13 17:10:00,52.0,3.0 +1832,2023-01-13 17:20:00,0.0,3.0 +1833,2023-01-13 17:30:00,3.507246376811594,3.0 +1834,2023-01-13 17:40:00,27.492753623188403,3.0 +1835,2023-01-13 17:50:00,19.016949152542374,3.0 +1854,2023-01-13 21:00:00,0.0,3.0 +1855,2023-01-13 21:10:00,0.0,3.0 +1856,2023-01-13 21:20:00,49.54838709677419,3.0 +1857,2023-01-13 21:30:00,30.451612903225804,3.0 +1858,2023-01-13 21:40:00,0.0,3.0 +1859,2023-01-13 21:50:00,0.0,3.0 +1884,2023-01-14 02:00:00,0.0,3.0 +1885,2023-01-14 02:10:00,0.0,3.0 +1886,2023-01-14 02:20:00,0.0,3.0 +1887,2023-01-14 02:30:00,0.0,3.0 +1888,2023-01-14 02:40:00,0.0,3.0 +1889,2023-01-14 02:50:00,0.0,3.0 +1896,2023-01-14 04:00:00,0.0,3.0 +1897,2023-01-14 04:10:00,0.0,3.0 +1898,2023-01-14 04:20:00,0.0,3.0 +1899,2023-01-14 04:30:00,0.0,3.0 +1900,2023-01-14 04:40:00,0.0,3.0 +1901,2023-01-14 04:50:00,0.0,3.0 +1914,2023-01-14 07:00:00,0.0,4.0 +1915,2023-01-14 07:10:00,0.0,4.0 +1916,2023-01-14 07:20:00,0.0,4.0 +1917,2023-01-14 07:30:00,0.0,4.0 +1918,2023-01-14 07:40:00,0.0,4.0 +1919,2023-01-14 07:50:00,0.0,4.0 +1962,2023-01-14 15:00:00,0.0,6.0 +1963,2023-01-14 15:10:00,0.0,6.0 +1964,2023-01-14 15:20:00,0.0,6.0 +1965,2023-01-14 15:30:00,24.0,6.0 +1966,2023-01-14 15:40:00,0.0,6.0 +1967,2023-01-14 15:50:00,0.0,6.0 +1974,2023-01-14 17:00:00,0.0,5.0 +1975,2023-01-14 17:10:00,0.0,5.0 +1976,2023-01-14 17:20:00,0.0,5.0 +1977,2023-01-14 17:30:00,0.0,5.0 +1978,2023-01-14 17:40:00,13.0,5.0 +1979,2023-01-14 17:50:00,0.0,5.0 +1986,2023-01-14 19:00:00,0.0,4.0 +1987,2023-01-14 19:10:00,464.45666666666665,4.0 +1988,2023-01-14 19:20:00,243.54333333333332,4.0 +1989,2023-01-14 19:30:00,0.0,4.0 +1990,2023-01-14 19:40:00,0.0,4.0 +1991,2023-01-14 19:50:00,0.0,4.0 +2010,2023-01-14 23:00:00,0.0,3.0 +2011,2023-01-14 23:10:00,0.0,3.0 +2012,2023-01-14 23:20:00,22.0,3.0 +2013,2023-01-14 23:30:00,0.0,3.0 +2014,2023-01-14 23:40:00,0.0,3.0 +2015,2023-01-14 23:50:00,0.0,3.0 +2016,2023-01-15 00:00:00,19.0,3.0 +2017,2023-01-15 00:10:00,0.0,3.0 +2018,2023-01-15 00:20:00,0.0,3.0 +2019,2023-01-15 00:30:00,0.0,3.0 +2020,2023-01-15 00:40:00,0.0,3.0 +2021,2023-01-15 00:50:00,0.0,3.0 +2022,2023-01-15 01:00:00,0.0,3.0 +2023,2023-01-15 01:10:00,0.0,3.0 +2024,2023-01-15 01:20:00,0.0,3.0 +2025,2023-01-15 01:30:00,0.0,3.0 +2026,2023-01-15 01:40:00,0.0,3.0 +2027,2023-01-15 01:50:00,0.0,3.0 +2028,2023-01-15 02:00:00,0.0,3.0 +2029,2023-01-15 02:10:00,0.0,3.0 +2030,2023-01-15 02:20:00,0.0,3.0 +2031,2023-01-15 02:30:00,0.0,3.0 +2032,2023-01-15 02:40:00,0.0,3.0 +2033,2023-01-15 02:50:00,0.0,3.0 +2040,2023-01-15 04:00:00,0.0,3.0 +2041,2023-01-15 04:10:00,0.0,3.0 +2042,2023-01-15 04:20:00,0.0,3.0 +2043,2023-01-15 04:30:00,0.0,3.0 +2044,2023-01-15 04:40:00,0.0,3.0 +2045,2023-01-15 04:50:00,0.0,3.0 +2046,2023-01-15 05:00:00,0.0,3.0 +2047,2023-01-15 05:10:00,0.0,3.0 +2048,2023-01-15 05:20:00,0.0,3.0 +2049,2023-01-15 05:30:00,0.0,3.0 +2050,2023-01-15 05:40:00,0.0,3.0 +2051,2023-01-15 05:50:00,0.0,3.0 +2058,2023-01-15 07:00:00,0.0,3.0 +2059,2023-01-15 07:10:00,0.0,3.0 +2060,2023-01-15 07:20:00,0.0,3.0 +2061,2023-01-15 07:30:00,0.0,3.0 +2062,2023-01-15 07:40:00,0.0,3.0 +2063,2023-01-15 07:50:00,0.0,3.0 +2064,2023-01-15 08:00:00,0.0,3.0 +2065,2023-01-15 08:10:00,0.0,3.0 +2066,2023-01-15 08:20:00,0.0,3.0 +2067,2023-01-15 08:30:00,0.0,3.0 +2068,2023-01-15 08:40:00,0.0,3.0 +2069,2023-01-15 08:50:00,0.0,3.0 +2088,2023-01-15 12:00:00,0.0,4.0 +2089,2023-01-15 12:10:00,0.0,4.0 +2090,2023-01-15 12:20:00,45.0,4.0 +2091,2023-01-15 12:30:00,0.0,4.0 +2092,2023-01-15 12:40:00,0.0,4.0 +2093,2023-01-15 12:50:00,14.000000000000002,4.0 +2106,2023-01-15 15:00:00,41.34913793103448,3.0 +2107,2023-01-15 15:10:00,9.0,3.0 +2108,2023-01-15 15:20:00,0.0,3.0 +2109,2023-01-15 15:30:00,0.0,3.0 +2110,2023-01-15 15:40:00,0.0,3.0 +2111,2023-01-15 15:50:00,0.0,3.0 +2112,2023-01-15 16:00:00,66.22671353251317,3.0 +2113,2023-01-15 16:10:00,92.7732864674868,3.0 +2114,2023-01-15 16:20:00,0.0,3.0 +2115,2023-01-15 16:30:00,0.0,3.0 +2116,2023-01-15 16:40:00,135.6466571399408,3.0 +2117,2023-01-15 16:50:00,203.4921199906331,3.0 +2148,2023-01-15 22:00:00,14.0,4.0 +2149,2023-01-15 22:10:00,0.0,4.0 +2150,2023-01-15 22:20:00,1.0,4.0 +2151,2023-01-15 22:30:00,0.0,4.0 +2152,2023-01-15 22:40:00,0.0,4.0 +2153,2023-01-15 22:50:00,0.0,4.0 +2160,2023-01-16 00:00:00,0.0,4.0 +2161,2023-01-16 00:10:00,0.0,4.0 +2162,2023-01-16 00:20:00,0.0,4.0 +2163,2023-01-16 00:30:00,0.0,4.0 +2164,2023-01-16 00:40:00,0.0,4.0 +2165,2023-01-16 00:50:00,0.0,4.0 +2166,2023-01-16 01:00:00,0.0,4.0 +2167,2023-01-16 01:10:00,0.0,4.0 +2168,2023-01-16 01:20:00,0.0,4.0 +2169,2023-01-16 01:30:00,39.0,4.0 +2170,2023-01-16 01:40:00,0.0,4.0 +2171,2023-01-16 01:50:00,0.0,4.0 +2190,2023-01-16 05:00:00,0.0,4.0 +2191,2023-01-16 05:10:00,0.0,4.0 +2192,2023-01-16 05:20:00,0.0,4.0 +2193,2023-01-16 05:30:00,0.0,4.0 +2194,2023-01-16 05:40:00,0.0,4.0 +2195,2023-01-16 05:50:00,0.0,4.0 +2196,2023-01-16 06:00:00,0.0,3.0 +2197,2023-01-16 06:10:00,0.0,3.0 +2198,2023-01-16 06:20:00,0.0,3.0 +2199,2023-01-16 06:30:00,0.0,3.0 +2200,2023-01-16 06:40:00,0.0,3.0 +2201,2023-01-16 06:50:00,0.0,3.0 +2214,2023-01-16 09:00:00,0.0,4.0 +2215,2023-01-16 09:10:00,0.0,4.0 +2216,2023-01-16 09:20:00,0.0,4.0 +2217,2023-01-16 09:30:00,0.0,4.0 +2218,2023-01-16 09:40:00,17.0,4.0 +2219,2023-01-16 09:50:00,0.0,4.0 +2220,2023-01-16 10:00:00,33.99310344827586,4.0 +2221,2023-01-16 10:10:00,132.00689655172414,4.0 +2222,2023-01-16 10:20:00,0.0,4.0 +2223,2023-01-16 10:30:00,0.0,4.0 +2224,2023-01-16 10:40:00,0.0,4.0 +2225,2023-01-16 10:50:00,0.0,4.0 +2244,2023-01-16 14:00:00,0.0,4.0 +2245,2023-01-16 14:10:00,0.0,4.0 +2246,2023-01-16 14:20:00,5.415540540540541,4.0 +2247,2023-01-16 14:30:00,20.58445945945946,4.0 +2248,2023-01-16 14:40:00,0.0,4.0 +2249,2023-01-16 14:50:00,0.0,4.0 +2256,2023-01-16 16:00:00,0.0,4.0 +2257,2023-01-16 16:10:00,0.0,4.0 +2258,2023-01-16 16:20:00,0.0,4.0 +2259,2023-01-16 16:30:00,0.0,4.0 +2260,2023-01-16 16:40:00,0.0,4.0 +2261,2023-01-16 16:50:00,0.0,4.0 +2268,2023-01-16 18:00:00,0.0,4.0 +2269,2023-01-16 18:10:00,0.0,4.0 +2270,2023-01-16 18:20:00,92.73461538461538,4.0 +2271,2023-01-16 18:30:00,78.26538461538462,4.0 +2272,2023-01-16 18:40:00,0.0,4.0 +2273,2023-01-16 18:50:00,133.68403361344537,4.0 +2274,2023-01-16 19:00:00,389.2175411897042,4.0 +2275,2023-01-16 19:10:00,81.0984251968504,4.0 +2276,2023-01-16 19:20:00,0.0,4.0 +2277,2023-01-16 19:30:00,0.0,4.0 +2278,2023-01-16 19:40:00,0.0,4.0 +2279,2023-01-16 19:50:00,0.0,4.0 +2292,2023-01-16 22:00:00,34.0,4.0 +2293,2023-01-16 22:10:00,0.0,4.0 +2294,2023-01-16 22:20:00,0.0,4.0 +2295,2023-01-16 22:30:00,0.0,4.0 +2296,2023-01-16 22:40:00,0.0,4.0 +2297,2023-01-16 22:50:00,0.0,4.0 +2298,2023-01-16 23:00:00,0.0,4.0 +2299,2023-01-16 23:10:00,0.0,4.0 +2300,2023-01-16 23:20:00,0.0,4.0 +2301,2023-01-16 23:30:00,0.0,4.0 +2302,2023-01-16 23:40:00,0.0,4.0 +2303,2023-01-16 23:50:00,0.0,4.0 +2310,2023-01-17 01:00:00,0.0,4.0 +2311,2023-01-17 01:10:00,11.0,4.0 +2312,2023-01-17 01:20:00,0.0,4.0 +2313,2023-01-17 01:30:00,8.0,4.0 +2314,2023-01-17 01:40:00,0.0,4.0 +2315,2023-01-17 01:50:00,0.0,4.0 +2316,2023-01-17 02:00:00,0.0,4.0 +2317,2023-01-17 02:10:00,0.0,4.0 +2318,2023-01-17 02:20:00,0.0,4.0 +2319,2023-01-17 02:30:00,0.0,4.0 +2320,2023-01-17 02:40:00,0.0,4.0 +2321,2023-01-17 02:50:00,0.0,4.0 +2322,2023-01-17 03:00:00,0.0,3.0 +2323,2023-01-17 03:10:00,0.0,3.0 +2324,2023-01-17 03:20:00,0.0,3.0 +2325,2023-01-17 03:30:00,0.0,3.0 +2326,2023-01-17 03:40:00,0.0,3.0 +2327,2023-01-17 03:50:00,0.0,3.0 +2340,2023-01-17 06:00:00,0.0,4.0 +2341,2023-01-17 06:10:00,0.0,4.0 +2342,2023-01-17 06:20:00,0.0,4.0 +2343,2023-01-17 06:30:00,0.0,4.0 +2344,2023-01-17 06:40:00,0.0,4.0 +2345,2023-01-17 06:50:00,0.0,4.0 +2358,2023-01-17 09:00:00,0.0,3.0 +2359,2023-01-17 09:10:00,0.0,3.0 +2360,2023-01-17 09:20:00,0.0,3.0 +2361,2023-01-17 09:30:00,8.0,3.0 +2362,2023-01-17 09:40:00,0.0,3.0 +2363,2023-01-17 09:50:00,0.0,3.0 +2364,2023-01-17 10:00:00,16.0,3.0 +2365,2023-01-17 10:10:00,0.0,3.0 +2366,2023-01-17 10:20:00,45.0,3.0 +2367,2023-01-17 10:30:00,0.0,3.0 +2368,2023-01-17 10:40:00,0.0,3.0 +2369,2023-01-17 10:50:00,57.0,3.0 +2370,2023-01-17 11:00:00,0.0,3.0 +2371,2023-01-17 11:10:00,0.0,3.0 +2372,2023-01-17 11:20:00,0.0,3.0 +2373,2023-01-17 11:30:00,0.0,3.0 +2374,2023-01-17 11:40:00,0.0,3.0 +2375,2023-01-17 11:50:00,0.0,3.0 +2376,2023-01-17 12:00:00,0.0,3.0 +2377,2023-01-17 12:10:00,0.0,3.0 +2378,2023-01-17 12:20:00,0.0,3.0 +2379,2023-01-17 12:30:00,0.0,3.0 +2380,2023-01-17 12:40:00,16.0,3.0 +2381,2023-01-17 12:50:00,0.0,3.0 +2382,2023-01-17 13:00:00,0.0,3.0 +2383,2023-01-17 13:10:00,0.0,3.0 +2384,2023-01-17 13:20:00,34.0,3.0 +2385,2023-01-17 13:30:00,69.0,3.0 +2386,2023-01-17 13:40:00,12.61,3.0 +2387,2023-01-17 13:50:00,87.8597508896797,3.0 +2388,2023-01-17 14:00:00,21.530249110320288,3.0 +2389,2023-01-17 14:10:00,0.0,3.0 +2390,2023-01-17 14:20:00,0.0,3.0 +2391,2023-01-17 14:30:00,0.0,3.0 +2392,2023-01-17 14:40:00,0.0,3.0 +2393,2023-01-17 14:50:00,0.0,3.0 +2400,2023-01-17 16:00:00,0.0,1.0 +2401,2023-01-17 16:10:00,0.0,1.0 +2402,2023-01-17 16:20:00,0.0,1.0 +2403,2023-01-17 16:30:00,0.0,1.0 +2404,2023-01-17 16:40:00,0.0,1.0 +2405,2023-01-17 16:50:00,0.0,1.0 +2418,2023-01-17 19:00:00,0.0,3.0 +2419,2023-01-17 19:10:00,0.0,3.0 +2420,2023-01-17 19:20:00,31.0,3.0 +2421,2023-01-17 19:30:00,146.7196652719665,3.0 +2422,2023-01-17 19:40:00,31.28033472803347,3.0 +2423,2023-01-17 19:50:00,42.5929648241206,3.0 +2424,2023-01-17 20:00:00,165.4070351758794,4.0 +2425,2023-01-17 20:10:00,0.0,4.0 +2426,2023-01-17 20:20:00,71.0,4.0 +2427,2023-01-17 20:30:00,0.0,4.0 +2428,2023-01-17 20:40:00,145.0,4.0 +2429,2023-01-17 20:50:00,37.43283582089552,4.0 +2430,2023-01-17 21:00:00,0.5671641791044776,3.0 +2431,2023-01-17 21:10:00,118.0,3.0 +2432,2023-01-17 21:20:00,0.0,3.0 +2433,2023-01-17 21:30:00,0.0,3.0 +2434,2023-01-17 21:40:00,0.0,3.0 +2435,2023-01-17 21:50:00,0.0,3.0 +2442,2023-01-17 23:00:00,0.0,1.0 +2443,2023-01-17 23:10:00,74.0,1.0 +2444,2023-01-17 23:20:00,0.0,1.0 +2445,2023-01-17 23:30:00,25.253164556962023,1.0 +2446,2023-01-17 23:40:00,9.746835443037972,1.0 +2447,2023-01-17 23:50:00,0.0,1.0 +2448,2023-01-18 00:00:00,0.0,1.0 +2449,2023-01-18 00:10:00,0.0,1.0 +2450,2023-01-18 00:20:00,0.0,1.0 +2451,2023-01-18 00:30:00,0.0,1.0 +2452,2023-01-18 00:40:00,0.0,1.0 +2453,2023-01-18 00:50:00,29.0,1.0 +2460,2023-01-18 02:00:00,0.0,1.0 +2461,2023-01-18 02:10:00,0.0,1.0 +2462,2023-01-18 02:20:00,0.0,1.0 +2463,2023-01-18 02:30:00,0.0,1.0 +2464,2023-01-18 02:40:00,0.0,1.0 +2465,2023-01-18 02:50:00,0.0,1.0 +2490,2023-01-18 07:00:00,0.0,1.0 +2491,2023-01-18 07:10:00,0.0,1.0 +2492,2023-01-18 07:20:00,0.0,1.0 +2493,2023-01-18 07:30:00,0.0,1.0 +2494,2023-01-18 07:40:00,0.0,1.0 +2495,2023-01-18 07:50:00,0.0,1.0 +2514,2023-01-18 11:00:00,24.97616546715944,3.0 +2515,2023-01-18 11:10:00,169.2405326460481,3.0 +2516,2023-01-18 11:20:00,256.9388174273859,3.0 +2517,2023-01-18 11:30:00,240.1161825726141,3.0 +2518,2023-01-18 11:40:00,148.0,3.0 +2519,2023-01-18 11:50:00,216.7333333333333,3.0 +2538,2023-01-18 15:00:00,669.8767903910017,4.0 +2539,2023-01-18 15:10:00,114.55877993489888,4.0 +2540,2023-01-18 15:20:00,163.3465909090909,4.0 +2541,2023-01-18 15:30:00,38.0,4.0 +2542,2023-01-18 15:40:00,0.0,4.0 +2543,2023-01-18 15:50:00,0.0,4.0 +2544,2023-01-18 16:00:00,765.14,3.0 +2545,2023-01-18 16:10:00,998.86,3.0 +2546,2023-01-18 16:20:00,122.0,3.0 +2547,2023-01-18 16:30:00,0.0,3.0 +2548,2023-01-18 16:40:00,40.0,3.0 +2549,2023-01-18 16:50:00,0.0,3.0 +2568,2023-01-18 20:00:00,0.0,4.0 +2569,2023-01-18 20:10:00,0.0,4.0 +2570,2023-01-18 20:20:00,270.0,4.0 +2571,2023-01-18 20:30:00,0.0,4.0 +2572,2023-01-18 20:40:00,0.0,4.0 +2573,2023-01-18 20:50:00,104.0,4.0 +2574,2023-01-18 21:00:00,0.0,4.0 +2575,2023-01-18 21:10:00,0.0,4.0 +2576,2023-01-18 21:20:00,0.0,4.0 +2577,2023-01-18 21:30:00,0.0,4.0 +2578,2023-01-18 21:40:00,0.0,4.0 +2579,2023-01-18 21:50:00,0.0,4.0 +2604,2023-01-19 02:00:00,0.0,4.0 +2605,2023-01-19 02:10:00,0.0,4.0 +2606,2023-01-19 02:20:00,0.0,4.0 +2607,2023-01-19 02:30:00,0.0,4.0 +2608,2023-01-19 02:40:00,0.0,4.0 +2609,2023-01-19 02:50:00,0.0,4.0 +2610,2023-01-19 03:00:00,0.0,3.0 +2611,2023-01-19 03:10:00,0.0,3.0 +2612,2023-01-19 03:20:00,0.0,3.0 +2613,2023-01-19 03:30:00,0.0,3.0 +2614,2023-01-19 03:40:00,0.0,3.0 +2615,2023-01-19 03:50:00,0.0,3.0 +2616,2023-01-19 04:00:00,0.0,4.0 +2617,2023-01-19 04:10:00,0.0,4.0 +2618,2023-01-19 04:20:00,0.0,4.0 +2619,2023-01-19 04:30:00,0.0,4.0 +2620,2023-01-19 04:40:00,0.0,4.0 +2621,2023-01-19 04:50:00,0.0,4.0 +2622,2023-01-19 05:00:00,0.0,3.0 +2623,2023-01-19 05:10:00,0.0,3.0 +2624,2023-01-19 05:20:00,0.0,3.0 +2625,2023-01-19 05:30:00,0.0,3.0 +2626,2023-01-19 05:40:00,0.0,3.0 +2627,2023-01-19 05:50:00,0.0,3.0 +2634,2023-01-19 07:00:00,0.0,4.0 +2635,2023-01-19 07:10:00,0.0,4.0 +2636,2023-01-19 07:20:00,0.0,4.0 +2637,2023-01-19 07:30:00,0.0,4.0 +2638,2023-01-19 07:40:00,0.0,4.0 +2639,2023-01-19 07:50:00,0.0,4.0 +2640,2023-01-19 08:00:00,0.0,3.0 +2641,2023-01-19 08:10:00,0.0,3.0 +2642,2023-01-19 08:20:00,0.0,3.0 +2643,2023-01-19 08:30:00,0.0,3.0 +2644,2023-01-19 08:40:00,0.0,3.0 +2645,2023-01-19 08:50:00,0.0,3.0 +2646,2023-01-19 09:00:00,0.0,3.0 +2647,2023-01-19 09:10:00,0.0,3.0 +2648,2023-01-19 09:20:00,0.0,3.0 +2649,2023-01-19 09:30:00,0.0,3.0 +2650,2023-01-19 09:40:00,0.0,3.0 +2651,2023-01-19 09:50:00,0.0,3.0 +2652,2023-01-19 10:00:00,0.0,3.0 +2653,2023-01-19 10:10:00,0.0,3.0 +2654,2023-01-19 10:20:00,0.0,3.0 +2655,2023-01-19 10:30:00,0.0,3.0 +2656,2023-01-19 10:40:00,0.0,3.0 +2657,2023-01-19 10:50:00,0.0,3.0 +2664,2023-01-19 12:00:00,13.937655860349128,3.0 +2665,2023-01-19 12:10:00,0.0,3.0 +2666,2023-01-19 12:20:00,0.0,3.0 +2667,2023-01-19 12:30:00,13.04494382022472,3.0 +2668,2023-01-19 12:40:00,67.95505617977528,3.0 +2669,2023-01-19 12:50:00,0.0,3.0 +2682,2023-01-19 15:00:00,10.0,4.0 +2683,2023-01-19 15:10:00,0.0,4.0 +2684,2023-01-19 15:20:00,0.0,4.0 +2685,2023-01-19 15:30:00,0.0,4.0 +2686,2023-01-19 15:40:00,0.0,4.0 +2687,2023-01-19 15:50:00,0.0,4.0 +2688,2023-01-19 16:00:00,0.0,3.0 +2689,2023-01-19 16:10:00,114.57360568018112,3.0 +2690,2023-01-19 16:20:00,587.9361477827748,3.0 +2691,2023-01-19 16:30:00,53.87978142076503,3.0 +2692,2023-01-19 16:40:00,4.713333333333334,3.0 +2693,2023-01-19 16:50:00,26.28666666666667,3.0 +2712,2023-01-19 20:00:00,38.34516765285996,1.0 +2713,2023-01-19 20:10:00,52.0,1.0 +2714,2023-01-19 20:20:00,49.0,1.0 +2715,2023-01-19 20:30:00,0.0,1.0 +2716,2023-01-19 20:40:00,42.51447661469933,1.0 +2717,2023-01-19 20:50:00,28.485523385300667,1.0 +2718,2023-01-19 21:00:00,6.603773584905661,4.0 +2719,2023-01-19 21:10:00,34.39622641509434,4.0 +2720,2023-01-19 21:20:00,22.0,4.0 +2721,2023-01-19 21:30:00,149.0,4.0 +2722,2023-01-19 21:40:00,0.0,4.0 +2723,2023-01-19 21:50:00,0.0,4.0 +2724,2023-01-19 22:00:00,0.0,3.0 +2725,2023-01-19 22:10:00,33.0,3.0 +2726,2023-01-19 22:20:00,8.0,3.0 +2727,2023-01-19 22:30:00,0.0,3.0 +2728,2023-01-19 22:40:00,0.0,3.0 +2729,2023-01-19 22:50:00,114.65693430656935,3.0 +2730,2023-01-19 23:00:00,4.343065693430657,3.0 +2731,2023-01-19 23:10:00,0.0,3.0 +2732,2023-01-19 23:20:00,0.0,3.0 +2733,2023-01-19 23:30:00,0.0,3.0 +2734,2023-01-19 23:40:00,0.0,3.0 +2735,2023-01-19 23:50:00,0.0,3.0 +2772,2023-01-20 06:00:00,0.0,3.0 +2773,2023-01-20 06:10:00,0.0,3.0 +2774,2023-01-20 06:20:00,0.0,3.0 +2775,2023-01-20 06:30:00,0.0,3.0 +2776,2023-01-20 06:40:00,0.0,3.0 +2777,2023-01-20 06:50:00,0.0,3.0 +2778,2023-01-20 07:00:00,0.0,3.0 +2779,2023-01-20 07:10:00,0.0,3.0 +2780,2023-01-20 07:20:00,0.0,3.0 +2781,2023-01-20 07:30:00,0.0,3.0 +2782,2023-01-20 07:40:00,0.0,3.0 +2783,2023-01-20 07:50:00,0.0,3.0 +2784,2023-01-20 08:00:00,0.0,3.0 +2785,2023-01-20 08:10:00,0.0,3.0 +2786,2023-01-20 08:20:00,0.0,3.0 +2787,2023-01-20 08:30:00,0.0,3.0 +2788,2023-01-20 08:40:00,0.0,3.0 +2789,2023-01-20 08:50:00,0.0,3.0 +2790,2023-01-20 09:00:00,0.0,3.0 +2791,2023-01-20 09:10:00,0.0,3.0 +2792,2023-01-20 09:20:00,0.0,3.0 +2793,2023-01-20 09:30:00,0.0,3.0 +2794,2023-01-20 09:40:00,0.0,3.0 +2795,2023-01-20 09:50:00,0.0,3.0 +2796,2023-01-20 10:00:00,19.0,3.0 +2797,2023-01-20 10:10:00,12.0,3.0 +2798,2023-01-20 10:20:00,0.0,3.0 +2799,2023-01-20 10:30:00,0.0,3.0 +2800,2023-01-20 10:40:00,0.0,3.0 +2801,2023-01-20 10:50:00,0.0,3.0 +2802,2023-01-20 11:00:00,16.0,3.0 +2803,2023-01-20 11:10:00,0.0,3.0 +2804,2023-01-20 11:20:00,0.0,3.0 +2805,2023-01-20 11:30:00,0.0,3.0 +2806,2023-01-20 11:40:00,39.0,3.0 +2807,2023-01-20 11:50:00,0.0,3.0 +2808,2023-01-20 12:00:00,0.0,3.0 +2809,2023-01-20 12:10:00,0.0,3.0 +2810,2023-01-20 12:20:00,12.0,3.0 +2811,2023-01-20 12:30:00,0.0,3.0 +2812,2023-01-20 12:40:00,0.0,3.0 +2813,2023-01-20 12:50:00,18.0,3.0 +2820,2023-01-20 14:00:00,28.0,3.0 +2821,2023-01-20 14:10:00,0.0,3.0 +2822,2023-01-20 14:20:00,19.54222972972973,3.0 +2823,2023-01-20 14:30:00,59.457770270270274,3.0 +2824,2023-01-20 14:40:00,0.0,3.0 +2825,2023-01-20 14:50:00,0.0,3.0 +2838,2023-01-20 17:00:00,0.0,4.0 +2839,2023-01-20 17:10:00,0.0,4.0 +2840,2023-01-20 17:20:00,0.0,4.0 +2841,2023-01-20 17:30:00,0.0,4.0 +2842,2023-01-20 17:40:00,0.0,4.0 +2843,2023-01-20 17:50:00,0.0,4.0 +2856,2023-01-20 20:00:00,79.90625,1.0 +2857,2023-01-20 20:10:00,0.0,1.0 +2858,2023-01-20 20:20:00,0.0,1.0 +2859,2023-01-20 20:30:00,0.0,1.0 +2860,2023-01-20 20:40:00,0.0,1.0 +2861,2023-01-20 20:50:00,0.0,1.0 +2862,2023-01-20 21:00:00,0.0,3.0 +2863,2023-01-20 21:10:00,0.0,3.0 +2864,2023-01-20 21:20:00,2.0,3.0 +2865,2023-01-20 21:30:00,0.0,3.0 +2866,2023-01-20 21:40:00,30.0,3.0 +2867,2023-01-20 21:50:00,12.0,3.0 +2868,2023-01-20 22:00:00,0.0,1.0 +2869,2023-01-20 22:10:00,0.0,1.0 +2870,2023-01-20 22:20:00,21.2,1.0 +2871,2023-01-20 22:30:00,31.8,1.0 +2872,2023-01-20 22:40:00,0.0,1.0 +2873,2023-01-20 22:50:00,0.0,1.0 +2874,2023-01-20 23:00:00,0.0,1.0 +2875,2023-01-20 23:10:00,0.0,1.0 +2876,2023-01-20 23:20:00,0.0,1.0 +2877,2023-01-20 23:30:00,0.0,1.0 +2878,2023-01-20 23:40:00,0.0,1.0 +2879,2023-01-20 23:50:00,0.0,1.0 +2880,2023-01-21 00:00:00,0.0,1.0 +2881,2023-01-21 00:10:00,0.0,1.0 +2882,2023-01-21 00:20:00,0.0,1.0 +2883,2023-01-21 00:30:00,0.0,1.0 +2884,2023-01-21 00:40:00,0.0,1.0 +2885,2023-01-21 00:50:00,0.0,1.0 +2886,2023-01-21 01:00:00,46.99300699300699,1.0 +2887,2023-01-21 01:10:00,13.006993006993008,1.0 +2888,2023-01-21 01:20:00,0.0,1.0 +2889,2023-01-21 01:30:00,0.0,1.0 +2890,2023-01-21 01:40:00,0.0,1.0 +2891,2023-01-21 01:50:00,0.0,1.0 +2898,2023-01-21 03:00:00,0.0,1.0 +2899,2023-01-21 03:10:00,0.0,1.0 +2900,2023-01-21 03:20:00,0.0,1.0 +2901,2023-01-21 03:30:00,0.0,1.0 +2902,2023-01-21 03:40:00,0.0,1.0 +2903,2023-01-21 03:50:00,0.0,1.0 +2910,2023-01-21 05:00:00,0.0,1.0 +2911,2023-01-21 05:10:00,0.0,1.0 +2912,2023-01-21 05:20:00,0.0,1.0 +2913,2023-01-21 05:30:00,0.0,1.0 +2914,2023-01-21 05:40:00,0.0,1.0 +2915,2023-01-21 05:50:00,0.0,1.0 +2916,2023-01-21 06:00:00,0.0,1.0 +2917,2023-01-21 06:10:00,0.0,1.0 +2918,2023-01-21 06:20:00,0.0,1.0 +2919,2023-01-21 06:30:00,0.0,1.0 +2920,2023-01-21 06:40:00,0.0,1.0 +2921,2023-01-21 06:50:00,0.0,1.0 +2928,2023-01-21 08:00:00,0.0,1.0 +2929,2023-01-21 08:10:00,0.0,1.0 +2930,2023-01-21 08:20:00,0.0,1.0 +2931,2023-01-21 08:30:00,0.0,1.0 +2932,2023-01-21 08:40:00,0.0,1.0 +2933,2023-01-21 08:50:00,0.0,1.0 +2952,2023-01-21 12:00:00,46.14736842105263,3.0 +2953,2023-01-21 12:10:00,218.85263157894732,3.0 +2954,2023-01-21 12:20:00,263.4507575757576,3.0 +2955,2023-01-21 12:30:00,147.20308857808857,3.0 +2956,2023-01-21 12:40:00,123.195468914647,3.0 +2957,2023-01-21 12:50:00,118.3605147991817,3.0 +2958,2023-01-21 13:00:00,137.47668501848975,3.0 +2959,2023-01-21 13:10:00,262.8456340140046,3.0 +2960,2023-01-21 13:20:00,121.65490524841772,3.0 +2961,2023-01-21 13:30:00,248.50602819490712,3.0 +2962,2023-01-21 13:40:00,281.40469668270373,3.0 +2963,2023-01-21 13:50:00,91.10429447852762,3.0 +2964,2023-01-21 14:00:00,0.0,1.0 +2965,2023-01-21 14:10:00,0.0,1.0 +2966,2023-01-21 14:20:00,66.0,1.0 +2967,2023-01-21 14:30:00,0.0,1.0 +2968,2023-01-21 14:40:00,0.0,1.0 +2969,2023-01-21 14:50:00,0.0,1.0 +2970,2023-01-21 15:00:00,111.35755258126196,3.0 +2971,2023-01-21 15:10:00,43.60244741873805,3.0 +2972,2023-01-21 15:20:00,255.61627118644068,3.0 +2973,2023-01-21 15:30:00,45.42372881355932,3.0 +2974,2023-01-21 15:40:00,72.03883495145631,3.0 +2975,2023-01-21 15:50:00,27.961165048543688,3.0 +2994,2023-01-21 19:00:00,0.0,1.0 +2995,2023-01-21 19:10:00,0.0,1.0 +2996,2023-01-21 19:20:00,35.0,1.0 +2997,2023-01-21 19:30:00,0.0,1.0 +2998,2023-01-21 19:40:00,0.0,1.0 +2999,2023-01-21 19:50:00,0.0,1.0 +3006,2023-01-21 21:00:00,15.0,3.0 +3007,2023-01-21 21:10:00,27.0,3.0 +3008,2023-01-21 21:20:00,0.0,3.0 +3009,2023-01-21 21:30:00,0.0,3.0 +3010,2023-01-21 21:40:00,0.0,3.0 +3011,2023-01-21 21:50:00,0.0,3.0 +3012,2023-01-21 22:00:00,112.71571906354514,1.0 +3013,2023-01-21 22:10:00,156.28428093645485,1.0 +3014,2023-01-21 22:20:00,36.0,1.0 +3015,2023-01-21 22:30:00,163.81833333333333,1.0 +3016,2023-01-21 22:40:00,546.6261111111112,1.0 +3017,2023-01-21 22:50:00,96.55555555555556,1.0 +3018,2023-01-21 23:00:00,0.0,1.0 +3019,2023-01-21 23:10:00,0.0,1.0 +3020,2023-01-21 23:20:00,0.0,1.0 +3021,2023-01-21 23:30:00,0.0,1.0 +3022,2023-01-21 23:40:00,0.0,1.0 +3023,2023-01-21 23:50:00,0.0,1.0 +3030,2023-01-22 01:00:00,187.0,1.0 +3031,2023-01-22 01:10:00,0.0,1.0 +3032,2023-01-22 01:20:00,0.0,1.0 +3033,2023-01-22 01:30:00,0.0,1.0 +3034,2023-01-22 01:40:00,0.0,1.0 +3035,2023-01-22 01:50:00,0.0,1.0 +3042,2023-01-22 03:00:00,0.0,1.0 +3043,2023-01-22 03:10:00,0.0,1.0 +3044,2023-01-22 03:20:00,0.0,1.0 +3045,2023-01-22 03:30:00,0.0,1.0 +3046,2023-01-22 03:40:00,0.0,1.0 +3047,2023-01-22 03:50:00,0.0,1.0 +3048,2023-01-22 04:00:00,0.0,1.0 +3049,2023-01-22 04:10:00,0.0,1.0 +3050,2023-01-22 04:20:00,0.0,1.0 +3051,2023-01-22 04:30:00,0.0,1.0 +3052,2023-01-22 04:40:00,0.0,1.0 +3053,2023-01-22 04:50:00,0.0,1.0 +3054,2023-01-22 05:00:00,0.0,1.0 +3055,2023-01-22 05:10:00,0.0,1.0 +3056,2023-01-22 05:20:00,0.0,1.0 +3057,2023-01-22 05:30:00,0.0,1.0 +3058,2023-01-22 05:40:00,0.0,1.0 +3059,2023-01-22 05:50:00,0.0,1.0 +3072,2023-01-22 08:00:00,0.0,3.0 +3073,2023-01-22 08:10:00,0.0,3.0 +3074,2023-01-22 08:20:00,0.0,3.0 +3075,2023-01-22 08:30:00,0.0,3.0 +3076,2023-01-22 08:40:00,0.0,3.0 +3077,2023-01-22 08:50:00,0.0,3.0 +3084,2023-01-22 10:00:00,0.0,3.0 +3085,2023-01-22 10:10:00,0.0,3.0 +3086,2023-01-22 10:20:00,0.0,3.0 +3087,2023-01-22 10:30:00,0.0,3.0 +3088,2023-01-22 10:40:00,27.587939698492463,3.0 +3089,2023-01-22 10:50:00,26.412060301507537,3.0 +3102,2023-01-22 13:00:00,0.0,3.0 +3103,2023-01-22 13:10:00,42.0,3.0 +3104,2023-01-22 13:20:00,0.0,3.0 +3105,2023-01-22 13:30:00,0.0,3.0 +3106,2023-01-22 13:40:00,0.0,3.0 +3107,2023-01-22 13:50:00,0.0,3.0 +3108,2023-01-22 14:00:00,98.0,3.0 +3109,2023-01-22 14:10:00,27.945205479452053,3.0 +3110,2023-01-22 14:20:00,6.0547945205479445,3.0 +3111,2023-01-22 14:30:00,0.0,3.0 +3112,2023-01-22 14:40:00,0.0,3.0 +3113,2023-01-22 14:50:00,0.0,3.0 +3126,2023-01-22 17:00:00,0.0,3.0 +3127,2023-01-22 17:10:00,0.0,3.0 +3128,2023-01-22 17:20:00,0.0,3.0 +3129,2023-01-22 17:30:00,28.0,3.0 +3130,2023-01-22 17:40:00,0.0,3.0 +3131,2023-01-22 17:50:00,0.0,3.0 +3144,2023-01-22 20:00:00,341.0133333333333,3.0 +3145,2023-01-22 20:10:00,251.98666666666665,3.0 +3146,2023-01-22 20:20:00,0.0,3.0 +3147,2023-01-22 20:30:00,0.0,3.0 +3148,2023-01-22 20:40:00,46.98947368421052,3.0 +3149,2023-01-22 20:50:00,152.01052631578946,3.0 +3174,2023-01-23 01:00:00,0.0,3.0 +3175,2023-01-23 01:10:00,0.0,3.0 +3176,2023-01-23 01:20:00,0.0,3.0 +3177,2023-01-23 01:30:00,0.0,3.0 +3178,2023-01-23 01:40:00,0.0,3.0 +3179,2023-01-23 01:50:00,0.0,3.0 +3198,2023-01-23 05:00:00,0.0,3.0 +3199,2023-01-23 05:10:00,0.0,3.0 +3200,2023-01-23 05:20:00,0.0,3.0 +3201,2023-01-23 05:30:00,0.0,3.0 +3202,2023-01-23 05:40:00,0.0,3.0 +3203,2023-01-23 05:50:00,0.0,3.0 +3204,2023-01-23 06:00:00,0.0,3.0 +3205,2023-01-23 06:10:00,0.0,3.0 +3206,2023-01-23 06:20:00,0.0,3.0 +3207,2023-01-23 06:30:00,0.0,3.0 +3208,2023-01-23 06:40:00,0.0,3.0 +3209,2023-01-23 06:50:00,0.0,3.0 +3210,2023-01-23 07:00:00,0.0,3.0 +3211,2023-01-23 07:10:00,0.0,3.0 +3212,2023-01-23 07:20:00,0.0,3.0 +3213,2023-01-23 07:30:00,0.0,3.0 +3214,2023-01-23 07:40:00,0.0,3.0 +3215,2023-01-23 07:50:00,0.0,3.0 +3216,2023-01-23 08:00:00,0.0,3.0 +3217,2023-01-23 08:10:00,0.0,3.0 +3218,2023-01-23 08:20:00,0.0,3.0 +3219,2023-01-23 08:30:00,0.0,3.0 +3220,2023-01-23 08:40:00,0.0,3.0 +3221,2023-01-23 08:50:00,0.0,3.0 +3222,2023-01-23 09:00:00,0.0,3.0 +3223,2023-01-23 09:10:00,0.0,3.0 +3224,2023-01-23 09:20:00,0.0,3.0 +3225,2023-01-23 09:30:00,0.0,3.0 +3226,2023-01-23 09:40:00,0.0,3.0 +3227,2023-01-23 09:50:00,0.0,3.0 +3228,2023-01-23 10:00:00,0.0,3.0 +3229,2023-01-23 10:10:00,54.0,3.0 +3230,2023-01-23 10:20:00,0.0,3.0 +3231,2023-01-23 10:30:00,0.0,3.0 +3232,2023-01-23 10:40:00,0.0,3.0 +3233,2023-01-23 10:50:00,0.0,3.0 +3246,2023-01-23 13:00:00,0.0,3.0 +3247,2023-01-23 13:10:00,0.0,3.0 +3248,2023-01-23 13:20:00,0.0,3.0 +3249,2023-01-23 13:30:00,0.0,3.0 +3250,2023-01-23 13:40:00,0.0,3.0 +3251,2023-01-23 13:50:00,0.0,3.0 +3270,2023-01-23 17:00:00,0.0,3.0 +3271,2023-01-23 17:10:00,0.0,3.0 +3272,2023-01-23 17:20:00,0.0,3.0 +3273,2023-01-23 17:30:00,0.0,3.0 +3274,2023-01-23 17:40:00,0.0,3.0 +3275,2023-01-23 17:50:00,0.0,3.0 +3276,2023-01-23 18:00:00,0.0,3.0 +3277,2023-01-23 18:10:00,0.0,3.0 +3278,2023-01-23 18:20:00,25.0,3.0 +3279,2023-01-23 18:30:00,0.0,3.0 +3280,2023-01-23 18:40:00,0.0,3.0 +3281,2023-01-23 18:50:00,0.0,3.0 +3282,2023-01-23 19:00:00,33.214285714285715,3.0 +3283,2023-01-23 19:10:00,17.785714285714285,3.0 +3284,2023-01-23 19:20:00,0.0,3.0 +3285,2023-01-23 19:30:00,0.0,3.0 +3286,2023-01-23 19:40:00,0.0,3.0 +3287,2023-01-23 19:50:00,0.0,3.0 +3288,2023-01-23 20:00:00,0.0,3.0 +3289,2023-01-23 20:10:00,0.0,3.0 +3290,2023-01-23 20:20:00,0.0,3.0 +3291,2023-01-23 20:30:00,0.0,3.0 +3292,2023-01-23 20:40:00,47.0,3.0 +3293,2023-01-23 20:50:00,18.0,3.0 +3300,2023-01-23 22:00:00,11.0,3.0 +3301,2023-01-23 22:10:00,0.0,3.0 +3302,2023-01-23 22:20:00,38.0,3.0 +3303,2023-01-23 22:30:00,0.0,3.0 +3304,2023-01-23 22:40:00,37.0,3.0 +3305,2023-01-23 22:50:00,33.0,3.0 +3312,2023-01-24 00:00:00,0.0,3.0 +3313,2023-01-24 00:10:00,0.0,3.0 +3314,2023-01-24 00:20:00,0.0,3.0 +3315,2023-01-24 00:30:00,0.0,3.0 +3316,2023-01-24 00:40:00,12.0,3.0 +3317,2023-01-24 00:50:00,0.0,3.0 +3318,2023-01-24 01:00:00,0.0,3.0 +3319,2023-01-24 01:10:00,0.0,3.0 +3320,2023-01-24 01:20:00,0.0,3.0 +3321,2023-01-24 01:30:00,0.0,3.0 +3322,2023-01-24 01:40:00,0.0,3.0 +3323,2023-01-24 01:50:00,0.0,3.0 +3336,2023-01-24 04:00:00,0.0,3.0 +3337,2023-01-24 04:10:00,0.0,3.0 +3338,2023-01-24 04:20:00,0.0,3.0 +3339,2023-01-24 04:30:00,0.0,3.0 +3340,2023-01-24 04:40:00,0.0,3.0 +3341,2023-01-24 04:50:00,0.0,3.0 +3354,2023-01-24 07:00:00,0.0,3.0 +3355,2023-01-24 07:10:00,0.0,3.0 +3356,2023-01-24 07:20:00,0.0,3.0 +3357,2023-01-24 07:30:00,0.0,3.0 +3358,2023-01-24 07:40:00,0.0,3.0 +3359,2023-01-24 07:50:00,0.0,3.0 +3360,2023-01-24 08:00:00,0.0,3.0 +3361,2023-01-24 08:10:00,0.0,3.0 +3362,2023-01-24 08:20:00,0.0,3.0 +3363,2023-01-24 08:30:00,0.0,3.0 +3364,2023-01-24 08:40:00,0.0,3.0 +3365,2023-01-24 08:50:00,0.0,3.0 +3366,2023-01-24 09:00:00,0.0,3.0 +3367,2023-01-24 09:10:00,0.0,3.0 +3368,2023-01-24 09:20:00,0.0,3.0 +3369,2023-01-24 09:30:00,0.0,3.0 +3370,2023-01-24 09:40:00,0.0,3.0 +3371,2023-01-24 09:50:00,0.0,3.0 +3378,2023-01-24 11:00:00,0.0,3.0 +3379,2023-01-24 11:10:00,0.0,3.0 +3380,2023-01-24 11:20:00,0.0,3.0 +3381,2023-01-24 11:30:00,0.0,3.0 +3382,2023-01-24 11:40:00,0.0,3.0 +3383,2023-01-24 11:50:00,33.0,3.0 +3384,2023-01-24 12:00:00,0.0,3.0 +3385,2023-01-24 12:10:00,0.0,3.0 +3386,2023-01-24 12:20:00,0.0,3.0 +3387,2023-01-24 12:30:00,0.0,3.0 +3388,2023-01-24 12:40:00,0.0,3.0 +3389,2023-01-24 12:50:00,0.0,3.0 +3396,2023-01-24 14:00:00,14.0,3.0 +3397,2023-01-24 14:10:00,0.0,3.0 +3398,2023-01-24 14:20:00,0.0,3.0 +3399,2023-01-24 14:30:00,0.0,3.0 +3400,2023-01-24 14:40:00,0.0,3.0 +3401,2023-01-24 14:50:00,0.0,3.0 +3426,2023-01-24 19:00:00,82.44897754611067,3.0 +3427,2023-01-24 19:10:00,50.14685314685315,3.0 +3428,2023-01-24 19:20:00,50.85314685314685,3.0 +3429,2023-01-24 19:30:00,32.0,3.0 +3430,2023-01-24 19:40:00,0.0,3.0 +3431,2023-01-24 19:50:00,186.0,3.0 +3432,2023-01-24 20:00:00,87.0,3.0 +3433,2023-01-24 20:10:00,0.0,3.0 +3434,2023-01-24 20:20:00,93.44666666666666,3.0 +3435,2023-01-24 20:30:00,244.5533333333333,3.0 +3436,2023-01-24 20:40:00,0.0,3.0 +3437,2023-01-24 20:50:00,38.99999999999999,3.0 +3438,2023-01-24 21:00:00,0.0,3.0 +3439,2023-01-24 21:10:00,0.0,3.0 +3440,2023-01-24 21:20:00,5.879396984924624,3.0 +3441,2023-01-24 21:30:00,59.12060301507538,3.0 +3442,2023-01-24 21:40:00,15.0,3.0 +3443,2023-01-24 21:50:00,41.0,3.0 +3444,2023-01-24 22:00:00,0.0,3.0 +3445,2023-01-24 22:10:00,0.0,3.0 +3446,2023-01-24 22:20:00,0.0,3.0 +3447,2023-01-24 22:30:00,0.0,3.0 +3448,2023-01-24 22:40:00,0.0,3.0 +3449,2023-01-24 22:50:00,9.0,3.0 +3450,2023-01-24 23:00:00,0.0,1.0 +3451,2023-01-24 23:10:00,0.0,1.0 +3452,2023-01-24 23:20:00,0.0,1.0 +3453,2023-01-24 23:30:00,0.0,1.0 +3454,2023-01-24 23:40:00,0.0,1.0 +3455,2023-01-24 23:50:00,0.0,1.0 +3462,2023-01-25 01:00:00,0.0,3.0 +3463,2023-01-25 01:10:00,0.0,3.0 +3464,2023-01-25 01:20:00,35.0,3.0 +3465,2023-01-25 01:30:00,0.0,3.0 +3466,2023-01-25 01:40:00,0.0,3.0 +3467,2023-01-25 01:50:00,0.0,3.0 +3468,2023-01-25 02:00:00,0.0,3.0 +3469,2023-01-25 02:10:00,0.0,3.0 +3470,2023-01-25 02:20:00,0.0,3.0 +3471,2023-01-25 02:30:00,0.0,3.0 +3472,2023-01-25 02:40:00,0.0,3.0 +3473,2023-01-25 02:50:00,0.0,3.0 +3474,2023-01-25 03:00:00,0.0,1.0 +3475,2023-01-25 03:10:00,0.0,1.0 +3476,2023-01-25 03:20:00,0.0,1.0 +3477,2023-01-25 03:30:00,0.0,1.0 +3478,2023-01-25 03:40:00,0.0,1.0 +3479,2023-01-25 03:50:00,0.0,1.0 +3480,2023-01-25 04:00:00,0.0,1.0 +3481,2023-01-25 04:10:00,0.0,1.0 +3482,2023-01-25 04:20:00,0.0,1.0 +3483,2023-01-25 04:30:00,0.0,1.0 +3484,2023-01-25 04:40:00,0.0,1.0 +3485,2023-01-25 04:50:00,0.0,1.0 +3492,2023-01-25 06:00:00,0.0,1.0 +3493,2023-01-25 06:10:00,0.0,1.0 +3494,2023-01-25 06:20:00,0.0,1.0 +3495,2023-01-25 06:30:00,0.0,1.0 +3496,2023-01-25 06:40:00,0.0,1.0 +3497,2023-01-25 06:50:00,0.0,1.0 +3504,2023-01-25 08:00:00,0.0,1.0 +3505,2023-01-25 08:10:00,0.0,1.0 +3506,2023-01-25 08:20:00,0.0,1.0 +3507,2023-01-25 08:30:00,0.0,1.0 +3508,2023-01-25 08:40:00,0.0,1.0 +3509,2023-01-25 08:50:00,0.0,1.0 +3510,2023-01-25 09:00:00,0.0,3.0 +3511,2023-01-25 09:10:00,0.0,3.0 +3512,2023-01-25 09:20:00,0.0,3.0 +3513,2023-01-25 09:30:00,0.0,3.0 +3514,2023-01-25 09:40:00,0.0,3.0 +3515,2023-01-25 09:50:00,0.0,3.0 +3528,2023-01-25 12:00:00,0.0,3.0 +3529,2023-01-25 12:10:00,0.0,3.0 +3530,2023-01-25 12:20:00,0.0,3.0 +3531,2023-01-25 12:30:00,43.32640949554896,3.0 +3532,2023-01-25 12:40:00,49.67359050445104,3.0 +3533,2023-01-25 12:50:00,0.0,3.0 +3534,2023-01-25 13:00:00,67.0,3.0 +3535,2023-01-25 13:10:00,13.0,3.0 +3536,2023-01-25 13:20:00,0.0,3.0 +3537,2023-01-25 13:30:00,0.0,3.0 +3538,2023-01-25 13:40:00,0.0,3.0 +3539,2023-01-25 13:50:00,0.0,3.0 +3558,2023-01-25 17:00:00,0.0,1.0 +3559,2023-01-25 17:10:00,0.0,1.0 +3560,2023-01-25 17:20:00,0.0,1.0 +3561,2023-01-25 17:30:00,0.0,1.0 +3562,2023-01-25 17:40:00,38.43257443082312,1.0 +3563,2023-01-25 17:50:00,16.56742556917688,1.0 +3564,2023-01-25 18:00:00,286.9266666666667,1.0 +3565,2023-01-25 18:10:00,947.0137799834574,1.0 +3566,2023-01-25 18:20:00,372.059553349876,1.0 +3567,2023-01-25 18:30:00,0.0,1.0 +3568,2023-01-25 18:40:00,0.0,1.0 +3569,2023-01-25 18:50:00,129.4582338902148,1.0 +3570,2023-01-25 19:00:00,356.1233263934731,1.0 +3571,2023-01-25 19:10:00,271.41843971631204,1.0 +3572,2023-01-25 19:20:00,0.0,1.0 +3573,2023-01-25 19:30:00,0.0,1.0 +3574,2023-01-25 19:40:00,0.0,1.0 +3575,2023-01-25 19:50:00,0.0,1.0 +3576,2023-01-25 20:00:00,79.0,3.0 +3577,2023-01-25 20:10:00,0.0,3.0 +3578,2023-01-25 20:20:00,0.0,3.0 +3579,2023-01-25 20:30:00,5.813868613138687,3.0 +3580,2023-01-25 20:40:00,61.916468465513,3.0 +3581,2023-01-25 20:50:00,33.26966292134831,3.0 +3600,2023-01-26 00:00:00,0.0,4.0 +3601,2023-01-26 00:10:00,0.0,4.0 +3602,2023-01-26 00:20:00,0.0,4.0 +3603,2023-01-26 00:30:00,0.0,4.0 +3604,2023-01-26 00:40:00,0.0,4.0 +3605,2023-01-26 00:50:00,0.0,4.0 +3606,2023-01-26 01:00:00,37.937106918239,2.0 +3607,2023-01-26 01:10:00,10.062893081761008,2.0 +3608,2023-01-26 01:20:00,0.0,2.0 +3609,2023-01-26 01:30:00,17.0,2.0 +3610,2023-01-26 01:40:00,0.0,2.0 +3611,2023-01-26 01:50:00,0.0,2.0 +3642,2023-01-26 07:00:00,0.0,4.0 +3643,2023-01-26 07:10:00,0.0,4.0 +3644,2023-01-26 07:20:00,0.0,4.0 +3645,2023-01-26 07:30:00,0.0,4.0 +3646,2023-01-26 07:40:00,0.0,4.0 +3647,2023-01-26 07:50:00,0.0,4.0 +3654,2023-01-26 09:00:00,0.0,3.0 +3655,2023-01-26 09:10:00,0.0,3.0 +3656,2023-01-26 09:20:00,0.0,3.0 +3657,2023-01-26 09:30:00,0.0,3.0 +3658,2023-01-26 09:40:00,0.0,3.0 +3659,2023-01-26 09:50:00,0.0,3.0 +3672,2023-01-26 12:00:00,205.0,3.0 +3673,2023-01-26 12:10:00,44.0,3.0 +3674,2023-01-26 12:20:00,154.48669201520912,3.0 +3675,2023-01-26 12:30:00,15.513307984790874,3.0 +3676,2023-01-26 12:40:00,74.9559748427673,3.0 +3677,2023-01-26 12:50:00,43.0440251572327,3.0 +3678,2023-01-26 13:00:00,0.0,3.0 +3679,2023-01-26 13:10:00,0.0,3.0 +3680,2023-01-26 13:20:00,0.2321428571428571,3.0 +3681,2023-01-26 13:30:00,25.767857142857142,3.0 +3682,2023-01-26 13:40:00,0.0,3.0 +3683,2023-01-26 13:50:00,0.0,3.0 +3690,2023-01-26 15:00:00,69.70980392156862,3.0 +3691,2023-01-26 15:10:00,118.29019607843136,3.0 +3692,2023-01-26 15:20:00,175.67333333333332,3.0 +3693,2023-01-26 15:30:00,268.65681547619045,3.0 +3694,2023-01-26 15:40:00,104.96651785714286,3.0 +3695,2023-01-26 15:50:00,159.18711484593837,3.0 +3696,2023-01-26 16:00:00,115.99632606132926,3.0 +3697,2023-01-26 16:10:00,181.0346624136098,3.0 +3698,2023-01-26 16:20:00,257.77231359649124,3.0 +3699,2023-01-26 16:30:00,294.0571395985402,3.0 +3700,2023-01-26 16:40:00,212.00323055765773,3.0 +3701,2023-01-26 16:50:00,283.9738570102786,3.0 +3714,2023-01-26 19:00:00,0.0,3.0 +3715,2023-01-26 19:10:00,45.0,3.0 +3716,2023-01-26 19:20:00,0.0,3.0 +3717,2023-01-26 19:30:00,0.0,3.0 +3718,2023-01-26 19:40:00,0.0,3.0 +3719,2023-01-26 19:50:00,0.0,3.0 +3726,2023-01-26 21:00:00,0.0,3.0 +3727,2023-01-26 21:10:00,0.0,3.0 +3728,2023-01-26 21:20:00,0.0,3.0 +3729,2023-01-26 21:30:00,0.0,3.0 +3730,2023-01-26 21:40:00,0.0,3.0 +3731,2023-01-26 21:50:00,0.0,3.0 +3738,2023-01-26 23:00:00,0.0,3.0 +3739,2023-01-26 23:10:00,0.0,3.0 +3740,2023-01-26 23:20:00,0.0,3.0 +3741,2023-01-26 23:30:00,0.0,3.0 +3742,2023-01-26 23:40:00,21.0,3.0 +3743,2023-01-26 23:50:00,23.0,3.0 +3750,2023-01-27 01:00:00,0.0,3.0 +3751,2023-01-27 01:10:00,0.0,3.0 +3752,2023-01-27 01:20:00,0.0,3.0 +3753,2023-01-27 01:30:00,0.0,3.0 +3754,2023-01-27 01:40:00,0.0,3.0 +3755,2023-01-27 01:50:00,0.0,3.0 +3762,2023-01-27 03:00:00,0.0,3.0 +3763,2023-01-27 03:10:00,0.0,3.0 +3764,2023-01-27 03:20:00,0.0,3.0 +3765,2023-01-27 03:30:00,0.0,3.0 +3766,2023-01-27 03:40:00,0.0,3.0 +3767,2023-01-27 03:50:00,0.0,3.0 +3798,2023-01-27 09:00:00,107.9642058165548,3.0 +3799,2023-01-27 09:10:00,0.0,3.0 +3800,2023-01-27 09:20:00,0.0,3.0 +3801,2023-01-27 09:30:00,0.0,3.0 +3802,2023-01-27 09:40:00,0.0,3.0 +3803,2023-01-27 09:50:00,125.0,3.0 +3816,2023-01-27 12:00:00,0.0,3.0 +3817,2023-01-27 12:10:00,0.0,3.0 +3818,2023-01-27 12:20:00,0.0,3.0 +3819,2023-01-27 12:30:00,0.0,3.0 +3820,2023-01-27 12:40:00,0.0,3.0 +3821,2023-01-27 12:50:00,0.0,3.0 +3834,2023-01-27 15:00:00,56.81318681318681,3.0 +3835,2023-01-27 15:10:00,53.18681318681319,3.0 +3836,2023-01-27 15:20:00,0.0,3.0 +3837,2023-01-27 15:30:00,0.0,3.0 +3838,2023-01-27 15:40:00,21.537313432835823,3.0 +3839,2023-01-27 15:50:00,15.46268656716418,3.0 +3846,2023-01-27 17:00:00,4.888412017167382,3.0 +3847,2023-01-27 17:10:00,62.11158798283262,3.0 +3848,2023-01-27 17:20:00,0.0,3.0 +3849,2023-01-27 17:30:00,0.0,3.0 +3850,2023-01-27 17:40:00,0.0,3.0 +3851,2023-01-27 17:50:00,0.0,3.0 +3864,2023-01-27 20:00:00,0.0,3.0 +3865,2023-01-27 20:10:00,0.0,3.0 +3866,2023-01-27 20:20:00,0.0,3.0 +3867,2023-01-27 20:30:00,0.0,3.0 +3868,2023-01-27 20:40:00,0.0,3.0 +3869,2023-01-27 20:50:00,0.0,3.0 +3894,2023-01-28 01:00:00,0.0,3.0 +3895,2023-01-28 01:10:00,95.90252707581227,3.0 +3896,2023-01-28 01:20:00,12.466456881406977,3.0 +3897,2023-01-28 01:30:00,14.63101604278075,3.0 +3898,2023-01-28 01:40:00,14.0,3.0 +3899,2023-01-28 01:50:00,26.199494949494948,3.0 +3906,2023-01-28 03:00:00,0.0,3.0 +3907,2023-01-28 03:10:00,0.0,3.0 +3908,2023-01-28 03:20:00,0.0,3.0 +3909,2023-01-28 03:30:00,0.0,3.0 +3910,2023-01-28 03:40:00,0.0,3.0 +3911,2023-01-28 03:50:00,0.0,3.0 +3912,2023-01-28 04:00:00,0.0,3.0 +3913,2023-01-28 04:10:00,0.0,3.0 +3914,2023-01-28 04:20:00,0.0,3.0 +3915,2023-01-28 04:30:00,0.0,3.0 +3916,2023-01-28 04:40:00,0.0,3.0 +3917,2023-01-28 04:50:00,0.0,3.0 +3918,2023-01-28 05:00:00,0.0,3.0 +3919,2023-01-28 05:10:00,0.0,3.0 +3920,2023-01-28 05:20:00,0.0,3.0 +3921,2023-01-28 05:30:00,0.0,3.0 +3922,2023-01-28 05:40:00,0.0,3.0 +3923,2023-01-28 05:50:00,0.0,3.0 +3924,2023-01-28 06:00:00,0.0,1.0 +3925,2023-01-28 06:10:00,0.0,1.0 +3926,2023-01-28 06:20:00,0.0,1.0 +3927,2023-01-28 06:30:00,0.0,1.0 +3928,2023-01-28 06:40:00,0.0,1.0 +3929,2023-01-28 06:50:00,0.0,1.0 +3930,2023-01-28 07:00:00,0.0,1.0 +3931,2023-01-28 07:10:00,0.0,1.0 +3932,2023-01-28 07:20:00,0.0,1.0 +3933,2023-01-28 07:30:00,0.0,1.0 +3934,2023-01-28 07:40:00,0.0,1.0 +3935,2023-01-28 07:50:00,0.0,1.0 +3936,2023-01-28 08:00:00,0.0,3.0 +3937,2023-01-28 08:10:00,0.0,3.0 +3938,2023-01-28 08:20:00,0.0,3.0 +3939,2023-01-28 08:30:00,0.0,3.0 +3940,2023-01-28 08:40:00,0.0,3.0 +3941,2023-01-28 08:50:00,0.0,3.0 +3942,2023-01-28 09:00:00,0.0,3.0 +3943,2023-01-28 09:10:00,0.0,3.0 +3944,2023-01-28 09:20:00,0.0,3.0 +3945,2023-01-28 09:30:00,0.0,3.0 +3946,2023-01-28 09:40:00,0.0,3.0 +3947,2023-01-28 09:50:00,0.0,3.0 +3954,2023-01-28 11:00:00,7.3559322033898304,3.0 +3955,2023-01-28 11:10:00,41.64406779661017,3.0 +3956,2023-01-28 11:20:00,0.0,3.0 +3957,2023-01-28 11:30:00,0.0,3.0 +3958,2023-01-28 11:40:00,38.0,3.0 +3959,2023-01-28 11:50:00,0.0,3.0 +3960,2023-01-28 12:00:00,0.0,3.0 +3961,2023-01-28 12:10:00,0.0,3.0 +3962,2023-01-28 12:20:00,3.0,3.0 +3963,2023-01-28 12:30:00,0.0,3.0 +3964,2023-01-28 12:40:00,0.0,3.0 +3965,2023-01-28 12:50:00,0.0,3.0 +3966,2023-01-28 13:00:00,0.0,3.0 +3967,2023-01-28 13:10:00,9.0,3.0 +3968,2023-01-28 13:20:00,0.0,3.0 +3969,2023-01-28 13:30:00,13.312883435582824,3.0 +3970,2023-01-28 13:40:00,21.687116564417177,3.0 +3971,2023-01-28 13:50:00,0.0,3.0 +3984,2023-01-28 16:00:00,0.0,3.0 +3985,2023-01-28 16:10:00,0.0,3.0 +3986,2023-01-28 16:20:00,0.0,3.0 +3987,2023-01-28 16:30:00,0.0,3.0 +3988,2023-01-28 16:40:00,182.0,3.0 +3989,2023-01-28 16:50:00,0.0,3.0 +3990,2023-01-28 17:00:00,0.0,1.0 +3991,2023-01-28 17:10:00,42.87527352297593,1.0 +3992,2023-01-28 17:20:00,159.12472647702407,1.0 +3993,2023-01-28 17:30:00,16.0,1.0 +3994,2023-01-28 17:40:00,0.0,1.0 +3995,2023-01-28 17:50:00,2.0,1.0 +4008,2023-01-28 20:00:00,8.0,3.0 +4009,2023-01-28 20:10:00,18.0,3.0 +4010,2023-01-28 20:20:00,0.0,3.0 +4011,2023-01-28 20:30:00,0.0,3.0 +4012,2023-01-28 20:40:00,0.0,3.0 +4013,2023-01-28 20:50:00,0.0,3.0 +4014,2023-01-28 21:00:00,0.0,3.0 +4015,2023-01-28 21:10:00,0.0,3.0 +4016,2023-01-28 21:20:00,0.0,3.0 +4017,2023-01-28 21:30:00,0.0,3.0 +4018,2023-01-28 21:40:00,40.0,3.0 +4019,2023-01-28 21:50:00,0.0,3.0 +4032,2023-01-29 00:00:00,0.0,3.0 +4033,2023-01-29 00:10:00,0.0,3.0 +4034,2023-01-29 00:20:00,0.0,3.0 +4035,2023-01-29 00:30:00,0.0,3.0 +4036,2023-01-29 00:40:00,0.0,3.0 +4037,2023-01-29 00:50:00,0.0,3.0 +4038,2023-01-29 01:00:00,0.0,3.0 +4039,2023-01-29 01:10:00,0.0,3.0 +4040,2023-01-29 01:20:00,0.0,3.0 +4041,2023-01-29 01:30:00,0.0,3.0 +4042,2023-01-29 01:40:00,0.0,3.0 +4043,2023-01-29 01:50:00,0.0,3.0 +4050,2023-01-29 03:00:00,0.0,1.0 +4051,2023-01-29 03:10:00,0.0,1.0 +4052,2023-01-29 03:20:00,0.0,1.0 +4053,2023-01-29 03:30:00,0.0,1.0 +4054,2023-01-29 03:40:00,0.0,1.0 +4055,2023-01-29 03:50:00,0.0,1.0 +4056,2023-01-29 04:00:00,0.0,3.0 +4057,2023-01-29 04:10:00,0.0,3.0 +4058,2023-01-29 04:20:00,0.0,3.0 +4059,2023-01-29 04:30:00,0.0,3.0 +4060,2023-01-29 04:40:00,0.0,3.0 +4061,2023-01-29 04:50:00,0.0,3.0 +4062,2023-01-29 05:00:00,0.0,3.0 +4063,2023-01-29 05:10:00,0.0,3.0 +4064,2023-01-29 05:20:00,0.0,3.0 +4065,2023-01-29 05:30:00,0.0,3.0 +4066,2023-01-29 05:40:00,0.0,3.0 +4067,2023-01-29 05:50:00,0.0,3.0 +4068,2023-01-29 06:00:00,0.0,3.0 +4069,2023-01-29 06:10:00,0.0,3.0 +4070,2023-01-29 06:20:00,0.0,3.0 +4071,2023-01-29 06:30:00,0.0,3.0 +4072,2023-01-29 06:40:00,0.0,3.0 +4073,2023-01-29 06:50:00,0.0,3.0 +4074,2023-01-29 07:00:00,0.0,3.0 +4075,2023-01-29 07:10:00,0.0,3.0 +4076,2023-01-29 07:20:00,0.0,3.0 +4077,2023-01-29 07:30:00,0.0,3.0 +4078,2023-01-29 07:40:00,0.0,3.0 +4079,2023-01-29 07:50:00,0.0,3.0 +4092,2023-01-29 10:00:00,0.0,3.0 +4093,2023-01-29 10:10:00,0.0,3.0 +4094,2023-01-29 10:20:00,0.0,3.0 +4095,2023-01-29 10:30:00,0.0,3.0 +4096,2023-01-29 10:40:00,0.0,3.0 +4097,2023-01-29 10:50:00,0.0,3.0 +4098,2023-01-29 11:00:00,0.0,3.0 +4099,2023-01-29 11:10:00,16.0,3.0 +4100,2023-01-29 11:20:00,0.0,3.0 +4101,2023-01-29 11:30:00,0.0,3.0 +4102,2023-01-29 11:40:00,0.0,3.0 +4103,2023-01-29 11:50:00,17.39398998330551,3.0 +4116,2023-01-29 14:00:00,35.46503215853061,3.0 +4117,2023-01-29 14:10:00,207.616021282885,3.0 +4118,2023-01-29 14:20:00,122.2491055218764,3.0 +4119,2023-01-29 14:30:00,124.03697478991596,3.0 +4120,2023-01-29 14:40:00,117.55050505050504,3.0 +4121,2023-01-29 14:50:00,240.37145502209023,3.0 +4134,2023-01-29 17:00:00,0.0,3.0 +4135,2023-01-29 17:10:00,0.0,3.0 +4136,2023-01-29 17:20:00,0.0,3.0 +4137,2023-01-29 17:30:00,9.252676659528907,3.0 +4138,2023-01-29 17:40:00,19.74732334047109,3.0 +4139,2023-01-29 17:50:00,0.0,3.0 +4146,2023-01-29 19:00:00,7.297297297297297,3.0 +4147,2023-01-29 19:10:00,46.7027027027027,3.0 +4148,2023-01-29 19:20:00,0.0,3.0 +4149,2023-01-29 19:30:00,0.0,3.0 +4150,2023-01-29 19:40:00,33.0,3.0 +4151,2023-01-29 19:50:00,0.0,3.0 +4152,2023-01-29 20:00:00,65.28366247755835,3.0 +4153,2023-01-29 20:10:00,3.716337522441652,3.0 +4154,2023-01-29 20:20:00,106.48986486486486,3.0 +4155,2023-01-29 20:30:00,51.51013513513514,3.0 +4156,2023-01-29 20:40:00,0.0,3.0 +4157,2023-01-29 20:50:00,0.0,3.0 +4176,2023-01-30 00:00:00,0.0,3.0 +4177,2023-01-30 00:10:00,0.0,3.0 +4178,2023-01-30 00:20:00,0.0,3.0 +4179,2023-01-30 00:30:00,0.0,3.0 +4180,2023-01-30 00:40:00,0.0,3.0 +4181,2023-01-30 00:50:00,0.0,3.0 +4182,2023-01-30 01:00:00,0.0,4.0 +4183,2023-01-30 01:10:00,0.0,4.0 +4184,2023-01-30 01:20:00,0.0,4.0 +4185,2023-01-30 01:30:00,0.0,4.0 +4186,2023-01-30 01:40:00,0.0,4.0 +4187,2023-01-30 01:50:00,0.0,4.0 +4194,2023-01-30 03:00:00,0.0,4.0 +4195,2023-01-30 03:10:00,0.0,4.0 +4196,2023-01-30 03:20:00,0.0,4.0 +4197,2023-01-30 03:30:00,0.0,4.0 +4198,2023-01-30 03:40:00,0.0,4.0 +4199,2023-01-30 03:50:00,0.0,4.0 +4200,2023-01-30 04:00:00,0.0,3.0 +4201,2023-01-30 04:10:00,0.0,3.0 +4202,2023-01-30 04:20:00,0.0,3.0 +4203,2023-01-30 04:30:00,0.0,3.0 +4204,2023-01-30 04:40:00,0.0,3.0 +4205,2023-01-30 04:50:00,0.0,3.0 +4224,2023-01-30 08:00:00,0.0,3.0 +4225,2023-01-30 08:10:00,0.0,3.0 +4226,2023-01-30 08:20:00,0.0,3.0 +4227,2023-01-30 08:30:00,0.0,3.0 +4228,2023-01-30 08:40:00,0.0,3.0 +4229,2023-01-30 08:50:00,0.0,3.0 +4230,2023-01-30 09:00:00,0.0,3.0 +4231,2023-01-30 09:10:00,0.0,3.0 +4232,2023-01-30 09:20:00,0.0,3.0 +4233,2023-01-30 09:30:00,0.0,3.0 +4234,2023-01-30 09:40:00,0.0,3.0 +4235,2023-01-30 09:50:00,0.0,3.0 +4236,2023-01-30 10:00:00,10.450980392156865,3.0 +4237,2023-01-30 10:10:00,30.54901960784314,3.0 +4238,2023-01-30 10:20:00,0.0,3.0 +4239,2023-01-30 10:30:00,0.0,3.0 +4240,2023-01-30 10:40:00,0.0,3.0 +4241,2023-01-30 10:50:00,0.0,3.0 +4248,2023-01-30 12:00:00,23.621559633027523,3.0 +4249,2023-01-30 12:10:00,0.0,3.0 +4250,2023-01-30 12:20:00,0.0,3.0 +4251,2023-01-30 12:30:00,0.0,3.0 +4252,2023-01-30 12:40:00,24.45762711864407,3.0 +4253,2023-01-30 12:50:00,345.5423728813559,3.0 +4254,2023-01-30 13:00:00,74.0,3.0 +4255,2023-01-30 13:10:00,0.0,3.0 +4256,2023-01-30 13:20:00,0.0,3.0 +4257,2023-01-30 13:30:00,0.0,3.0 +4258,2023-01-30 13:40:00,0.0,3.0 +4259,2023-01-30 13:50:00,0.0,3.0 +4260,2023-01-30 14:00:00,0.0,3.0 +4261,2023-01-30 14:10:00,0.0,3.0 +4262,2023-01-30 14:20:00,19.8,3.0 +4263,2023-01-30 14:30:00,5.2,3.0 +4264,2023-01-30 14:40:00,0.0,3.0 +4265,2023-01-30 14:50:00,0.0,3.0 +4272,2023-01-30 16:00:00,61.65116279069768,3.0 +4273,2023-01-30 16:10:00,48.97614991482113,3.0 +4274,2023-01-30 16:20:00,62.02385008517888,3.0 +4275,2023-01-30 16:30:00,14.846666666666666,3.0 +4276,2023-01-30 16:40:00,529.45139329806,3.0 +4277,2023-01-30 16:50:00,656.7019400352734,3.0 +4278,2023-01-30 17:00:00,0.0,3.0 +4279,2023-01-30 17:10:00,0.0,3.0 +4280,2023-01-30 17:20:00,0.0,3.0 +4281,2023-01-30 17:30:00,0.0,3.0 +4282,2023-01-30 17:40:00,0.0,3.0 +4283,2023-01-30 17:50:00,0.0,3.0 +4296,2023-01-30 20:00:00,164.1818181818182,3.0 +4297,2023-01-30 20:10:00,101.41818181818182,3.0 +4298,2023-01-30 20:20:00,125.4,3.0 +4299,2023-01-30 20:30:00,25.0,3.0 +4300,2023-01-30 20:40:00,17.0,3.0 +4301,2023-01-30 20:50:00,11.600760456273765,3.0 +4308,2023-01-30 22:00:00,0.0,3.0 +4309,2023-01-30 22:10:00,0.0,3.0 +4310,2023-01-30 22:20:00,0.0,3.0 +4311,2023-01-30 22:30:00,0.0,3.0 +4312,2023-01-30 22:40:00,0.0,3.0 +4313,2023-01-30 22:50:00,0.0,3.0 +4314,2023-01-30 23:00:00,0.0,3.0 +4315,2023-01-30 23:10:00,12.0,3.0 +4316,2023-01-30 23:20:00,0.0,3.0 +4317,2023-01-30 23:30:00,0.0,3.0 +4318,2023-01-30 23:40:00,0.0,3.0 +4319,2023-01-30 23:50:00,0.0,3.0 +4326,2023-01-31 01:00:00,0.0,3.0 +4327,2023-01-31 01:10:00,0.0,3.0 +4328,2023-01-31 01:20:00,0.0,3.0 +4329,2023-01-31 01:30:00,0.0,3.0 +4330,2023-01-31 01:40:00,0.0,3.0 +4331,2023-01-31 01:50:00,0.0,3.0 +4338,2023-01-31 03:00:00,0.0,3.0 +4339,2023-01-31 03:10:00,0.0,3.0 +4340,2023-01-31 03:20:00,0.0,3.0 +4341,2023-01-31 03:30:00,0.0,3.0 +4342,2023-01-31 03:40:00,0.0,3.0 +4343,2023-01-31 03:50:00,0.0,3.0 +4344,2023-01-31 04:00:00,0.0,3.0 +4345,2023-01-31 04:10:00,0.0,3.0 +4346,2023-01-31 04:20:00,0.0,3.0 +4347,2023-01-31 04:30:00,0.0,3.0 +4348,2023-01-31 04:40:00,0.0,3.0 +4349,2023-01-31 04:50:00,0.0,3.0 +4350,2023-01-31 05:00:00,0.0,4.0 +4351,2023-01-31 05:10:00,0.0,4.0 +4352,2023-01-31 05:20:00,0.0,4.0 +4353,2023-01-31 05:30:00,0.0,4.0 +4354,2023-01-31 05:40:00,0.0,4.0 +4355,2023-01-31 05:50:00,0.0,4.0 +4356,2023-01-31 06:00:00,0.0,3.0 +4357,2023-01-31 06:10:00,0.0,3.0 +4358,2023-01-31 06:20:00,0.0,3.0 +4359,2023-01-31 06:30:00,0.0,3.0 +4360,2023-01-31 06:40:00,0.0,3.0 +4361,2023-01-31 06:50:00,0.0,3.0 +4368,2023-01-31 08:00:00,0.0,3.0 +4369,2023-01-31 08:10:00,0.0,3.0 +4370,2023-01-31 08:20:00,0.0,3.0 +4371,2023-01-31 08:30:00,0.0,3.0 +4372,2023-01-31 08:40:00,0.0,3.0 +4373,2023-01-31 08:50:00,0.0,3.0 +4374,2023-01-31 09:00:00,0.0,4.0 +4375,2023-01-31 09:10:00,0.0,4.0 +4376,2023-01-31 09:20:00,0.0,4.0 +4377,2023-01-31 09:30:00,0.0,4.0 +4378,2023-01-31 09:40:00,0.0,4.0 +4379,2023-01-31 09:50:00,47.33416458852868,4.0 +4386,2023-01-31 11:00:00,97.16666666666669,3.0 +4387,2023-01-31 11:10:00,0.0,3.0 +4388,2023-01-31 11:20:00,0.0,3.0 +4389,2023-01-31 11:30:00,0.0,3.0 +4390,2023-01-31 11:40:00,0.0,3.0 +4391,2023-01-31 11:50:00,79.6964586846543,3.0 +4392,2023-01-31 12:00:00,340.3235413153457,3.0 +4393,2023-01-31 12:10:00,485.5,3.0 +4394,2023-01-31 12:20:00,368.4597160243408,3.0 +4395,2023-01-31 12:30:00,192.02028397565925,3.0 +4396,2023-01-31 12:40:00,0.0,3.0 +4397,2023-01-31 12:50:00,0.0,3.0 +4416,2023-01-31 16:00:00,0.0,3.0 +4417,2023-01-31 16:10:00,0.0,3.0 +4418,2023-01-31 16:20:00,0.0,3.0 +4419,2023-01-31 16:30:00,88.0,3.0 +4420,2023-01-31 16:40:00,404.6968174204355,3.0 +4421,2023-01-31 16:50:00,559.2388394160256,3.0 +4422,2023-01-31 17:00:00,17.064343163538876,3.0 +4423,2023-01-31 17:10:00,0.0,3.0 +4424,2023-01-31 17:20:00,0.0,3.0 +4425,2023-01-31 17:30:00,109.7286432160804,3.0 +4426,2023-01-31 17:40:00,96.2713567839196,3.0 +4427,2023-01-31 17:50:00,53.0,3.0 +4428,2023-01-31 18:00:00,0.0,3.0 +4429,2023-01-31 18:10:00,40.0,3.0 +4430,2023-01-31 18:20:00,37.24849373066276,3.0 +4431,2023-01-31 18:30:00,78.96972415659133,3.0 +4432,2023-01-31 18:40:00,76.21077338251857,3.0 +4433,2023-01-31 18:50:00,170.34481845909065,3.0 +4440,2023-01-31 20:00:00,256.8904109589041,3.0 +4441,2023-01-31 20:10:00,189.1095890410959,3.0 +4442,2023-01-31 20:20:00,0.0,3.0 +4443,2023-01-31 20:30:00,16.0,3.0 +4444,2023-01-31 20:40:00,31.330303030303032,3.0 +4445,2023-01-31 20:50:00,180.37577805077805,3.0 +4458,2023-01-31 23:00:00,23.80813953488372,3.0 +4459,2023-01-31 23:10:00,41.19186046511628,3.0 +4460,2023-01-31 23:20:00,0.0,3.0 +4461,2023-01-31 23:30:00,0.0,3.0 +4462,2023-01-31 23:40:00,0.0,3.0 +4463,2023-01-31 23:50:00,0.0,3.0 +4464,2023-02-01 00:00:00,0.0,3.0 +4465,2023-02-01 00:10:00,0.0,3.0 +4466,2023-02-01 00:20:00,0.0,3.0 +4467,2023-02-01 00:30:00,0.0,3.0 +4468,2023-02-01 00:40:00,0.0,3.0 +4469,2023-02-01 00:50:00,0.0,3.0 +4476,2023-02-01 02:00:00,0.0,3.0 +4477,2023-02-01 02:10:00,0.0,3.0 +4478,2023-02-01 02:20:00,0.0,3.0 +4479,2023-02-01 02:30:00,0.0,3.0 +4480,2023-02-01 02:40:00,0.0,3.0 +4481,2023-02-01 02:50:00,0.0,3.0 +4488,2023-02-01 04:00:00,0.0,3.0 +4489,2023-02-01 04:10:00,0.0,3.0 +4490,2023-02-01 04:20:00,0.0,3.0 +4491,2023-02-01 04:30:00,0.0,3.0 +4492,2023-02-01 04:40:00,0.0,3.0 +4493,2023-02-01 04:50:00,0.0,3.0 +4500,2023-02-01 06:00:00,0.0,3.0 +4501,2023-02-01 06:10:00,0.0,3.0 +4502,2023-02-01 06:20:00,0.0,3.0 +4503,2023-02-01 06:30:00,0.0,3.0 +4504,2023-02-01 06:40:00,0.0,3.0 +4505,2023-02-01 06:50:00,0.0,3.0 +4506,2023-02-01 07:00:00,0.0,3.0 +4507,2023-02-01 07:10:00,0.0,3.0 +4508,2023-02-01 07:20:00,0.0,3.0 +4509,2023-02-01 07:30:00,0.0,3.0 +4510,2023-02-01 07:40:00,0.0,3.0 +4511,2023-02-01 07:50:00,0.0,3.0 +4518,2023-02-01 09:00:00,0.0,4.0 +4519,2023-02-01 09:10:00,0.0,4.0 +4520,2023-02-01 09:20:00,0.0,4.0 +4521,2023-02-01 09:30:00,0.0,4.0 +4522,2023-02-01 09:40:00,0.0,4.0 +4523,2023-02-01 09:50:00,0.0,4.0 +4530,2023-02-01 11:00:00,0.0,4.0 +4531,2023-02-01 11:10:00,0.0,4.0 +4532,2023-02-01 11:20:00,0.0,4.0 +4533,2023-02-01 11:30:00,0.0,4.0 +4534,2023-02-01 11:40:00,0.0,4.0 +4535,2023-02-01 11:50:00,0.0,4.0 +4536,2023-02-01 12:00:00,0.0,3.0 +4537,2023-02-01 12:10:00,0.0,3.0 +4538,2023-02-01 12:20:00,0.0,3.0 +4539,2023-02-01 12:30:00,0.0,3.0 +4540,2023-02-01 12:40:00,0.0,3.0 +4541,2023-02-01 12:50:00,0.0,3.0 +4542,2023-02-01 13:00:00,0.0,3.0 +4543,2023-02-01 13:10:00,0.0,3.0 +4544,2023-02-01 13:20:00,0.0,3.0 +4545,2023-02-01 13:30:00,0.0,3.0 +4546,2023-02-01 13:40:00,0.0,3.0 +4547,2023-02-01 13:50:00,0.0,3.0 +4560,2023-02-01 16:00:00,0.0,3.0 +4561,2023-02-01 16:10:00,0.0,3.0 +4562,2023-02-01 16:20:00,0.0,3.0 +4563,2023-02-01 16:30:00,0.0,3.0 +4564,2023-02-01 16:40:00,0.0,3.0 +4565,2023-02-01 16:50:00,0.0,3.0 +4566,2023-02-01 17:00:00,0.0,3.0 +4567,2023-02-01 17:10:00,0.0,3.0 +4568,2023-02-01 17:20:00,0.0,3.0 +4569,2023-02-01 17:30:00,0.0,3.0 +4570,2023-02-01 17:40:00,0.0,3.0 +4571,2023-02-01 17:50:00,0.0,3.0 +4590,2023-02-01 21:00:00,0.0,3.0 +4591,2023-02-01 21:10:00,0.0,3.0 +4592,2023-02-01 21:20:00,0.0,3.0 +4593,2023-02-01 21:30:00,0.0,3.0 +4594,2023-02-01 21:40:00,0.0,3.0 +4595,2023-02-01 21:50:00,0.0,3.0 +4596,2023-02-01 22:00:00,0.0,3.0 +4597,2023-02-01 22:10:00,0.0,3.0 +4598,2023-02-01 22:20:00,0.0,3.0 +4599,2023-02-01 22:30:00,0.0,3.0 +4600,2023-02-01 22:40:00,0.0,3.0 +4601,2023-02-01 22:50:00,0.0,3.0 +4602,2023-02-01 23:00:00,0.0,3.0 +4603,2023-02-01 23:10:00,0.0,3.0 +4604,2023-02-01 23:20:00,0.0,3.0 +4605,2023-02-01 23:30:00,0.0,3.0 +4606,2023-02-01 23:40:00,0.0,3.0 +4607,2023-02-01 23:50:00,0.0,3.0 +4614,2023-02-02 01:00:00,0.0,3.0 +4615,2023-02-02 01:10:00,0.0,3.0 +4616,2023-02-02 01:20:00,0.0,3.0 +4617,2023-02-02 01:30:00,0.0,3.0 +4618,2023-02-02 01:40:00,0.0,3.0 +4619,2023-02-02 01:50:00,0.0,3.0 +4638,2023-02-02 05:00:00,0.0,3.0 +4639,2023-02-02 05:10:00,0.0,3.0 +4640,2023-02-02 05:20:00,0.0,3.0 +4641,2023-02-02 05:30:00,0.0,3.0 +4642,2023-02-02 05:40:00,0.0,3.0 +4643,2023-02-02 05:50:00,0.0,3.0 +4650,2023-02-02 07:00:00,0.0,4.0 +4651,2023-02-02 07:10:00,0.0,4.0 +4652,2023-02-02 07:20:00,0.0,4.0 +4653,2023-02-02 07:30:00,0.0,4.0 +4654,2023-02-02 07:40:00,0.0,4.0 +4655,2023-02-02 07:50:00,0.0,4.0 +4662,2023-02-02 09:00:00,0.0,4.0 +4663,2023-02-02 09:10:00,0.0,4.0 +4664,2023-02-02 09:20:00,0.0,4.0 +4665,2023-02-02 09:30:00,0.0,4.0 +4666,2023-02-02 09:40:00,0.0,4.0 +4667,2023-02-02 09:50:00,0.0,4.0 +4668,2023-02-02 10:00:00,0.0,3.0 +4669,2023-02-02 10:10:00,0.0,3.0 +4670,2023-02-02 10:20:00,0.0,3.0 +4671,2023-02-02 10:30:00,0.0,3.0 +4672,2023-02-02 10:40:00,0.0,3.0 +4673,2023-02-02 10:50:00,0.0,3.0 +4680,2023-02-02 12:00:00,0.0,4.0 +4681,2023-02-02 12:10:00,0.0,4.0 +4682,2023-02-02 12:20:00,0.0,4.0 +4683,2023-02-02 12:30:00,0.0,4.0 +4684,2023-02-02 12:40:00,0.0,4.0 +4685,2023-02-02 12:50:00,0.0,4.0 +4692,2023-02-02 14:00:00,0.0,4.0 +4693,2023-02-02 14:10:00,0.0,4.0 +4694,2023-02-02 14:20:00,0.0,4.0 +4695,2023-02-02 14:30:00,0.0,4.0 +4696,2023-02-02 14:40:00,0.0,4.0 +4697,2023-02-02 14:50:00,0.0,4.0 +4698,2023-02-02 15:00:00,0.0,3.0 +4699,2023-02-02 15:10:00,0.0,3.0 +4700,2023-02-02 15:20:00,0.0,3.0 +4701,2023-02-02 15:30:00,0.0,3.0 +4702,2023-02-02 15:40:00,0.0,3.0 +4703,2023-02-02 15:50:00,0.0,3.0 +4710,2023-02-02 17:00:00,0.0,3.0 +4711,2023-02-02 17:10:00,0.0,3.0 +4712,2023-02-02 17:20:00,0.0,3.0 +4713,2023-02-02 17:30:00,0.0,3.0 +4714,2023-02-02 17:40:00,0.0,3.0 +4715,2023-02-02 17:50:00,0.0,3.0 +4716,2023-02-02 18:00:00,0.0,3.0 +4717,2023-02-02 18:10:00,0.0,3.0 +4718,2023-02-02 18:20:00,0.0,3.0 +4719,2023-02-02 18:30:00,0.0,3.0 +4720,2023-02-02 18:40:00,0.0,3.0 +4721,2023-02-02 18:50:00,0.0,3.0 +4728,2023-02-02 20:00:00,0.0,3.0 +4729,2023-02-02 20:10:00,0.0,3.0 +4730,2023-02-02 20:20:00,0.0,3.0 +4731,2023-02-02 20:30:00,0.0,3.0 +4732,2023-02-02 20:40:00,0.0,3.0 +4733,2023-02-02 20:50:00,0.0,3.0 +4734,2023-02-02 21:00:00,0.0,3.0 +4735,2023-02-02 21:10:00,0.0,3.0 +4736,2023-02-02 21:20:00,0.0,3.0 +4737,2023-02-02 21:30:00,0.0,3.0 +4738,2023-02-02 21:40:00,0.0,3.0 +4739,2023-02-02 21:50:00,0.0,3.0 +4740,2023-02-02 22:00:00,0.0,3.0 +4741,2023-02-02 22:10:00,0.0,3.0 +4742,2023-02-02 22:20:00,0.0,3.0 +4743,2023-02-02 22:30:00,0.0,3.0 +4744,2023-02-02 22:40:00,0.0,3.0 +4745,2023-02-02 22:50:00,0.0,3.0 +4746,2023-02-02 23:00:00,0.0,3.0 +4747,2023-02-02 23:10:00,0.0,3.0 +4748,2023-02-02 23:20:00,0.0,3.0 +4749,2023-02-02 23:30:00,0.0,3.0 +4750,2023-02-02 23:40:00,0.0,3.0 +4751,2023-02-02 23:50:00,0.0,3.0 +4752,2023-02-03 00:00:00,0.0,3.0 +4753,2023-02-03 00:10:00,0.0,3.0 +4754,2023-02-03 00:20:00,0.0,3.0 +4755,2023-02-03 00:30:00,0.0,3.0 +4756,2023-02-03 00:40:00,0.0,3.0 +4757,2023-02-03 00:50:00,0.0,3.0 +4758,2023-02-03 01:00:00,0.0,3.0 +4759,2023-02-03 01:10:00,0.0,3.0 +4760,2023-02-03 01:20:00,0.0,3.0 +4761,2023-02-03 01:30:00,0.0,3.0 +4762,2023-02-03 01:40:00,0.0,3.0 +4763,2023-02-03 01:50:00,0.0,3.0 +4764,2023-02-03 02:00:00,0.0,3.0 +4765,2023-02-03 02:10:00,0.0,3.0 +4766,2023-02-03 02:20:00,0.0,3.0 +4767,2023-02-03 02:30:00,0.0,3.0 +4768,2023-02-03 02:40:00,0.0,3.0 +4769,2023-02-03 02:50:00,0.0,3.0 +4770,2023-02-03 03:00:00,0.0,3.0 +4771,2023-02-03 03:10:00,0.0,3.0 +4772,2023-02-03 03:20:00,0.0,3.0 +4773,2023-02-03 03:30:00,0.0,3.0 +4774,2023-02-03 03:40:00,0.0,3.0 +4775,2023-02-03 03:50:00,0.0,3.0 +4782,2023-02-03 05:00:00,0.0,3.0 +4783,2023-02-03 05:10:00,0.0,3.0 +4784,2023-02-03 05:20:00,0.0,3.0 +4785,2023-02-03 05:30:00,0.0,3.0 +4786,2023-02-03 05:40:00,0.0,3.0 +4787,2023-02-03 05:50:00,0.0,3.0 +4794,2023-02-03 07:00:00,0.0,3.0 +4795,2023-02-03 07:10:00,0.0,3.0 +4796,2023-02-03 07:20:00,0.0,3.0 +4797,2023-02-03 07:30:00,0.0,3.0 +4798,2023-02-03 07:40:00,0.0,3.0 +4799,2023-02-03 07:50:00,0.0,3.0 +4800,2023-02-03 08:00:00,0.0,3.0 +4801,2023-02-03 08:10:00,0.0,3.0 +4802,2023-02-03 08:20:00,0.0,3.0 +4803,2023-02-03 08:30:00,0.0,3.0 +4804,2023-02-03 08:40:00,0.0,3.0 +4805,2023-02-03 08:50:00,0.0,3.0 +4806,2023-02-03 09:00:00,0.0,3.0 +4807,2023-02-03 09:10:00,0.0,3.0 +4808,2023-02-03 09:20:00,0.0,3.0 +4809,2023-02-03 09:30:00,0.0,3.0 +4810,2023-02-03 09:40:00,0.0,3.0 +4811,2023-02-03 09:50:00,0.0,3.0 +4812,2023-02-03 10:00:00,0.0,3.0 +4813,2023-02-03 10:10:00,0.0,3.0 +4814,2023-02-03 10:20:00,0.0,3.0 +4815,2023-02-03 10:30:00,0.0,3.0 +4816,2023-02-03 10:40:00,0.0,3.0 +4817,2023-02-03 10:50:00,0.0,3.0 +4818,2023-02-03 11:00:00,0.0,5.0 +4819,2023-02-03 11:10:00,0.0,5.0 +4820,2023-02-03 11:20:00,0.0,5.0 +4821,2023-02-03 11:30:00,0.0,5.0 +4822,2023-02-03 11:40:00,0.0,5.0 +4823,2023-02-03 11:50:00,0.0,5.0 +4848,2023-02-03 16:00:00,0.0,3.0 +4849,2023-02-03 16:10:00,0.0,3.0 +4850,2023-02-03 16:20:00,0.0,3.0 +4851,2023-02-03 16:30:00,0.0,3.0 +4852,2023-02-03 16:40:00,0.0,3.0 +4853,2023-02-03 16:50:00,0.0,3.0 +4854,2023-02-03 17:00:00,0.0,3.0 +4855,2023-02-03 17:10:00,0.0,3.0 +4856,2023-02-03 17:20:00,0.0,3.0 +4857,2023-02-03 17:30:00,0.0,3.0 +4858,2023-02-03 17:40:00,0.0,3.0 +4859,2023-02-03 17:50:00,0.0,3.0 +4860,2023-02-03 18:00:00,0.0,3.0 +4861,2023-02-03 18:10:00,0.0,3.0 +4862,2023-02-03 18:20:00,0.0,3.0 +4863,2023-02-03 18:30:00,0.0,3.0 +4864,2023-02-03 18:40:00,0.0,3.0 +4865,2023-02-03 18:50:00,0.0,3.0 +4866,2023-02-03 19:00:00,0.0,4.0 +4867,2023-02-03 19:10:00,0.0,4.0 +4868,2023-02-03 19:20:00,0.0,4.0 +4869,2023-02-03 19:30:00,0.0,4.0 +4870,2023-02-03 19:40:00,0.0,4.0 +4871,2023-02-03 19:50:00,0.0,4.0 +4878,2023-02-03 21:00:00,0.0,4.0 +4879,2023-02-03 21:10:00,0.0,4.0 +4880,2023-02-03 21:20:00,0.0,4.0 +4881,2023-02-03 21:30:00,0.0,4.0 +4882,2023-02-03 21:40:00,0.0,4.0 +4883,2023-02-03 21:50:00,0.0,4.0 +4884,2023-02-03 22:00:00,0.0,3.0 +4885,2023-02-03 22:10:00,0.0,3.0 +4886,2023-02-03 22:20:00,0.0,3.0 +4887,2023-02-03 22:30:00,0.0,3.0 +4888,2023-02-03 22:40:00,0.0,3.0 +4889,2023-02-03 22:50:00,0.0,3.0 +4896,2023-02-04 00:00:00,0.0,3.0 +4897,2023-02-04 00:10:00,0.0,3.0 +4898,2023-02-04 00:20:00,0.0,3.0 +4899,2023-02-04 00:30:00,0.0,3.0 +4900,2023-02-04 00:40:00,0.0,3.0 +4901,2023-02-04 00:50:00,0.0,3.0 +4914,2023-02-04 03:00:00,0.0,3.0 +4915,2023-02-04 03:10:00,0.0,3.0 +4916,2023-02-04 03:20:00,0.0,3.0 +4917,2023-02-04 03:30:00,0.0,3.0 +4918,2023-02-04 03:40:00,0.0,3.0 +4919,2023-02-04 03:50:00,0.0,3.0 +4920,2023-02-04 04:00:00,0.0,3.0 +4921,2023-02-04 04:10:00,0.0,3.0 +4922,2023-02-04 04:20:00,0.0,3.0 +4923,2023-02-04 04:30:00,0.0,3.0 +4924,2023-02-04 04:40:00,0.0,3.0 +4925,2023-02-04 04:50:00,0.0,3.0 +4944,2023-02-04 08:00:00,0.0,4.0 +4945,2023-02-04 08:10:00,0.0,4.0 +4946,2023-02-04 08:20:00,0.0,4.0 +4947,2023-02-04 08:30:00,0.0,4.0 +4948,2023-02-04 08:40:00,0.0,4.0 +4949,2023-02-04 08:50:00,0.0,4.0 +4950,2023-02-04 09:00:00,0.0,3.0 +4951,2023-02-04 09:10:00,0.0,3.0 +4952,2023-02-04 09:20:00,0.0,3.0 +4953,2023-02-04 09:30:00,0.0,3.0 +4954,2023-02-04 09:40:00,0.0,3.0 +4955,2023-02-04 09:50:00,0.0,3.0 +4956,2023-02-04 10:00:00,0.0,3.0 +4957,2023-02-04 10:10:00,0.0,3.0 +4958,2023-02-04 10:20:00,0.0,3.0 +4959,2023-02-04 10:30:00,0.0,3.0 +4960,2023-02-04 10:40:00,0.0,3.0 +4961,2023-02-04 10:50:00,0.0,3.0 +4968,2023-02-04 12:00:00,0.0,3.0 +4969,2023-02-04 12:10:00,0.0,3.0 +4970,2023-02-04 12:20:00,0.0,3.0 +4971,2023-02-04 12:30:00,0.0,3.0 +4972,2023-02-04 12:40:00,0.0,3.0 +4973,2023-02-04 12:50:00,0.0,3.0 +4974,2023-02-04 13:00:00,0.0,4.0 +4975,2023-02-04 13:10:00,0.0,4.0 +4976,2023-02-04 13:20:00,0.0,4.0 +4977,2023-02-04 13:30:00,0.0,4.0 +4978,2023-02-04 13:40:00,0.0,4.0 +4979,2023-02-04 13:50:00,0.0,4.0 +4986,2023-02-04 15:00:00,0.0,3.0 +4987,2023-02-04 15:10:00,0.0,3.0 +4988,2023-02-04 15:20:00,0.0,3.0 +4989,2023-02-04 15:30:00,0.0,3.0 +4990,2023-02-04 15:40:00,0.0,3.0 +4991,2023-02-04 15:50:00,0.0,3.0 +5010,2023-02-04 19:00:00,0.0,3.0 +5011,2023-02-04 19:10:00,0.0,3.0 +5012,2023-02-04 19:20:00,0.0,3.0 +5013,2023-02-04 19:30:00,0.0,3.0 +5014,2023-02-04 19:40:00,0.0,3.0 +5015,2023-02-04 19:50:00,0.0,3.0 +5016,2023-02-04 20:00:00,0.0,4.0 +5017,2023-02-04 20:10:00,0.0,4.0 +5018,2023-02-04 20:20:00,0.0,4.0 +5019,2023-02-04 20:30:00,0.0,4.0 +5020,2023-02-04 20:40:00,0.0,4.0 +5021,2023-02-04 20:50:00,0.0,4.0 +5022,2023-02-04 21:00:00,0.0,3.0 +5023,2023-02-04 21:10:00,0.0,3.0 +5024,2023-02-04 21:20:00,0.0,3.0 +5025,2023-02-04 21:30:00,0.0,3.0 +5026,2023-02-04 21:40:00,0.0,3.0 +5027,2023-02-04 21:50:00,0.0,3.0 +5028,2023-02-04 22:00:00,0.0,3.0 +5029,2023-02-04 22:10:00,0.0,3.0 +5030,2023-02-04 22:20:00,0.0,3.0 +5031,2023-02-04 22:30:00,0.0,3.0 +5032,2023-02-04 22:40:00,0.0,3.0 +5033,2023-02-04 22:50:00,0.0,3.0 +5034,2023-02-04 23:00:00,0.0,4.0 +5035,2023-02-04 23:10:00,0.0,4.0 +5036,2023-02-04 23:20:00,0.0,4.0 +5037,2023-02-04 23:30:00,0.0,4.0 +5038,2023-02-04 23:40:00,0.0,4.0 +5039,2023-02-04 23:50:00,0.0,4.0 +5040,2023-02-05 00:00:00,0.0,3.0 +5041,2023-02-05 00:10:00,0.0,3.0 +5042,2023-02-05 00:20:00,0.0,3.0 +5043,2023-02-05 00:30:00,0.0,3.0 +5044,2023-02-05 00:40:00,0.0,3.0 +5045,2023-02-05 00:50:00,0.0,3.0 +5046,2023-02-05 01:00:00,0.0,3.0 +5047,2023-02-05 01:10:00,0.0,3.0 +5048,2023-02-05 01:20:00,0.0,3.0 +5049,2023-02-05 01:30:00,0.0,3.0 +5050,2023-02-05 01:40:00,0.0,3.0 +5051,2023-02-05 01:50:00,0.0,3.0 +5052,2023-02-05 02:00:00,0.0,4.0 +5053,2023-02-05 02:10:00,0.0,4.0 +5054,2023-02-05 02:20:00,0.0,4.0 +5055,2023-02-05 02:30:00,0.0,4.0 +5056,2023-02-05 02:40:00,0.0,4.0 +5057,2023-02-05 02:50:00,0.0,4.0 +5076,2023-02-05 06:00:00,0.0,4.0 +5077,2023-02-05 06:10:00,0.0,4.0 +5078,2023-02-05 06:20:00,0.0,4.0 +5079,2023-02-05 06:30:00,0.0,4.0 +5080,2023-02-05 06:40:00,0.0,4.0 +5081,2023-02-05 06:50:00,0.0,4.0 +5082,2023-02-05 07:00:00,0.0,4.0 +5083,2023-02-05 07:10:00,0.0,4.0 +5084,2023-02-05 07:20:00,0.0,4.0 +5085,2023-02-05 07:30:00,0.0,4.0 +5086,2023-02-05 07:40:00,0.0,4.0 +5087,2023-02-05 07:50:00,0.0,4.0 +5088,2023-02-05 08:00:00,0.0,4.0 +5089,2023-02-05 08:10:00,0.0,4.0 +5090,2023-02-05 08:20:00,0.0,4.0 +5091,2023-02-05 08:30:00,0.0,4.0 +5092,2023-02-05 08:40:00,0.0,4.0 +5093,2023-02-05 08:50:00,0.0,4.0 +5094,2023-02-05 09:00:00,0.0,3.0 +5095,2023-02-05 09:10:00,0.0,3.0 +5096,2023-02-05 09:20:00,0.0,3.0 +5097,2023-02-05 09:30:00,0.0,3.0 +5098,2023-02-05 09:40:00,0.0,3.0 +5099,2023-02-05 09:50:00,0.0,3.0 +5136,2023-02-05 16:00:00,0.0,3.0 +5137,2023-02-05 16:10:00,0.0,3.0 +5138,2023-02-05 16:20:00,0.0,3.0 +5139,2023-02-05 16:30:00,0.0,3.0 +5140,2023-02-05 16:40:00,0.0,3.0 +5141,2023-02-05 16:50:00,0.0,3.0 +5142,2023-02-05 17:00:00,0.0,3.0 +5143,2023-02-05 17:10:00,0.0,3.0 +5144,2023-02-05 17:20:00,0.0,3.0 +5145,2023-02-05 17:30:00,0.0,3.0 +5146,2023-02-05 17:40:00,0.0,3.0 +5147,2023-02-05 17:50:00,0.0,3.0 +5148,2023-02-05 18:00:00,0.0,3.0 +5149,2023-02-05 18:10:00,0.0,3.0 +5150,2023-02-05 18:20:00,0.0,3.0 +5151,2023-02-05 18:30:00,0.0,3.0 +5152,2023-02-05 18:40:00,0.0,3.0 +5153,2023-02-05 18:50:00,0.0,3.0 +5154,2023-02-05 19:00:00,0.0,3.0 +5155,2023-02-05 19:10:00,0.0,3.0 +5156,2023-02-05 19:20:00,0.0,3.0 +5157,2023-02-05 19:30:00,0.0,3.0 +5158,2023-02-05 19:40:00,0.0,3.0 +5159,2023-02-05 19:50:00,0.0,3.0 +5166,2023-02-05 21:00:00,0.0,3.0 +5167,2023-02-05 21:10:00,0.0,3.0 +5168,2023-02-05 21:20:00,0.0,3.0 +5169,2023-02-05 21:30:00,0.0,3.0 +5170,2023-02-05 21:40:00,0.0,3.0 +5171,2023-02-05 21:50:00,0.0,3.0 +5196,2023-02-06 02:00:00,0.0,3.0 +5197,2023-02-06 02:10:00,0.0,3.0 +5198,2023-02-06 02:20:00,0.0,3.0 +5199,2023-02-06 02:30:00,0.0,3.0 +5200,2023-02-06 02:40:00,0.0,3.0 +5201,2023-02-06 02:50:00,0.0,3.0 +5202,2023-02-06 03:00:00,0.0,3.0 +5203,2023-02-06 03:10:00,0.0,3.0 +5204,2023-02-06 03:20:00,0.0,3.0 +5205,2023-02-06 03:30:00,0.0,3.0 +5206,2023-02-06 03:40:00,0.0,3.0 +5207,2023-02-06 03:50:00,0.0,3.0 +5220,2023-02-06 06:00:00,0.0,3.0 +5221,2023-02-06 06:10:00,0.0,3.0 +5222,2023-02-06 06:20:00,0.0,3.0 +5223,2023-02-06 06:30:00,0.0,3.0 +5224,2023-02-06 06:40:00,0.0,3.0 +5225,2023-02-06 06:50:00,0.0,3.0 +5244,2023-02-06 10:00:00,0.0,3.0 +5245,2023-02-06 10:10:00,0.0,3.0 +5246,2023-02-06 10:20:00,0.0,3.0 +5247,2023-02-06 10:30:00,0.0,3.0 +5248,2023-02-06 10:40:00,0.0,3.0 +5249,2023-02-06 10:50:00,0.0,3.0 +5250,2023-02-06 11:00:00,0.0,3.0 +5251,2023-02-06 11:10:00,0.0,3.0 +5252,2023-02-06 11:20:00,0.0,3.0 +5253,2023-02-06 11:30:00,0.0,3.0 +5254,2023-02-06 11:40:00,0.0,3.0 +5255,2023-02-06 11:50:00,0.0,3.0 +5256,2023-02-06 12:00:00,0.0,3.0 +5257,2023-02-06 12:10:00,0.0,3.0 +5258,2023-02-06 12:20:00,0.0,3.0 +5259,2023-02-06 12:30:00,0.0,3.0 +5260,2023-02-06 12:40:00,0.0,3.0 +5261,2023-02-06 12:50:00,0.0,3.0 +5262,2023-02-06 13:00:00,0.0,3.0 +5263,2023-02-06 13:10:00,0.0,3.0 +5264,2023-02-06 13:20:00,0.0,3.0 +5265,2023-02-06 13:30:00,0.0,3.0 +5266,2023-02-06 13:40:00,0.0,3.0 +5267,2023-02-06 13:50:00,0.0,3.0 +5274,2023-02-06 15:00:00,0.0,3.0 +5275,2023-02-06 15:10:00,0.0,3.0 +5276,2023-02-06 15:20:00,0.0,3.0 +5277,2023-02-06 15:30:00,0.0,3.0 +5278,2023-02-06 15:40:00,0.0,3.0 +5279,2023-02-06 15:50:00,0.0,3.0 +5280,2023-02-06 16:00:00,0.0,3.0 +5281,2023-02-06 16:10:00,0.0,3.0 +5282,2023-02-06 16:20:00,0.0,3.0 +5283,2023-02-06 16:30:00,0.0,3.0 +5284,2023-02-06 16:40:00,0.0,3.0 +5285,2023-02-06 16:50:00,0.0,3.0 +5310,2023-02-06 21:00:00,0.0,3.0 +5311,2023-02-06 21:10:00,0.0,3.0 +5312,2023-02-06 21:20:00,0.0,3.0 +5313,2023-02-06 21:30:00,0.0,3.0 +5314,2023-02-06 21:40:00,0.0,3.0 +5315,2023-02-06 21:50:00,0.0,3.0 +5316,2023-02-06 22:00:00,0.0,3.0 +5317,2023-02-06 22:10:00,0.0,3.0 +5318,2023-02-06 22:20:00,0.0,3.0 +5319,2023-02-06 22:30:00,0.0,3.0 +5320,2023-02-06 22:40:00,0.0,3.0 +5321,2023-02-06 22:50:00,0.0,3.0 +5322,2023-02-06 23:00:00,0.0,1.0 +5323,2023-02-06 23:10:00,0.0,1.0 +5324,2023-02-06 23:20:00,0.0,1.0 +5325,2023-02-06 23:30:00,0.0,1.0 +5326,2023-02-06 23:40:00,0.0,1.0 +5327,2023-02-06 23:50:00,0.0,1.0 +5340,2023-02-07 02:00:00,0.0,1.0 +5341,2023-02-07 02:10:00,0.0,1.0 +5342,2023-02-07 02:20:00,0.0,1.0 +5343,2023-02-07 02:30:00,0.0,1.0 +5344,2023-02-07 02:40:00,0.0,1.0 +5345,2023-02-07 02:50:00,0.0,1.0 +5346,2023-02-07 03:00:00,0.0,1.0 +5347,2023-02-07 03:10:00,0.0,1.0 +5348,2023-02-07 03:20:00,0.0,1.0 +5349,2023-02-07 03:30:00,0.0,1.0 +5350,2023-02-07 03:40:00,0.0,1.0 +5351,2023-02-07 03:50:00,0.0,1.0 +5352,2023-02-07 04:00:00,0.0,3.0 +5353,2023-02-07 04:10:00,0.0,3.0 +5354,2023-02-07 04:20:00,0.0,3.0 +5355,2023-02-07 04:30:00,0.0,3.0 +5356,2023-02-07 04:40:00,0.0,3.0 +5357,2023-02-07 04:50:00,0.0,3.0 +5358,2023-02-07 05:00:00,0.0,1.0 +5359,2023-02-07 05:10:00,0.0,1.0 +5360,2023-02-07 05:20:00,0.0,1.0 +5361,2023-02-07 05:30:00,0.0,1.0 +5362,2023-02-07 05:40:00,0.0,1.0 +5363,2023-02-07 05:50:00,0.0,1.0 +5364,2023-02-07 06:00:00,0.0,1.0 +5365,2023-02-07 06:10:00,0.0,1.0 +5366,2023-02-07 06:20:00,0.0,1.0 +5367,2023-02-07 06:30:00,0.0,1.0 +5368,2023-02-07 06:40:00,0.0,1.0 +5369,2023-02-07 06:50:00,0.0,1.0 +5370,2023-02-07 07:00:00,0.0,3.0 +5371,2023-02-07 07:10:00,0.0,3.0 +5372,2023-02-07 07:20:00,0.0,3.0 +5373,2023-02-07 07:30:00,0.0,3.0 +5374,2023-02-07 07:40:00,0.0,3.0 +5375,2023-02-07 07:50:00,0.0,3.0 +5376,2023-02-07 08:00:00,0.0,3.0 +5377,2023-02-07 08:10:00,0.0,3.0 +5378,2023-02-07 08:20:00,0.0,3.0 +5379,2023-02-07 08:30:00,0.0,3.0 +5380,2023-02-07 08:40:00,0.0,3.0 +5381,2023-02-07 08:50:00,0.0,3.0 +5382,2023-02-07 09:00:00,0.0,1.0 +5383,2023-02-07 09:10:00,0.0,1.0 +5384,2023-02-07 09:20:00,0.0,1.0 +5385,2023-02-07 09:30:00,0.0,1.0 +5386,2023-02-07 09:40:00,0.0,1.0 +5387,2023-02-07 09:50:00,0.0,1.0 +5400,2023-02-07 12:00:00,0.0,3.0 +5401,2023-02-07 12:10:00,0.0,3.0 +5402,2023-02-07 12:20:00,0.0,3.0 +5403,2023-02-07 12:30:00,0.0,3.0 +5404,2023-02-07 12:40:00,0.0,3.0 +5405,2023-02-07 12:50:00,0.0,3.0 +5406,2023-02-07 13:00:00,0.0,3.0 +5407,2023-02-07 13:10:00,0.0,3.0 +5408,2023-02-07 13:20:00,0.0,3.0 +5409,2023-02-07 13:30:00,0.0,3.0 +5410,2023-02-07 13:40:00,0.0,3.0 +5411,2023-02-07 13:50:00,0.0,3.0 +5412,2023-02-07 14:00:00,0.0,3.0 +5413,2023-02-07 14:10:00,0.0,3.0 +5414,2023-02-07 14:20:00,0.0,3.0 +5415,2023-02-07 14:30:00,0.0,3.0 +5416,2023-02-07 14:40:00,0.0,3.0 +5417,2023-02-07 14:50:00,0.0,3.0 +5418,2023-02-07 15:00:00,0.0,3.0 +5419,2023-02-07 15:10:00,0.0,3.0 +5420,2023-02-07 15:20:00,0.0,3.0 +5421,2023-02-07 15:30:00,0.0,3.0 +5422,2023-02-07 15:40:00,0.0,3.0 +5423,2023-02-07 15:50:00,0.0,3.0 +5442,2023-02-07 19:00:00,0.0,1.0 +5443,2023-02-07 19:10:00,0.0,1.0 +5444,2023-02-07 19:20:00,0.0,1.0 +5445,2023-02-07 19:30:00,0.0,1.0 +5446,2023-02-07 19:40:00,0.0,1.0 +5447,2023-02-07 19:50:00,0.0,1.0 +5448,2023-02-07 20:00:00,0.0,1.0 +5449,2023-02-07 20:10:00,0.0,1.0 +5450,2023-02-07 20:20:00,0.0,1.0 +5451,2023-02-07 20:30:00,0.0,1.0 +5452,2023-02-07 20:40:00,0.0,1.0 +5453,2023-02-07 20:50:00,0.0,1.0 +5466,2023-02-07 23:00:00,0.0,1.0 +5467,2023-02-07 23:10:00,0.0,1.0 +5468,2023-02-07 23:20:00,0.0,1.0 +5469,2023-02-07 23:30:00,0.0,1.0 +5470,2023-02-07 23:40:00,0.0,1.0 +5471,2023-02-07 23:50:00,0.0,1.0 +5472,2023-02-08 00:00:00,0.0,1.0 +5473,2023-02-08 00:10:00,0.0,1.0 +5474,2023-02-08 00:20:00,0.0,1.0 +5475,2023-02-08 00:30:00,0.0,1.0 +5476,2023-02-08 00:40:00,0.0,1.0 +5477,2023-02-08 00:50:00,0.0,1.0 +5478,2023-02-08 01:00:00,0.0,1.0 +5479,2023-02-08 01:10:00,0.0,1.0 +5480,2023-02-08 01:20:00,0.0,1.0 +5481,2023-02-08 01:30:00,0.0,1.0 +5482,2023-02-08 01:40:00,0.0,1.0 +5483,2023-02-08 01:50:00,0.0,1.0 +5490,2023-02-08 03:00:00,0.0,1.0 +5491,2023-02-08 03:10:00,0.0,1.0 +5492,2023-02-08 03:20:00,0.0,1.0 +5493,2023-02-08 03:30:00,0.0,1.0 +5494,2023-02-08 03:40:00,0.0,1.0 +5495,2023-02-08 03:50:00,0.0,1.0 +5496,2023-02-08 04:00:00,0.0,1.0 +5497,2023-02-08 04:10:00,0.0,1.0 +5498,2023-02-08 04:20:00,0.0,1.0 +5499,2023-02-08 04:30:00,0.0,1.0 +5500,2023-02-08 04:40:00,0.0,1.0 +5501,2023-02-08 04:50:00,0.0,1.0 +5502,2023-02-08 05:00:00,0.0,1.0 +5503,2023-02-08 05:10:00,0.0,1.0 +5504,2023-02-08 05:20:00,0.0,1.0 +5505,2023-02-08 05:30:00,0.0,1.0 +5506,2023-02-08 05:40:00,0.0,1.0 +5507,2023-02-08 05:50:00,0.0,1.0 +5514,2023-02-08 07:00:00,0.0,3.0 +5515,2023-02-08 07:10:00,0.0,3.0 +5516,2023-02-08 07:20:00,0.0,3.0 +5517,2023-02-08 07:30:00,0.0,3.0 +5518,2023-02-08 07:40:00,0.0,3.0 +5519,2023-02-08 07:50:00,0.0,3.0 +5526,2023-02-08 09:00:00,0.0,3.0 +5527,2023-02-08 09:10:00,0.0,3.0 +5528,2023-02-08 09:20:00,0.0,3.0 +5529,2023-02-08 09:30:00,0.0,3.0 +5530,2023-02-08 09:40:00,0.0,3.0 +5531,2023-02-08 09:50:00,0.0,3.0 +5556,2023-02-08 14:00:00,0.0,3.0 +5557,2023-02-08 14:10:00,0.0,3.0 +5558,2023-02-08 14:20:00,0.0,3.0 +5559,2023-02-08 14:30:00,0.0,3.0 +5560,2023-02-08 14:40:00,0.0,3.0 +5561,2023-02-08 14:50:00,0.0,3.0 +5562,2023-02-08 15:00:00,0.0,3.0 +5563,2023-02-08 15:10:00,0.0,3.0 +5564,2023-02-08 15:20:00,0.0,3.0 +5565,2023-02-08 15:30:00,0.0,3.0 +5566,2023-02-08 15:40:00,0.0,3.0 +5567,2023-02-08 15:50:00,0.0,3.0 +5574,2023-02-08 17:00:00,0.0,3.0 +5575,2023-02-08 17:10:00,0.0,3.0 +5576,2023-02-08 17:20:00,0.0,3.0 +5577,2023-02-08 17:30:00,0.0,3.0 +5578,2023-02-08 17:40:00,0.0,3.0 +5579,2023-02-08 17:50:00,0.0,3.0 +5580,2023-02-08 18:00:00,0.0,3.0 +5581,2023-02-08 18:10:00,0.0,3.0 +5582,2023-02-08 18:20:00,0.0,3.0 +5583,2023-02-08 18:30:00,0.0,3.0 +5584,2023-02-08 18:40:00,0.0,3.0 +5585,2023-02-08 18:50:00,0.0,3.0 +5592,2023-02-08 20:00:00,0.0,3.0 +5593,2023-02-08 20:10:00,0.0,3.0 +5594,2023-02-08 20:20:00,0.0,3.0 +5595,2023-02-08 20:30:00,0.0,3.0 +5596,2023-02-08 20:40:00,0.0,3.0 +5597,2023-02-08 20:50:00,0.0,3.0 +5604,2023-02-08 22:00:00,0.0,1.0 +5605,2023-02-08 22:10:00,0.0,1.0 +5606,2023-02-08 22:20:00,0.0,1.0 +5607,2023-02-08 22:30:00,0.0,1.0 +5608,2023-02-08 22:40:00,0.0,1.0 +5609,2023-02-08 22:50:00,0.0,1.0 +5616,2023-02-09 00:00:00,0.0,1.0 +5617,2023-02-09 00:10:00,0.0,1.0 +5618,2023-02-09 00:20:00,0.0,1.0 +5619,2023-02-09 00:30:00,0.0,1.0 +5620,2023-02-09 00:40:00,0.0,1.0 +5621,2023-02-09 00:50:00,0.0,1.0 +5622,2023-02-09 01:00:00,0.0,1.0 +5623,2023-02-09 01:10:00,0.0,1.0 +5624,2023-02-09 01:20:00,0.0,1.0 +5625,2023-02-09 01:30:00,0.0,1.0 +5626,2023-02-09 01:40:00,0.0,1.0 +5627,2023-02-09 01:50:00,0.0,1.0 +5670,2023-02-09 09:00:00,0.0,3.0 +5671,2023-02-09 09:10:00,0.0,3.0 +5672,2023-02-09 09:20:00,0.0,3.0 +5673,2023-02-09 09:30:00,0.0,3.0 +5674,2023-02-09 09:40:00,0.0,3.0 +5675,2023-02-09 09:50:00,0.0,3.0 +5688,2023-02-09 12:00:00,0.0,3.0 +5689,2023-02-09 12:10:00,0.0,3.0 +5690,2023-02-09 12:20:00,0.0,3.0 +5691,2023-02-09 12:30:00,0.0,3.0 +5692,2023-02-09 12:40:00,0.0,3.0 +5693,2023-02-09 12:50:00,0.0,3.0 +5694,2023-02-09 13:00:00,0.0,3.0 +5695,2023-02-09 13:10:00,0.0,3.0 +5696,2023-02-09 13:20:00,0.0,3.0 +5697,2023-02-09 13:30:00,0.0,3.0 +5698,2023-02-09 13:40:00,0.0,3.0 +5699,2023-02-09 13:50:00,0.0,3.0 +5700,2023-02-09 14:00:00,0.0,3.0 +5701,2023-02-09 14:10:00,0.0,3.0 +5702,2023-02-09 14:20:00,0.0,3.0 +5703,2023-02-09 14:30:00,0.0,3.0 +5704,2023-02-09 14:40:00,0.0,3.0 +5705,2023-02-09 14:50:00,0.0,3.0 +5712,2023-02-09 16:00:00,0.0,3.0 +5713,2023-02-09 16:10:00,0.0,3.0 +5714,2023-02-09 16:20:00,0.0,3.0 +5715,2023-02-09 16:30:00,0.0,3.0 +5716,2023-02-09 16:40:00,0.0,3.0 +5717,2023-02-09 16:50:00,0.0,3.0 +5718,2023-02-09 17:00:00,0.0,3.0 +5719,2023-02-09 17:10:00,0.0,3.0 +5720,2023-02-09 17:20:00,0.0,3.0 +5721,2023-02-09 17:30:00,0.0,3.0 +5722,2023-02-09 17:40:00,0.0,3.0 +5723,2023-02-09 17:50:00,0.0,3.0 +5724,2023-02-09 18:00:00,0.0,3.0 +5725,2023-02-09 18:10:00,0.0,3.0 +5726,2023-02-09 18:20:00,0.0,3.0 +5727,2023-02-09 18:30:00,0.0,3.0 +5728,2023-02-09 18:40:00,0.0,3.0 +5729,2023-02-09 18:50:00,0.0,3.0 +5736,2023-02-09 20:00:00,0.0,3.0 +5737,2023-02-09 20:10:00,0.0,3.0 +5738,2023-02-09 20:20:00,0.0,3.0 +5739,2023-02-09 20:30:00,0.0,3.0 +5740,2023-02-09 20:40:00,0.0,3.0 +5741,2023-02-09 20:50:00,0.0,3.0 +5754,2023-02-09 23:00:00,0.0,3.0 +5755,2023-02-09 23:10:00,0.0,3.0 +5756,2023-02-09 23:20:00,0.0,3.0 +5757,2023-02-09 23:30:00,0.0,3.0 +5758,2023-02-09 23:40:00,0.0,3.0 +5759,2023-02-09 23:50:00,0.0,3.0 +5766,2023-02-10 01:00:00,0.0,3.0 +5767,2023-02-10 01:10:00,0.0,3.0 +5768,2023-02-10 01:20:00,0.0,3.0 +5769,2023-02-10 01:30:00,0.0,3.0 +5770,2023-02-10 01:40:00,0.0,3.0 +5771,2023-02-10 01:50:00,0.0,3.0 +5778,2023-02-10 03:00:00,0.0,1.0 +5779,2023-02-10 03:10:00,0.0,1.0 +5780,2023-02-10 03:20:00,0.0,1.0 +5781,2023-02-10 03:30:00,0.0,1.0 +5782,2023-02-10 03:40:00,0.0,1.0 +5783,2023-02-10 03:50:00,0.0,1.0 +5790,2023-02-10 05:00:00,0.0,3.0 +5791,2023-02-10 05:10:00,0.0,3.0 +5792,2023-02-10 05:20:00,0.0,3.0 +5793,2023-02-10 05:30:00,0.0,3.0 +5794,2023-02-10 05:40:00,0.0,3.0 +5795,2023-02-10 05:50:00,0.0,3.0 +5796,2023-02-10 06:00:00,0.0,1.0 +5797,2023-02-10 06:10:00,0.0,1.0 +5798,2023-02-10 06:20:00,0.0,1.0 +5799,2023-02-10 06:30:00,0.0,1.0 +5800,2023-02-10 06:40:00,0.0,1.0 +5801,2023-02-10 06:50:00,0.0,1.0 +5808,2023-02-10 08:00:00,0.0,3.0 +5809,2023-02-10 08:10:00,0.0,3.0 +5810,2023-02-10 08:20:00,0.0,3.0 +5811,2023-02-10 08:30:00,0.0,3.0 +5812,2023-02-10 08:40:00,0.0,3.0 +5813,2023-02-10 08:50:00,0.0,3.0 +5814,2023-02-10 09:00:00,0.0,3.0 +5815,2023-02-10 09:10:00,0.0,3.0 +5816,2023-02-10 09:20:00,0.0,3.0 +5817,2023-02-10 09:30:00,0.0,3.0 +5818,2023-02-10 09:40:00,0.0,3.0 +5819,2023-02-10 09:50:00,0.0,3.0 +5820,2023-02-10 10:00:00,0.0,3.0 +5821,2023-02-10 10:10:00,0.0,3.0 +5822,2023-02-10 10:20:00,0.0,3.0 +5823,2023-02-10 10:30:00,0.0,3.0 +5824,2023-02-10 10:40:00,0.0,3.0 +5825,2023-02-10 10:50:00,0.0,3.0 +5826,2023-02-10 11:00:00,0.0,3.0 +5827,2023-02-10 11:10:00,0.0,3.0 +5828,2023-02-10 11:20:00,0.0,3.0 +5829,2023-02-10 11:30:00,0.0,3.0 +5830,2023-02-10 11:40:00,0.0,3.0 +5831,2023-02-10 11:50:00,0.0,3.0 +5838,2023-02-10 13:00:00,0.0,3.0 +5839,2023-02-10 13:10:00,0.0,3.0 +5840,2023-02-10 13:20:00,0.0,3.0 +5841,2023-02-10 13:30:00,0.0,3.0 +5842,2023-02-10 13:40:00,0.0,3.0 +5843,2023-02-10 13:50:00,0.0,3.0 +5862,2023-02-10 17:00:00,0.0,3.0 +5863,2023-02-10 17:10:00,0.0,3.0 +5864,2023-02-10 17:20:00,0.0,3.0 +5865,2023-02-10 17:30:00,0.0,3.0 +5866,2023-02-10 17:40:00,0.0,3.0 +5867,2023-02-10 17:50:00,0.0,3.0 +5874,2023-02-10 19:00:00,0.0,3.0 +5875,2023-02-10 19:10:00,0.0,3.0 +5876,2023-02-10 19:20:00,0.0,3.0 +5877,2023-02-10 19:30:00,0.0,3.0 +5878,2023-02-10 19:40:00,0.0,3.0 +5879,2023-02-10 19:50:00,0.0,3.0 +5898,2023-02-10 23:00:00,0.0,3.0 +5899,2023-02-10 23:10:00,0.0,3.0 +5900,2023-02-10 23:20:00,0.0,3.0 +5901,2023-02-10 23:30:00,0.0,3.0 +5902,2023-02-10 23:40:00,0.0,3.0 +5903,2023-02-10 23:50:00,0.0,3.0 +5904,2023-02-11 00:00:00,0.0,3.0 +5905,2023-02-11 00:10:00,0.0,3.0 +5906,2023-02-11 00:20:00,0.0,3.0 +5907,2023-02-11 00:30:00,0.0,3.0 +5908,2023-02-11 00:40:00,0.0,3.0 +5909,2023-02-11 00:50:00,0.0,3.0 +5922,2023-02-11 03:00:00,0.0,3.0 +5923,2023-02-11 03:10:00,0.0,3.0 +5924,2023-02-11 03:20:00,0.0,3.0 +5925,2023-02-11 03:30:00,0.0,3.0 +5926,2023-02-11 03:40:00,0.0,3.0 +5927,2023-02-11 03:50:00,0.0,3.0 +5928,2023-02-11 04:00:00,0.0,3.0 +5929,2023-02-11 04:10:00,0.0,3.0 +5930,2023-02-11 04:20:00,0.0,3.0 +5931,2023-02-11 04:30:00,0.0,3.0 +5932,2023-02-11 04:40:00,0.0,3.0 +5933,2023-02-11 04:50:00,0.0,3.0 +5934,2023-02-11 05:00:00,0.0,3.0 +5935,2023-02-11 05:10:00,0.0,3.0 +5936,2023-02-11 05:20:00,0.0,3.0 +5937,2023-02-11 05:30:00,0.0,3.0 +5938,2023-02-11 05:40:00,0.0,3.0 +5939,2023-02-11 05:50:00,0.0,3.0 +5958,2023-02-11 09:00:00,0.0,3.0 +5959,2023-02-11 09:10:00,0.0,3.0 +5960,2023-02-11 09:20:00,0.0,3.0 +5961,2023-02-11 09:30:00,0.0,3.0 +5962,2023-02-11 09:40:00,0.0,3.0 +5963,2023-02-11 09:50:00,0.0,3.0 +5976,2023-02-11 12:00:00,0.0,3.0 +5977,2023-02-11 12:10:00,0.0,3.0 +5978,2023-02-11 12:20:00,0.0,3.0 +5979,2023-02-11 12:30:00,0.0,3.0 +5980,2023-02-11 12:40:00,0.0,3.0 +5981,2023-02-11 12:50:00,0.0,3.0 +5988,2023-02-11 14:00:00,0.0,3.0 +5989,2023-02-11 14:10:00,0.0,3.0 +5990,2023-02-11 14:20:00,0.0,3.0 +5991,2023-02-11 14:30:00,0.0,3.0 +5992,2023-02-11 14:40:00,0.0,3.0 +5993,2023-02-11 14:50:00,0.0,3.0 +5994,2023-02-11 15:00:00,0.0,3.0 +5995,2023-02-11 15:10:00,0.0,3.0 +5996,2023-02-11 15:20:00,0.0,3.0 +5997,2023-02-11 15:30:00,0.0,3.0 +5998,2023-02-11 15:40:00,0.0,3.0 +5999,2023-02-11 15:50:00,0.0,3.0 +6006,2023-02-11 17:00:00,0.0,3.0 +6007,2023-02-11 17:10:00,0.0,3.0 +6008,2023-02-11 17:20:00,0.0,3.0 +6009,2023-02-11 17:30:00,0.0,3.0 +6010,2023-02-11 17:40:00,0.0,3.0 +6011,2023-02-11 17:50:00,0.0,3.0 +6012,2023-02-11 18:00:00,0.0,3.0 +6013,2023-02-11 18:10:00,0.0,3.0 +6014,2023-02-11 18:20:00,0.0,3.0 +6015,2023-02-11 18:30:00,0.0,3.0 +6016,2023-02-11 18:40:00,0.0,3.0 +6017,2023-02-11 18:50:00,0.0,3.0 +6018,2023-02-11 19:00:00,0.0,3.0 +6019,2023-02-11 19:10:00,0.0,3.0 +6020,2023-02-11 19:20:00,0.0,3.0 +6021,2023-02-11 19:30:00,0.0,3.0 +6022,2023-02-11 19:40:00,0.0,3.0 +6023,2023-02-11 19:50:00,0.0,3.0 +6030,2023-02-11 21:00:00,0.0,3.0 +6031,2023-02-11 21:10:00,0.0,3.0 +6032,2023-02-11 21:20:00,0.0,3.0 +6033,2023-02-11 21:30:00,0.0,3.0 +6034,2023-02-11 21:40:00,0.0,3.0 +6035,2023-02-11 21:50:00,0.0,3.0 +6042,2023-02-11 23:00:00,0.0,3.0 +6043,2023-02-11 23:10:00,0.0,3.0 +6044,2023-02-11 23:20:00,0.0,3.0 +6045,2023-02-11 23:30:00,0.0,3.0 +6046,2023-02-11 23:40:00,0.0,3.0 +6047,2023-02-11 23:50:00,0.0,3.0 +6048,2023-02-12 00:00:00,0.0,3.0 +6049,2023-02-12 00:10:00,0.0,3.0 +6050,2023-02-12 00:20:00,0.0,3.0 +6051,2023-02-12 00:30:00,0.0,3.0 +6052,2023-02-12 00:40:00,0.0,3.0 +6053,2023-02-12 00:50:00,0.0,3.0 +6060,2023-02-12 02:00:00,0.0,3.0 +6061,2023-02-12 02:10:00,0.0,3.0 +6062,2023-02-12 02:20:00,0.0,3.0 +6063,2023-02-12 02:30:00,0.0,3.0 +6064,2023-02-12 02:40:00,0.0,3.0 +6065,2023-02-12 02:50:00,0.0,3.0 +6066,2023-02-12 03:00:00,0.0,3.0 +6067,2023-02-12 03:10:00,0.0,3.0 +6068,2023-02-12 03:20:00,0.0,3.0 +6069,2023-02-12 03:30:00,0.0,3.0 +6070,2023-02-12 03:40:00,0.0,3.0 +6071,2023-02-12 03:50:00,0.0,3.0 +6078,2023-02-12 05:00:00,0.0,3.0 +6079,2023-02-12 05:10:00,0.0,3.0 +6080,2023-02-12 05:20:00,0.0,3.0 +6081,2023-02-12 05:30:00,0.0,3.0 +6082,2023-02-12 05:40:00,0.0,3.0 +6083,2023-02-12 05:50:00,0.0,3.0 +6090,2023-02-12 07:00:00,0.0,3.0 +6091,2023-02-12 07:10:00,0.0,3.0 +6092,2023-02-12 07:20:00,0.0,3.0 +6093,2023-02-12 07:30:00,0.0,3.0 +6094,2023-02-12 07:40:00,0.0,3.0 +6095,2023-02-12 07:50:00,0.0,3.0 +6132,2023-02-12 14:00:00,0.0,3.0 +6133,2023-02-12 14:10:00,0.0,3.0 +6134,2023-02-12 14:20:00,0.0,3.0 +6135,2023-02-12 14:30:00,0.0,3.0 +6136,2023-02-12 14:40:00,0.0,3.0 +6137,2023-02-12 14:50:00,0.0,3.0 +6144,2023-02-12 16:00:00,0.0,3.0 +6145,2023-02-12 16:10:00,0.0,3.0 +6146,2023-02-12 16:20:00,0.0,3.0 +6147,2023-02-12 16:30:00,0.0,3.0 +6148,2023-02-12 16:40:00,0.0,3.0 +6149,2023-02-12 16:50:00,0.0,3.0 +6174,2023-02-12 21:00:00,0.0,3.0 +6175,2023-02-12 21:10:00,0.0,3.0 +6176,2023-02-12 21:20:00,0.0,3.0 +6177,2023-02-12 21:30:00,0.0,3.0 +6178,2023-02-12 21:40:00,0.0,3.0 +6179,2023-02-12 21:50:00,0.0,3.0 +6180,2023-02-12 22:00:00,0.0,3.0 +6181,2023-02-12 22:10:00,0.0,3.0 +6182,2023-02-12 22:20:00,0.0,3.0 +6183,2023-02-12 22:30:00,0.0,3.0 +6184,2023-02-12 22:40:00,0.0,3.0 +6185,2023-02-12 22:50:00,0.0,3.0 +6186,2023-02-12 23:00:00,0.0,3.0 +6187,2023-02-12 23:10:00,0.0,3.0 +6188,2023-02-12 23:20:00,0.0,3.0 +6189,2023-02-12 23:30:00,0.0,3.0 +6190,2023-02-12 23:40:00,0.0,3.0 +6191,2023-02-12 23:50:00,0.0,3.0 +6198,2023-02-13 01:00:00,0.0,3.0 +6199,2023-02-13 01:10:00,0.0,3.0 +6200,2023-02-13 01:20:00,0.0,3.0 +6201,2023-02-13 01:30:00,0.0,3.0 +6202,2023-02-13 01:40:00,0.0,3.0 +6203,2023-02-13 01:50:00,0.0,3.0 +6204,2023-02-13 02:00:00,0.0,3.0 +6205,2023-02-13 02:10:00,0.0,3.0 +6206,2023-02-13 02:20:00,0.0,3.0 +6207,2023-02-13 02:30:00,0.0,3.0 +6208,2023-02-13 02:40:00,0.0,3.0 +6209,2023-02-13 02:50:00,0.0,3.0 +6210,2023-02-13 03:00:00,0.0,3.0 +6211,2023-02-13 03:10:00,0.0,3.0 +6212,2023-02-13 03:20:00,0.0,3.0 +6213,2023-02-13 03:30:00,0.0,3.0 +6214,2023-02-13 03:40:00,0.0,3.0 +6215,2023-02-13 03:50:00,0.0,3.0 +6216,2023-02-13 04:00:00,0.0,3.0 +6217,2023-02-13 04:10:00,0.0,3.0 +6218,2023-02-13 04:20:00,0.0,3.0 +6219,2023-02-13 04:30:00,0.0,3.0 +6220,2023-02-13 04:40:00,0.0,3.0 +6221,2023-02-13 04:50:00,0.0,3.0 +6234,2023-02-13 07:00:00,0.0,3.0 +6235,2023-02-13 07:10:00,0.0,3.0 +6236,2023-02-13 07:20:00,0.0,3.0 +6237,2023-02-13 07:30:00,0.0,3.0 +6238,2023-02-13 07:40:00,0.0,3.0 +6239,2023-02-13 07:50:00,0.0,3.0 +6240,2023-02-13 08:00:00,0.0,3.0 +6241,2023-02-13 08:10:00,0.0,3.0 +6242,2023-02-13 08:20:00,0.0,3.0 +6243,2023-02-13 08:30:00,0.0,3.0 +6244,2023-02-13 08:40:00,0.0,3.0 +6245,2023-02-13 08:50:00,0.0,3.0 +6246,2023-02-13 09:00:00,0.0,3.0 +6247,2023-02-13 09:10:00,0.0,3.0 +6248,2023-02-13 09:20:00,0.0,3.0 +6249,2023-02-13 09:30:00,0.0,3.0 +6250,2023-02-13 09:40:00,0.0,3.0 +6251,2023-02-13 09:50:00,0.0,3.0 +6258,2023-02-13 11:00:00,0.0,3.0 +6259,2023-02-13 11:10:00,0.0,3.0 +6260,2023-02-13 11:20:00,0.0,3.0 +6261,2023-02-13 11:30:00,0.0,3.0 +6262,2023-02-13 11:40:00,0.0,3.0 +6263,2023-02-13 11:50:00,0.0,3.0 +6264,2023-02-13 12:00:00,0.0,5.0 +6265,2023-02-13 12:10:00,0.0,5.0 +6266,2023-02-13 12:20:00,0.0,5.0 +6267,2023-02-13 12:30:00,0.0,5.0 +6268,2023-02-13 12:40:00,0.0,5.0 +6269,2023-02-13 12:50:00,0.0,5.0 +6270,2023-02-13 13:00:00,0.0,5.0 +6271,2023-02-13 13:10:00,0.0,5.0 +6272,2023-02-13 13:20:00,0.0,5.0 +6273,2023-02-13 13:30:00,0.0,5.0 +6274,2023-02-13 13:40:00,0.0,5.0 +6275,2023-02-13 13:50:00,0.0,5.0 +6288,2023-02-13 16:00:00,0.0,3.0 +6289,2023-02-13 16:10:00,0.0,3.0 +6290,2023-02-13 16:20:00,0.0,3.0 +6291,2023-02-13 16:30:00,0.0,3.0 +6292,2023-02-13 16:40:00,0.0,3.0 +6293,2023-02-13 16:50:00,0.0,3.0 +6294,2023-02-13 17:00:00,0.0,3.0 +6295,2023-02-13 17:10:00,0.0,3.0 +6296,2023-02-13 17:20:00,0.0,3.0 +6297,2023-02-13 17:30:00,0.0,3.0 +6298,2023-02-13 17:40:00,0.0,3.0 +6299,2023-02-13 17:50:00,0.0,3.0 +6306,2023-02-13 19:00:00,0.0,3.0 +6307,2023-02-13 19:10:00,0.0,3.0 +6308,2023-02-13 19:20:00,0.0,3.0 +6309,2023-02-13 19:30:00,0.0,3.0 +6310,2023-02-13 19:40:00,0.0,3.0 +6311,2023-02-13 19:50:00,0.0,3.0 +6312,2023-02-13 20:00:00,0.0,3.0 +6313,2023-02-13 20:10:00,0.0,3.0 +6314,2023-02-13 20:20:00,0.0,3.0 +6315,2023-02-13 20:30:00,0.0,3.0 +6316,2023-02-13 20:40:00,0.0,3.0 +6317,2023-02-13 20:50:00,0.0,3.0 +6318,2023-02-13 21:00:00,0.0,3.0 +6319,2023-02-13 21:10:00,0.0,3.0 +6320,2023-02-13 21:20:00,0.0,3.0 +6321,2023-02-13 21:30:00,0.0,3.0 +6322,2023-02-13 21:40:00,0.0,3.0 +6323,2023-02-13 21:50:00,0.0,3.0 +6324,2023-02-13 22:00:00,0.0,3.0 +6325,2023-02-13 22:10:00,0.0,3.0 +6326,2023-02-13 22:20:00,0.0,3.0 +6327,2023-02-13 22:30:00,0.0,3.0 +6328,2023-02-13 22:40:00,0.0,3.0 +6329,2023-02-13 22:50:00,0.0,3.0 +6330,2023-02-13 23:00:00,0.0,3.0 +6331,2023-02-13 23:10:00,0.0,3.0 +6332,2023-02-13 23:20:00,0.0,3.0 +6333,2023-02-13 23:30:00,0.0,3.0 +6334,2023-02-13 23:40:00,0.0,3.0 +6335,2023-02-13 23:50:00,0.0,3.0 +6342,2023-02-14 01:00:00,0.0,1.0 +6343,2023-02-14 01:10:00,0.0,1.0 +6344,2023-02-14 01:20:00,0.0,1.0 +6345,2023-02-14 01:30:00,0.0,1.0 +6346,2023-02-14 01:40:00,0.0,1.0 +6347,2023-02-14 01:50:00,0.0,1.0 +6360,2023-02-14 04:00:00,0.0,1.0 +6361,2023-02-14 04:10:00,0.0,1.0 +6362,2023-02-14 04:20:00,0.0,1.0 +6363,2023-02-14 04:30:00,0.0,1.0 +6364,2023-02-14 04:40:00,0.0,1.0 +6365,2023-02-14 04:50:00,0.0,1.0 +6372,2023-02-14 06:00:00,0.0,3.0 +6373,2023-02-14 06:10:00,0.0,3.0 +6374,2023-02-14 06:20:00,0.0,3.0 +6375,2023-02-14 06:30:00,0.0,3.0 +6376,2023-02-14 06:40:00,0.0,3.0 +6377,2023-02-14 06:50:00,0.0,3.0 +6384,2023-02-14 08:00:00,0.0,3.0 +6385,2023-02-14 08:10:00,0.0,3.0 +6386,2023-02-14 08:20:00,0.0,3.0 +6387,2023-02-14 08:30:00,0.0,3.0 +6388,2023-02-14 08:40:00,0.0,3.0 +6389,2023-02-14 08:50:00,0.0,3.0 +6396,2023-02-14 10:00:00,0.0,3.0 +6397,2023-02-14 10:10:00,0.0,3.0 +6398,2023-02-14 10:20:00,0.0,3.0 +6399,2023-02-14 10:30:00,0.0,3.0 +6400,2023-02-14 10:40:00,0.0,3.0 +6401,2023-02-14 10:50:00,0.0,3.0 +6426,2023-02-14 15:00:00,0.0,3.0 +6427,2023-02-14 15:10:00,0.0,3.0 +6428,2023-02-14 15:20:00,0.0,3.0 +6429,2023-02-14 15:30:00,0.0,3.0 +6430,2023-02-14 15:40:00,0.0,3.0 +6431,2023-02-14 15:50:00,0.0,3.0 +6432,2023-02-14 16:00:00,0.0,3.0 +6433,2023-02-14 16:10:00,0.0,3.0 +6434,2023-02-14 16:20:00,0.0,3.0 +6435,2023-02-14 16:30:00,0.0,3.0 +6436,2023-02-14 16:40:00,0.0,3.0 +6437,2023-02-14 16:50:00,0.0,3.0 +6438,2023-02-14 17:00:00,0.0,3.0 +6439,2023-02-14 17:10:00,0.0,3.0 +6440,2023-02-14 17:20:00,0.0,3.0 +6441,2023-02-14 17:30:00,0.0,3.0 +6442,2023-02-14 17:40:00,0.0,3.0 +6443,2023-02-14 17:50:00,0.0,3.0 +6450,2023-02-14 19:00:00,0.0,3.0 +6451,2023-02-14 19:10:00,0.0,3.0 +6452,2023-02-14 19:20:00,0.0,3.0 +6453,2023-02-14 19:30:00,0.0,3.0 +6454,2023-02-14 19:40:00,0.0,3.0 +6455,2023-02-14 19:50:00,0.0,3.0 +6456,2023-02-14 20:00:00,0.0,3.0 +6457,2023-02-14 20:10:00,0.0,3.0 +6458,2023-02-14 20:20:00,0.0,3.0 +6459,2023-02-14 20:30:00,0.0,3.0 +6460,2023-02-14 20:40:00,0.0,3.0 +6461,2023-02-14 20:50:00,0.0,3.0 +6462,2023-02-14 21:00:00,0.0,3.0 +6463,2023-02-14 21:10:00,0.0,3.0 +6464,2023-02-14 21:20:00,0.0,3.0 +6465,2023-02-14 21:30:00,0.0,3.0 +6466,2023-02-14 21:40:00,0.0,3.0 +6467,2023-02-14 21:50:00,0.0,3.0 +6468,2023-02-14 22:00:00,0.0,3.0 +6469,2023-02-14 22:10:00,0.0,3.0 +6470,2023-02-14 22:20:00,0.0,3.0 +6471,2023-02-14 22:30:00,0.0,3.0 +6472,2023-02-14 22:40:00,0.0,3.0 +6473,2023-02-14 22:50:00,0.0,3.0 +6474,2023-02-14 23:00:00,0.0,3.0 +6475,2023-02-14 23:10:00,0.0,3.0 +6476,2023-02-14 23:20:00,0.0,3.0 +6477,2023-02-14 23:30:00,0.0,3.0 +6478,2023-02-14 23:40:00,0.0,3.0 +6479,2023-02-14 23:50:00,0.0,3.0 +6534,2023-02-15 09:00:00,0.0,3.0 +6535,2023-02-15 09:10:00,0.0,3.0 +6536,2023-02-15 09:20:00,0.0,3.0 +6537,2023-02-15 09:30:00,0.0,3.0 +6538,2023-02-15 09:40:00,0.0,3.0 +6539,2023-02-15 09:50:00,0.0,3.0 +6546,2023-02-15 11:00:00,0.0,5.0 +6547,2023-02-15 11:10:00,0.0,5.0 +6548,2023-02-15 11:20:00,0.0,5.0 +6549,2023-02-15 11:30:00,0.0,5.0 +6550,2023-02-15 11:40:00,0.0,5.0 +6551,2023-02-15 11:50:00,0.0,5.0 +6552,2023-02-15 12:00:00,0.0,5.0 +6553,2023-02-15 12:10:00,0.0,5.0 +6554,2023-02-15 12:20:00,0.0,5.0 +6555,2023-02-15 12:30:00,0.0,5.0 +6556,2023-02-15 12:40:00,0.0,5.0 +6557,2023-02-15 12:50:00,0.0,5.0 +6570,2023-02-15 15:00:00,0.0,3.0 +6571,2023-02-15 15:10:00,0.0,3.0 +6572,2023-02-15 15:20:00,0.0,3.0 +6573,2023-02-15 15:30:00,0.0,3.0 +6574,2023-02-15 15:40:00,0.0,3.0 +6575,2023-02-15 15:50:00,0.0,3.0 +6576,2023-02-15 16:00:00,0.0,3.0 +6577,2023-02-15 16:10:00,0.0,3.0 +6578,2023-02-15 16:20:00,0.0,3.0 +6579,2023-02-15 16:30:00,0.0,3.0 +6580,2023-02-15 16:40:00,0.0,3.0 +6581,2023-02-15 16:50:00,0.0,3.0 +6582,2023-02-15 17:00:00,0.0,3.0 +6583,2023-02-15 17:10:00,0.0,3.0 +6584,2023-02-15 17:20:00,0.0,3.0 +6585,2023-02-15 17:30:00,0.0,3.0 +6586,2023-02-15 17:40:00,0.0,3.0 +6587,2023-02-15 17:50:00,0.0,3.0 +6588,2023-02-15 18:00:00,0.0,3.0 +6589,2023-02-15 18:10:00,0.0,3.0 +6590,2023-02-15 18:20:00,0.0,3.0 +6591,2023-02-15 18:30:00,0.0,3.0 +6592,2023-02-15 18:40:00,0.0,3.0 +6593,2023-02-15 18:50:00,0.0,3.0 +6594,2023-02-15 19:00:00,0.0,3.0 +6595,2023-02-15 19:10:00,0.0,3.0 +6596,2023-02-15 19:20:00,0.0,3.0 +6597,2023-02-15 19:30:00,0.0,3.0 +6598,2023-02-15 19:40:00,0.0,3.0 +6599,2023-02-15 19:50:00,0.0,3.0 +6618,2023-02-15 23:00:00,0.0,3.0 +6619,2023-02-15 23:10:00,0.0,3.0 +6620,2023-02-15 23:20:00,0.0,3.0 +6621,2023-02-15 23:30:00,0.0,3.0 +6622,2023-02-15 23:40:00,0.0,3.0 +6623,2023-02-15 23:50:00,0.0,3.0 +6624,2023-02-16 00:00:00,0.0,3.0 +6625,2023-02-16 00:10:00,0.0,3.0 +6626,2023-02-16 00:20:00,0.0,3.0 +6627,2023-02-16 00:30:00,0.0,3.0 +6628,2023-02-16 00:40:00,0.0,3.0 +6629,2023-02-16 00:50:00,0.0,3.0 +6636,2023-02-16 02:00:00,0.0,4.0 +6637,2023-02-16 02:10:00,0.0,4.0 +6638,2023-02-16 02:20:00,0.0,4.0 +6639,2023-02-16 02:30:00,0.0,4.0 +6640,2023-02-16 02:40:00,0.0,4.0 +6641,2023-02-16 02:50:00,0.0,4.0 +6642,2023-02-16 03:00:00,0.0,3.0 +6643,2023-02-16 03:10:00,0.0,3.0 +6644,2023-02-16 03:20:00,0.0,3.0 +6645,2023-02-16 03:30:00,0.0,3.0 +6646,2023-02-16 03:40:00,0.0,3.0 +6647,2023-02-16 03:50:00,0.0,3.0 +6654,2023-02-16 05:00:00,0.0,3.0 +6655,2023-02-16 05:10:00,0.0,3.0 +6656,2023-02-16 05:20:00,0.0,3.0 +6657,2023-02-16 05:30:00,0.0,3.0 +6658,2023-02-16 05:40:00,0.0,3.0 +6659,2023-02-16 05:50:00,0.0,3.0 +6660,2023-02-16 06:00:00,0.0,3.0 +6661,2023-02-16 06:10:00,0.0,3.0 +6662,2023-02-16 06:20:00,0.0,3.0 +6663,2023-02-16 06:30:00,0.0,3.0 +6664,2023-02-16 06:40:00,0.0,3.0 +6665,2023-02-16 06:50:00,0.0,3.0 +6672,2023-02-16 08:00:00,0.0,4.0 +6673,2023-02-16 08:10:00,0.0,4.0 +6674,2023-02-16 08:20:00,0.0,4.0 +6675,2023-02-16 08:30:00,0.0,4.0 +6676,2023-02-16 08:40:00,0.0,4.0 +6677,2023-02-16 08:50:00,0.0,4.0 +6678,2023-02-16 09:00:00,0.0,4.0 +6679,2023-02-16 09:10:00,0.0,4.0 +6680,2023-02-16 09:20:00,0.0,4.0 +6681,2023-02-16 09:30:00,0.0,4.0 +6682,2023-02-16 09:40:00,0.0,4.0 +6683,2023-02-16 09:50:00,0.0,4.0 +6714,2023-02-16 15:00:00,0.0,4.0 +6715,2023-02-16 15:10:00,0.0,4.0 +6716,2023-02-16 15:20:00,0.0,4.0 +6717,2023-02-16 15:30:00,0.0,4.0 +6718,2023-02-16 15:40:00,0.0,4.0 +6719,2023-02-16 15:50:00,0.0,4.0 +6732,2023-02-16 18:00:00,0.0,4.0 +6733,2023-02-16 18:10:00,0.0,4.0 +6734,2023-02-16 18:20:00,0.0,4.0 +6735,2023-02-16 18:30:00,0.0,4.0 +6736,2023-02-16 18:40:00,0.0,4.0 +6737,2023-02-16 18:50:00,0.0,4.0 +6738,2023-02-16 19:00:00,0.0,4.0 +6739,2023-02-16 19:10:00,0.0,4.0 +6740,2023-02-16 19:20:00,0.0,4.0 +6741,2023-02-16 19:30:00,0.0,4.0 +6742,2023-02-16 19:40:00,0.0,4.0 +6743,2023-02-16 19:50:00,0.0,4.0 +6744,2023-02-16 20:00:00,0.0,4.0 +6745,2023-02-16 20:10:00,0.0,4.0 +6746,2023-02-16 20:20:00,0.0,4.0 +6747,2023-02-16 20:30:00,0.0,4.0 +6748,2023-02-16 20:40:00,0.0,4.0 +6749,2023-02-16 20:50:00,0.0,4.0 +6750,2023-02-16 21:00:00,0.0,4.0 +6751,2023-02-16 21:10:00,0.0,4.0 +6752,2023-02-16 21:20:00,0.0,4.0 +6753,2023-02-16 21:30:00,0.0,4.0 +6754,2023-02-16 21:40:00,0.0,4.0 +6755,2023-02-16 21:50:00,0.0,4.0 +6756,2023-02-16 22:00:00,0.0,4.0 +6757,2023-02-16 22:10:00,0.0,4.0 +6758,2023-02-16 22:20:00,0.0,4.0 +6759,2023-02-16 22:30:00,0.0,4.0 +6760,2023-02-16 22:40:00,0.0,4.0 +6761,2023-02-16 22:50:00,0.0,4.0 +6768,2023-02-17 00:00:00,0.0,5.0 +6769,2023-02-17 00:10:00,0.0,5.0 +6770,2023-02-17 00:20:00,0.0,5.0 +6771,2023-02-17 00:30:00,0.0,5.0 +6772,2023-02-17 00:40:00,0.0,5.0 +6773,2023-02-17 00:50:00,0.0,5.0 +6774,2023-02-17 01:00:00,0.0,3.0 +6775,2023-02-17 01:10:00,0.0,3.0 +6776,2023-02-17 01:20:00,0.0,3.0 +6777,2023-02-17 01:30:00,0.0,3.0 +6778,2023-02-17 01:40:00,0.0,3.0 +6779,2023-02-17 01:50:00,0.0,3.0 +6792,2023-02-17 04:00:00,0.0,3.0 +6793,2023-02-17 04:10:00,0.0,3.0 +6794,2023-02-17 04:20:00,0.0,3.0 +6795,2023-02-17 04:30:00,0.0,3.0 +6796,2023-02-17 04:40:00,0.0,3.0 +6797,2023-02-17 04:50:00,0.0,3.0 +6798,2023-02-17 05:00:00,0.0,4.0 +6799,2023-02-17 05:10:00,0.0,4.0 +6800,2023-02-17 05:20:00,0.0,4.0 +6801,2023-02-17 05:30:00,0.0,4.0 +6802,2023-02-17 05:40:00,0.0,4.0 +6803,2023-02-17 05:50:00,0.0,4.0 +6822,2023-02-17 09:00:00,0.0,5.0 +6823,2023-02-17 09:10:00,0.0,5.0 +6824,2023-02-17 09:20:00,0.0,5.0 +6825,2023-02-17 09:30:00,0.0,5.0 +6826,2023-02-17 09:40:00,0.0,5.0 +6827,2023-02-17 09:50:00,0.0,5.0 +6828,2023-02-17 10:00:00,0.0,5.0 +6829,2023-02-17 10:10:00,0.0,5.0 +6830,2023-02-17 10:20:00,0.0,5.0 +6831,2023-02-17 10:30:00,0.0,5.0 +6832,2023-02-17 10:40:00,0.0,5.0 +6833,2023-02-17 10:50:00,0.0,5.0 +6834,2023-02-17 11:00:00,0.0,5.0 +6835,2023-02-17 11:10:00,0.0,5.0 +6836,2023-02-17 11:20:00,0.0,5.0 +6837,2023-02-17 11:30:00,0.0,5.0 +6838,2023-02-17 11:40:00,0.0,5.0 +6839,2023-02-17 11:50:00,0.0,5.0 +6852,2023-02-17 14:00:00,0.0,5.0 +6853,2023-02-17 14:10:00,0.0,5.0 +6854,2023-02-17 14:20:00,0.0,5.0 +6855,2023-02-17 14:30:00,0.0,5.0 +6856,2023-02-17 14:40:00,0.0,5.0 +6857,2023-02-17 14:50:00,0.0,5.0 +6858,2023-02-17 15:00:00,0.0,5.0 +6859,2023-02-17 15:10:00,0.0,5.0 +6860,2023-02-17 15:20:00,0.0,5.0 +6861,2023-02-17 15:30:00,0.0,5.0 +6862,2023-02-17 15:40:00,0.0,5.0 +6863,2023-02-17 15:50:00,0.0,5.0 +6864,2023-02-17 16:00:00,0.0,3.0 +6865,2023-02-17 16:10:00,0.0,3.0 +6866,2023-02-17 16:20:00,0.0,3.0 +6867,2023-02-17 16:30:00,0.0,3.0 +6868,2023-02-17 16:40:00,0.0,3.0 +6869,2023-02-17 16:50:00,0.0,3.0 +6870,2023-02-17 17:00:00,0.0,5.0 +6871,2023-02-17 17:10:00,0.0,5.0 +6872,2023-02-17 17:20:00,0.0,5.0 +6873,2023-02-17 17:30:00,0.0,5.0 +6874,2023-02-17 17:40:00,0.0,5.0 +6875,2023-02-17 17:50:00,0.0,5.0 +6876,2023-02-17 18:00:00,0.0,3.0 +6877,2023-02-17 18:10:00,0.0,3.0 +6878,2023-02-17 18:20:00,0.0,3.0 +6879,2023-02-17 18:30:00,0.0,3.0 +6880,2023-02-17 18:40:00,0.0,3.0 +6881,2023-02-17 18:50:00,0.0,3.0 +6888,2023-02-17 20:00:00,0.0,5.0 +6889,2023-02-17 20:10:00,0.0,5.0 +6890,2023-02-17 20:20:00,0.0,5.0 +6891,2023-02-17 20:30:00,0.0,5.0 +6892,2023-02-17 20:40:00,0.0,5.0 +6893,2023-02-17 20:50:00,0.0,5.0 +6894,2023-02-17 21:00:00,0.0,3.0 +6895,2023-02-17 21:10:00,0.0,3.0 +6896,2023-02-17 21:20:00,0.0,3.0 +6897,2023-02-17 21:30:00,0.0,3.0 +6898,2023-02-17 21:40:00,0.0,3.0 +6899,2023-02-17 21:50:00,0.0,3.0 +6900,2023-02-17 22:00:00,0.0,3.0 +6901,2023-02-17 22:10:00,0.0,3.0 +6902,2023-02-17 22:20:00,0.0,3.0 +6903,2023-02-17 22:30:00,0.0,3.0 +6904,2023-02-17 22:40:00,0.0,3.0 +6905,2023-02-17 22:50:00,0.0,3.0 +6906,2023-02-17 23:00:00,0.0,3.0 +6907,2023-02-17 23:10:00,0.0,3.0 +6908,2023-02-17 23:20:00,0.0,3.0 +6909,2023-02-17 23:30:00,0.0,3.0 +6910,2023-02-17 23:40:00,0.0,3.0 +6911,2023-02-17 23:50:00,0.0,3.0 +6912,2023-02-18 00:00:00,0.0,3.0 +6913,2023-02-18 00:10:00,0.0,3.0 +6914,2023-02-18 00:20:00,0.0,3.0 +6915,2023-02-18 00:30:00,0.0,3.0 +6916,2023-02-18 00:40:00,0.0,3.0 +6917,2023-02-18 00:50:00,0.0,3.0 +6942,2023-02-18 05:00:00,0.0,6.0 +6943,2023-02-18 05:10:00,0.0,6.0 +6944,2023-02-18 05:20:00,0.0,6.0 +6945,2023-02-18 05:30:00,0.0,6.0 +6946,2023-02-18 05:40:00,0.0,6.0 +6947,2023-02-18 05:50:00,0.0,6.0 +6966,2023-02-18 09:00:00,0.0,4.0 +6967,2023-02-18 09:10:00,0.0,4.0 +6968,2023-02-18 09:20:00,0.0,4.0 +6969,2023-02-18 09:30:00,0.0,4.0 +6970,2023-02-18 09:40:00,0.0,4.0 +6971,2023-02-18 09:50:00,0.0,4.0 +6978,2023-02-18 11:00:00,0.0,5.0 +6979,2023-02-18 11:10:00,0.0,5.0 +6980,2023-02-18 11:20:00,0.0,5.0 +6981,2023-02-18 11:30:00,0.0,5.0 +6982,2023-02-18 11:40:00,0.0,5.0 +6983,2023-02-18 11:50:00,0.0,5.0 +6990,2023-02-18 13:00:00,0.0,5.0 +6991,2023-02-18 13:10:00,0.0,5.0 +6992,2023-02-18 13:20:00,0.0,5.0 +6993,2023-02-18 13:30:00,0.0,5.0 +6994,2023-02-18 13:40:00,0.0,5.0 +6995,2023-02-18 13:50:00,0.0,5.0 +7002,2023-02-18 15:00:00,0.0,5.0 +7003,2023-02-18 15:10:00,0.0,5.0 +7004,2023-02-18 15:20:00,0.0,5.0 +7005,2023-02-18 15:30:00,0.0,5.0 +7006,2023-02-18 15:40:00,0.0,5.0 +7007,2023-02-18 15:50:00,0.0,5.0 +7008,2023-02-18 16:00:00,0.0,5.0 +7009,2023-02-18 16:10:00,0.0,5.0 +7010,2023-02-18 16:20:00,0.0,5.0 +7011,2023-02-18 16:30:00,0.0,5.0 +7012,2023-02-18 16:40:00,0.0,5.0 +7013,2023-02-18 16:50:00,0.0,5.0 +7020,2023-02-18 18:00:00,0.0,4.0 +7021,2023-02-18 18:10:00,0.0,4.0 +7022,2023-02-18 18:20:00,0.0,4.0 +7023,2023-02-18 18:30:00,0.0,4.0 +7024,2023-02-18 18:40:00,0.0,4.0 +7025,2023-02-18 18:50:00,0.0,4.0 +7026,2023-02-18 19:00:00,0.0,4.0 +7027,2023-02-18 19:10:00,0.0,4.0 +7028,2023-02-18 19:20:00,0.0,4.0 +7029,2023-02-18 19:30:00,0.0,4.0 +7030,2023-02-18 19:40:00,0.0,4.0 +7031,2023-02-18 19:50:00,0.0,4.0 +7038,2023-02-18 21:00:00,0.0,3.0 +7039,2023-02-18 21:10:00,0.0,3.0 +7040,2023-02-18 21:20:00,0.0,3.0 +7041,2023-02-18 21:30:00,0.0,3.0 +7042,2023-02-18 21:40:00,0.0,3.0 +7043,2023-02-18 21:50:00,0.0,3.0 +7044,2023-02-18 22:00:00,0.0,4.0 +7045,2023-02-18 22:10:00,0.0,4.0 +7046,2023-02-18 22:20:00,0.0,4.0 +7047,2023-02-18 22:30:00,0.0,4.0 +7048,2023-02-18 22:40:00,0.0,4.0 +7049,2023-02-18 22:50:00,0.0,4.0 +7050,2023-02-18 23:00:00,0.0,4.0 +7051,2023-02-18 23:10:00,0.0,4.0 +7052,2023-02-18 23:20:00,0.0,4.0 +7053,2023-02-18 23:30:00,0.0,4.0 +7054,2023-02-18 23:40:00,0.0,4.0 +7055,2023-02-18 23:50:00,0.0,4.0 +7056,2023-02-19 00:00:00,0.0,6.0 +7057,2023-02-19 00:10:00,0.0,6.0 +7058,2023-02-19 00:20:00,0.0,6.0 +7059,2023-02-19 00:30:00,0.0,6.0 +7060,2023-02-19 00:40:00,0.0,6.0 +7061,2023-02-19 00:50:00,0.0,6.0 +7062,2023-02-19 01:00:00,0.0,4.0 +7063,2023-02-19 01:10:00,0.0,4.0 +7064,2023-02-19 01:20:00,0.0,4.0 +7065,2023-02-19 01:30:00,0.0,4.0 +7066,2023-02-19 01:40:00,0.0,4.0 +7067,2023-02-19 01:50:00,0.0,4.0 +7068,2023-02-19 02:00:00,0.0,4.0 +7069,2023-02-19 02:10:00,0.0,4.0 +7070,2023-02-19 02:20:00,0.0,4.0 +7071,2023-02-19 02:30:00,0.0,4.0 +7072,2023-02-19 02:40:00,0.0,4.0 +7073,2023-02-19 02:50:00,0.0,4.0 +7074,2023-02-19 03:00:00,0.0,3.0 +7075,2023-02-19 03:10:00,0.0,3.0 +7076,2023-02-19 03:20:00,0.0,3.0 +7077,2023-02-19 03:30:00,0.0,3.0 +7078,2023-02-19 03:40:00,0.0,3.0 +7079,2023-02-19 03:50:00,0.0,3.0 +7098,2023-02-19 07:00:00,0.0,4.0 +7099,2023-02-19 07:10:00,0.0,4.0 +7100,2023-02-19 07:20:00,0.0,4.0 +7101,2023-02-19 07:30:00,0.0,4.0 +7102,2023-02-19 07:40:00,0.0,4.0 +7103,2023-02-19 07:50:00,0.0,4.0 +7110,2023-02-19 09:00:00,0.0,3.0 +7111,2023-02-19 09:10:00,0.0,3.0 +7112,2023-02-19 09:20:00,0.0,3.0 +7113,2023-02-19 09:30:00,0.0,3.0 +7114,2023-02-19 09:40:00,0.0,3.0 +7115,2023-02-19 09:50:00,0.0,3.0 +7122,2023-02-19 11:00:00,0.0,4.0 +7123,2023-02-19 11:10:00,0.0,4.0 +7124,2023-02-19 11:20:00,0.0,4.0 +7125,2023-02-19 11:30:00,0.0,4.0 +7126,2023-02-19 11:40:00,0.0,4.0 +7127,2023-02-19 11:50:00,0.0,4.0 +7134,2023-02-19 13:00:00,0.0,3.0 +7135,2023-02-19 13:10:00,0.0,3.0 +7136,2023-02-19 13:20:00,0.0,3.0 +7137,2023-02-19 13:30:00,0.0,3.0 +7138,2023-02-19 13:40:00,0.0,3.0 +7139,2023-02-19 13:50:00,0.0,3.0 +7140,2023-02-19 14:00:00,0.0,3.0 +7141,2023-02-19 14:10:00,0.0,3.0 +7142,2023-02-19 14:20:00,0.0,3.0 +7143,2023-02-19 14:30:00,0.0,3.0 +7144,2023-02-19 14:40:00,0.0,3.0 +7145,2023-02-19 14:50:00,0.0,3.0 +7152,2023-02-19 16:00:00,0.0,3.0 +7153,2023-02-19 16:10:00,0.0,3.0 +7154,2023-02-19 16:20:00,0.0,3.0 +7155,2023-02-19 16:30:00,0.0,3.0 +7156,2023-02-19 16:40:00,0.0,3.0 +7157,2023-02-19 16:50:00,0.0,3.0 +7164,2023-02-19 18:00:00,0.0,3.0 +7165,2023-02-19 18:10:00,0.0,3.0 +7166,2023-02-19 18:20:00,0.0,3.0 +7167,2023-02-19 18:30:00,0.0,3.0 +7168,2023-02-19 18:40:00,0.0,3.0 +7169,2023-02-19 18:50:00,0.0,3.0 +7176,2023-02-19 20:00:00,0.0,3.0 +7177,2023-02-19 20:10:00,0.0,3.0 +7178,2023-02-19 20:20:00,0.0,3.0 +7179,2023-02-19 20:30:00,0.0,3.0 +7180,2023-02-19 20:40:00,0.0,3.0 +7181,2023-02-19 20:50:00,0.0,3.0 +7188,2023-02-19 22:00:00,0.0,3.0 +7189,2023-02-19 22:10:00,0.0,3.0 +7190,2023-02-19 22:20:00,0.0,3.0 +7191,2023-02-19 22:30:00,0.0,3.0 +7192,2023-02-19 22:40:00,0.0,3.0 +7193,2023-02-19 22:50:00,0.0,3.0 +7194,2023-02-19 23:00:00,0.0,3.0 +7195,2023-02-19 23:10:00,0.0,3.0 +7196,2023-02-19 23:20:00,0.0,3.0 +7197,2023-02-19 23:30:00,0.0,3.0 +7198,2023-02-19 23:40:00,0.0,3.0 +7199,2023-02-19 23:50:00,0.0,3.0 +7206,2023-02-20 01:00:00,0.0,3.0 +7207,2023-02-20 01:10:00,0.0,3.0 +7208,2023-02-20 01:20:00,0.0,3.0 +7209,2023-02-20 01:30:00,0.0,3.0 +7210,2023-02-20 01:40:00,0.0,3.0 +7211,2023-02-20 01:50:00,0.0,3.0 +7212,2023-02-20 02:00:00,0.0,3.0 +7213,2023-02-20 02:10:00,0.0,3.0 +7214,2023-02-20 02:20:00,0.0,3.0 +7215,2023-02-20 02:30:00,0.0,3.0 +7216,2023-02-20 02:40:00,0.0,3.0 +7217,2023-02-20 02:50:00,0.0,3.0 +7218,2023-02-20 03:00:00,0.0,3.0 +7219,2023-02-20 03:10:00,0.0,3.0 +7220,2023-02-20 03:20:00,0.0,3.0 +7221,2023-02-20 03:30:00,0.0,3.0 +7222,2023-02-20 03:40:00,0.0,3.0 +7223,2023-02-20 03:50:00,0.0,3.0 +7242,2023-02-20 07:00:00,0.0,3.0 +7243,2023-02-20 07:10:00,0.0,3.0 +7244,2023-02-20 07:20:00,0.0,3.0 +7245,2023-02-20 07:30:00,0.0,3.0 +7246,2023-02-20 07:40:00,0.0,3.0 +7247,2023-02-20 07:50:00,0.0,3.0 +7248,2023-02-20 08:00:00,0.0,3.0 +7249,2023-02-20 08:10:00,0.0,3.0 +7250,2023-02-20 08:20:00,0.0,3.0 +7251,2023-02-20 08:30:00,0.0,3.0 +7252,2023-02-20 08:40:00,0.0,3.0 +7253,2023-02-20 08:50:00,0.0,3.0 +7254,2023-02-20 09:00:00,0.0,3.0 +7255,2023-02-20 09:10:00,0.0,3.0 +7256,2023-02-20 09:20:00,0.0,3.0 +7257,2023-02-20 09:30:00,0.0,3.0 +7258,2023-02-20 09:40:00,0.0,3.0 +7259,2023-02-20 09:50:00,0.0,3.0 +7260,2023-02-20 10:00:00,0.0,3.0 +7261,2023-02-20 10:10:00,0.0,3.0 +7262,2023-02-20 10:20:00,0.0,3.0 +7263,2023-02-20 10:30:00,0.0,3.0 +7264,2023-02-20 10:40:00,0.0,3.0 +7265,2023-02-20 10:50:00,0.0,3.0 +7272,2023-02-20 12:00:00,0.0,3.0 +7273,2023-02-20 12:10:00,0.0,3.0 +7274,2023-02-20 12:20:00,0.0,3.0 +7275,2023-02-20 12:30:00,0.0,3.0 +7276,2023-02-20 12:40:00,0.0,3.0 +7277,2023-02-20 12:50:00,0.0,3.0 +7290,2023-02-20 15:00:00,0.0,3.0 +7291,2023-02-20 15:10:00,0.0,3.0 +7292,2023-02-20 15:20:00,0.0,3.0 +7293,2023-02-20 15:30:00,0.0,3.0 +7294,2023-02-20 15:40:00,0.0,3.0 +7295,2023-02-20 15:50:00,0.0,3.0 +7296,2023-02-20 16:00:00,0.0,3.0 +7297,2023-02-20 16:10:00,0.0,3.0 +7298,2023-02-20 16:20:00,0.0,3.0 +7299,2023-02-20 16:30:00,0.0,3.0 +7300,2023-02-20 16:40:00,0.0,3.0 +7301,2023-02-20 16:50:00,0.0,3.0 +7326,2023-02-20 21:00:00,0.0,3.0 +7327,2023-02-20 21:10:00,0.0,3.0 +7328,2023-02-20 21:20:00,0.0,3.0 +7329,2023-02-20 21:30:00,0.0,3.0 +7330,2023-02-20 21:40:00,0.0,3.0 +7331,2023-02-20 21:50:00,0.0,3.0 +7332,2023-02-20 22:00:00,0.0,3.0 +7333,2023-02-20 22:10:00,0.0,3.0 +7334,2023-02-20 22:20:00,0.0,3.0 +7335,2023-02-20 22:30:00,0.0,3.0 +7336,2023-02-20 22:40:00,0.0,3.0 +7337,2023-02-20 22:50:00,0.0,3.0 +7344,2023-02-21 00:00:00,0.0,3.0 +7345,2023-02-21 00:10:00,0.0,3.0 +7346,2023-02-21 00:20:00,0.0,3.0 +7347,2023-02-21 00:30:00,0.0,3.0 +7348,2023-02-21 00:40:00,0.0,3.0 +7349,2023-02-21 00:50:00,0.0,3.0 +7356,2023-02-21 02:00:00,0.0,3.0 +7357,2023-02-21 02:10:00,0.0,3.0 +7358,2023-02-21 02:20:00,0.0,3.0 +7359,2023-02-21 02:30:00,0.0,3.0 +7360,2023-02-21 02:40:00,0.0,3.0 +7361,2023-02-21 02:50:00,0.0,3.0 +7362,2023-02-21 03:00:00,0.0,3.0 +7363,2023-02-21 03:10:00,0.0,3.0 +7364,2023-02-21 03:20:00,0.0,3.0 +7365,2023-02-21 03:30:00,0.0,3.0 +7366,2023-02-21 03:40:00,0.0,3.0 +7367,2023-02-21 03:50:00,0.0,3.0 +7368,2023-02-21 04:00:00,0.0,3.0 +7369,2023-02-21 04:10:00,0.0,3.0 +7370,2023-02-21 04:20:00,0.0,3.0 +7371,2023-02-21 04:30:00,0.0,3.0 +7372,2023-02-21 04:40:00,0.0,3.0 +7373,2023-02-21 04:50:00,0.0,3.0 +7380,2023-02-21 06:00:00,0.0,3.0 +7381,2023-02-21 06:10:00,0.0,3.0 +7382,2023-02-21 06:20:00,0.0,3.0 +7383,2023-02-21 06:30:00,0.0,3.0 +7384,2023-02-21 06:40:00,0.0,3.0 +7385,2023-02-21 06:50:00,0.0,3.0 +7416,2023-02-21 12:00:00,0.0,3.0 +7417,2023-02-21 12:10:00,0.0,3.0 +7418,2023-02-21 12:20:00,0.0,3.0 +7419,2023-02-21 12:30:00,0.0,3.0 +7420,2023-02-21 12:40:00,0.0,3.0 +7421,2023-02-21 12:50:00,0.0,3.0 +7422,2023-02-21 13:00:00,0.0,3.0 +7423,2023-02-21 13:10:00,0.0,3.0 +7424,2023-02-21 13:20:00,0.0,3.0 +7425,2023-02-21 13:30:00,0.0,3.0 +7426,2023-02-21 13:40:00,0.0,3.0 +7427,2023-02-21 13:50:00,0.0,3.0 +7434,2023-02-21 15:00:00,0.0,3.0 +7435,2023-02-21 15:10:00,0.0,3.0 +7436,2023-02-21 15:20:00,0.0,3.0 +7437,2023-02-21 15:30:00,0.0,3.0 +7438,2023-02-21 15:40:00,0.0,3.0 +7439,2023-02-21 15:50:00,0.0,3.0 +7440,2023-02-21 16:00:00,0.0,3.0 +7441,2023-02-21 16:10:00,0.0,3.0 +7442,2023-02-21 16:20:00,0.0,3.0 +7443,2023-02-21 16:30:00,0.0,3.0 +7444,2023-02-21 16:40:00,0.0,3.0 +7445,2023-02-21 16:50:00,0.0,3.0 +7446,2023-02-21 17:00:00,0.0,4.0 +7447,2023-02-21 17:10:00,0.0,4.0 +7448,2023-02-21 17:20:00,0.0,4.0 +7449,2023-02-21 17:30:00,0.0,4.0 +7450,2023-02-21 17:40:00,0.0,4.0 +7451,2023-02-21 17:50:00,0.0,4.0 +7464,2023-02-21 20:00:00,0.0,3.0 +7465,2023-02-21 20:10:00,0.0,3.0 +7466,2023-02-21 20:20:00,0.0,3.0 +7467,2023-02-21 20:30:00,0.0,3.0 +7468,2023-02-21 20:40:00,0.0,3.0 +7469,2023-02-21 20:50:00,0.0,3.0 +7488,2023-02-22 00:00:00,0.0,3.0 +7489,2023-02-22 00:10:00,0.0,3.0 +7490,2023-02-22 00:20:00,0.0,3.0 +7491,2023-02-22 00:30:00,0.0,3.0 +7492,2023-02-22 00:40:00,0.0,3.0 +7493,2023-02-22 00:50:00,0.0,3.0 +7524,2023-02-22 06:00:00,0.0,3.0 +7525,2023-02-22 06:10:00,0.0,3.0 +7526,2023-02-22 06:20:00,0.0,3.0 +7527,2023-02-22 06:30:00,0.0,3.0 +7528,2023-02-22 06:40:00,0.0,3.0 +7529,2023-02-22 06:50:00,0.0,3.0 +7542,2023-02-22 09:00:00,0.0,3.0 +7543,2023-02-22 09:10:00,0.0,3.0 +7544,2023-02-22 09:20:00,0.0,3.0 +7545,2023-02-22 09:30:00,0.0,3.0 +7546,2023-02-22 09:40:00,0.0,3.0 +7547,2023-02-22 09:50:00,0.0,3.0 +7548,2023-02-22 10:00:00,0.0,3.0 +7549,2023-02-22 10:10:00,0.0,3.0 +7550,2023-02-22 10:20:00,0.0,3.0 +7551,2023-02-22 10:30:00,0.0,3.0 +7552,2023-02-22 10:40:00,0.0,3.0 +7553,2023-02-22 10:50:00,0.0,3.0 +7566,2023-02-22 13:00:00,0.0,3.0 +7567,2023-02-22 13:10:00,0.0,3.0 +7568,2023-02-22 13:20:00,0.0,3.0 +7569,2023-02-22 13:30:00,0.0,3.0 +7570,2023-02-22 13:40:00,0.0,3.0 +7571,2023-02-22 13:50:00,0.0,3.0 +7596,2023-02-22 18:00:00,0.0,4.0 +7597,2023-02-22 18:10:00,0.0,4.0 +7598,2023-02-22 18:20:00,0.0,4.0 +7599,2023-02-22 18:30:00,0.0,4.0 +7600,2023-02-22 18:40:00,0.0,4.0 +7601,2023-02-22 18:50:00,0.0,4.0 +7602,2023-02-22 19:00:00,0.0,3.0 +7603,2023-02-22 19:10:00,0.0,3.0 +7604,2023-02-22 19:20:00,0.0,3.0 +7605,2023-02-22 19:30:00,0.0,3.0 +7606,2023-02-22 19:40:00,0.0,3.0 +7607,2023-02-22 19:50:00,0.0,3.0 +7614,2023-02-22 21:00:00,0.0,3.0 +7615,2023-02-22 21:10:00,0.0,3.0 +7616,2023-02-22 21:20:00,0.0,3.0 +7617,2023-02-22 21:30:00,0.0,3.0 +7618,2023-02-22 21:40:00,0.0,3.0 +7619,2023-02-22 21:50:00,0.0,3.0 +7650,2023-02-23 03:00:00,0.0,4.0 +7651,2023-02-23 03:10:00,0.0,4.0 +7652,2023-02-23 03:20:00,0.0,4.0 +7653,2023-02-23 03:30:00,0.0,4.0 +7654,2023-02-23 03:40:00,0.0,4.0 +7655,2023-02-23 03:50:00,0.0,4.0 +7662,2023-02-23 05:00:00,0.0,3.0 +7663,2023-02-23 05:10:00,0.0,3.0 +7664,2023-02-23 05:20:00,0.0,3.0 +7665,2023-02-23 05:30:00,0.0,3.0 +7666,2023-02-23 05:40:00,0.0,3.0 +7667,2023-02-23 05:50:00,0.0,3.0 +7668,2023-02-23 06:00:00,0.0,3.0 +7669,2023-02-23 06:10:00,0.0,3.0 +7670,2023-02-23 06:20:00,0.0,3.0 +7671,2023-02-23 06:30:00,0.0,3.0 +7672,2023-02-23 06:40:00,0.0,3.0 +7673,2023-02-23 06:50:00,0.0,3.0 +7674,2023-02-23 07:00:00,0.0,3.0 +7675,2023-02-23 07:10:00,0.0,3.0 +7676,2023-02-23 07:20:00,0.0,3.0 +7677,2023-02-23 07:30:00,0.0,3.0 +7678,2023-02-23 07:40:00,0.0,3.0 +7679,2023-02-23 07:50:00,0.0,3.0 +7680,2023-02-23 08:00:00,0.0,4.0 +7681,2023-02-23 08:10:00,0.0,4.0 +7682,2023-02-23 08:20:00,0.0,4.0 +7683,2023-02-23 08:30:00,0.0,4.0 +7684,2023-02-23 08:40:00,0.0,4.0 +7685,2023-02-23 08:50:00,0.0,4.0 +7698,2023-02-23 11:00:00,0.0,3.0 +7699,2023-02-23 11:10:00,0.0,3.0 +7700,2023-02-23 11:20:00,0.0,3.0 +7701,2023-02-23 11:30:00,0.0,3.0 +7702,2023-02-23 11:40:00,0.0,3.0 +7703,2023-02-23 11:50:00,0.0,3.0 +7710,2023-02-23 13:00:00,0.0,3.0 +7711,2023-02-23 13:10:00,0.0,3.0 +7712,2023-02-23 13:20:00,0.0,3.0 +7713,2023-02-23 13:30:00,0.0,3.0 +7714,2023-02-23 13:40:00,0.0,3.0 +7715,2023-02-23 13:50:00,0.0,3.0 +7716,2023-02-23 14:00:00,0.0,3.0 +7717,2023-02-23 14:10:00,0.0,3.0 +7718,2023-02-23 14:20:00,0.0,3.0 +7719,2023-02-23 14:30:00,0.0,3.0 +7720,2023-02-23 14:40:00,0.0,3.0 +7721,2023-02-23 14:50:00,0.0,3.0 +7722,2023-02-23 15:00:00,0.0,3.0 +7723,2023-02-23 15:10:00,0.0,3.0 +7724,2023-02-23 15:20:00,0.0,3.0 +7725,2023-02-23 15:30:00,0.0,3.0 +7726,2023-02-23 15:40:00,0.0,3.0 +7727,2023-02-23 15:50:00,0.0,3.0 +7746,2023-02-23 19:00:00,0.0,4.0 +7747,2023-02-23 19:10:00,0.0,4.0 +7748,2023-02-23 19:20:00,0.0,4.0 +7749,2023-02-23 19:30:00,0.0,4.0 +7750,2023-02-23 19:40:00,0.0,4.0 +7751,2023-02-23 19:50:00,0.0,4.0 +7752,2023-02-23 20:00:00,0.0,4.0 +7753,2023-02-23 20:10:00,0.0,4.0 +7754,2023-02-23 20:20:00,0.0,4.0 +7755,2023-02-23 20:30:00,0.0,4.0 +7756,2023-02-23 20:40:00,0.0,4.0 +7757,2023-02-23 20:50:00,0.0,4.0 +7758,2023-02-23 21:00:00,0.0,3.0 +7759,2023-02-23 21:10:00,0.0,3.0 +7760,2023-02-23 21:20:00,0.0,3.0 +7761,2023-02-23 21:30:00,0.0,3.0 +7762,2023-02-23 21:40:00,0.0,3.0 +7763,2023-02-23 21:50:00,0.0,3.0 +7770,2023-02-23 23:00:00,0.0,3.0 +7771,2023-02-23 23:10:00,0.0,3.0 +7772,2023-02-23 23:20:00,0.0,3.0 +7773,2023-02-23 23:30:00,0.0,3.0 +7774,2023-02-23 23:40:00,0.0,3.0 +7775,2023-02-23 23:50:00,0.0,3.0 +7782,2023-02-24 01:00:00,0.0,1.0 +7783,2023-02-24 01:10:00,0.0,1.0 +7784,2023-02-24 01:20:00,0.0,1.0 +7785,2023-02-24 01:30:00,0.0,1.0 +7786,2023-02-24 01:40:00,0.0,1.0 +7787,2023-02-24 01:50:00,0.0,1.0 +7794,2023-02-24 03:00:00,0.0,3.0 +7795,2023-02-24 03:10:00,0.0,3.0 +7796,2023-02-24 03:20:00,0.0,3.0 +7797,2023-02-24 03:30:00,0.0,3.0 +7798,2023-02-24 03:40:00,0.0,3.0 +7799,2023-02-24 03:50:00,0.0,3.0 +7818,2023-02-24 07:00:00,0.0,4.0 +7819,2023-02-24 07:10:00,0.0,4.0 +7820,2023-02-24 07:20:00,0.0,4.0 +7821,2023-02-24 07:30:00,0.0,4.0 +7822,2023-02-24 07:40:00,0.0,4.0 +7823,2023-02-24 07:50:00,0.0,4.0 +7848,2023-02-24 12:00:00,0.0,4.0 +7849,2023-02-24 12:10:00,0.0,4.0 +7850,2023-02-24 12:20:00,0.0,4.0 +7851,2023-02-24 12:30:00,0.0,4.0 +7852,2023-02-24 12:40:00,0.0,4.0 +7853,2023-02-24 12:50:00,0.0,4.0 +7854,2023-02-24 13:00:00,0.0,3.0 +7855,2023-02-24 13:10:00,0.0,3.0 +7856,2023-02-24 13:20:00,0.0,3.0 +7857,2023-02-24 13:30:00,0.0,3.0 +7858,2023-02-24 13:40:00,0.0,3.0 +7859,2023-02-24 13:50:00,0.0,3.0 +7872,2023-02-24 16:00:00,0.0,4.0 +7873,2023-02-24 16:10:00,0.0,4.0 +7874,2023-02-24 16:20:00,0.0,4.0 +7875,2023-02-24 16:30:00,0.0,4.0 +7876,2023-02-24 16:40:00,0.0,4.0 +7877,2023-02-24 16:50:00,0.0,4.0 +7878,2023-02-24 17:00:00,0.0,4.0 +7879,2023-02-24 17:10:00,0.0,4.0 +7880,2023-02-24 17:20:00,0.0,4.0 +7881,2023-02-24 17:30:00,0.0,4.0 +7882,2023-02-24 17:40:00,0.0,4.0 +7883,2023-02-24 17:50:00,0.0,4.0 +7884,2023-02-24 18:00:00,0.0,4.0 +7885,2023-02-24 18:10:00,0.0,4.0 +7886,2023-02-24 18:20:00,0.0,4.0 +7887,2023-02-24 18:30:00,0.0,4.0 +7888,2023-02-24 18:40:00,0.0,4.0 +7889,2023-02-24 18:50:00,0.0,4.0 +7890,2023-02-24 19:00:00,0.0,4.0 +7891,2023-02-24 19:10:00,0.0,4.0 +7892,2023-02-24 19:20:00,0.0,4.0 +7893,2023-02-24 19:30:00,0.0,4.0 +7894,2023-02-24 19:40:00,0.0,4.0 +7895,2023-02-24 19:50:00,0.0,4.0 +7908,2023-02-24 22:00:00,0.0,4.0 +7909,2023-02-24 22:10:00,0.0,4.0 +7910,2023-02-24 22:20:00,0.0,4.0 +7911,2023-02-24 22:30:00,0.0,4.0 +7912,2023-02-24 22:40:00,0.0,4.0 +7913,2023-02-24 22:50:00,0.0,4.0 +7926,2023-02-25 01:00:00,0.0,3.0 +7927,2023-02-25 01:10:00,0.0,3.0 +7928,2023-02-25 01:20:00,0.0,3.0 +7929,2023-02-25 01:30:00,0.0,3.0 +7930,2023-02-25 01:40:00,0.0,3.0 +7931,2023-02-25 01:50:00,0.0,3.0 +7938,2023-02-25 03:00:00,0.0,3.0 +7939,2023-02-25 03:10:00,0.0,3.0 +7940,2023-02-25 03:20:00,0.0,3.0 +7941,2023-02-25 03:30:00,0.0,3.0 +7942,2023-02-25 03:40:00,0.0,3.0 +7943,2023-02-25 03:50:00,0.0,3.0 +7944,2023-02-25 04:00:00,0.0,3.0 +7945,2023-02-25 04:10:00,0.0,3.0 +7946,2023-02-25 04:20:00,0.0,3.0 +7947,2023-02-25 04:30:00,0.0,3.0 +7948,2023-02-25 04:40:00,0.0,3.0 +7949,2023-02-25 04:50:00,0.0,3.0 +7950,2023-02-25 05:00:00,0.0,3.0 +7951,2023-02-25 05:10:00,0.0,3.0 +7952,2023-02-25 05:20:00,0.0,3.0 +7953,2023-02-25 05:30:00,0.0,3.0 +7954,2023-02-25 05:40:00,0.0,3.0 +7955,2023-02-25 05:50:00,0.0,3.0 +7968,2023-02-25 08:00:00,0.0,3.0 +7969,2023-02-25 08:10:00,0.0,3.0 +7970,2023-02-25 08:20:00,0.0,3.0 +7971,2023-02-25 08:30:00,0.0,3.0 +7972,2023-02-25 08:40:00,0.0,3.0 +7973,2023-02-25 08:50:00,0.0,3.0 +7974,2023-02-25 09:00:00,0.0,4.0 +7975,2023-02-25 09:10:00,0.0,4.0 +7976,2023-02-25 09:20:00,0.0,4.0 +7977,2023-02-25 09:30:00,0.0,4.0 +7978,2023-02-25 09:40:00,0.0,4.0 +7979,2023-02-25 09:50:00,0.0,4.0 +7986,2023-02-25 11:00:00,0.0,4.0 +7987,2023-02-25 11:10:00,0.0,4.0 +7988,2023-02-25 11:20:00,0.0,4.0 +7989,2023-02-25 11:30:00,0.0,4.0 +7990,2023-02-25 11:40:00,0.0,4.0 +7991,2023-02-25 11:50:00,0.0,4.0 +8010,2023-02-25 15:00:00,0.0,3.0 +8011,2023-02-25 15:10:00,0.0,3.0 +8012,2023-02-25 15:20:00,0.0,3.0 +8013,2023-02-25 15:30:00,0.0,3.0 +8014,2023-02-25 15:40:00,0.0,3.0 +8015,2023-02-25 15:50:00,0.0,3.0 +8034,2023-02-25 19:00:00,0.0,3.0 +8035,2023-02-25 19:10:00,0.0,3.0 +8036,2023-02-25 19:20:00,0.0,3.0 +8037,2023-02-25 19:30:00,0.0,3.0 +8038,2023-02-25 19:40:00,0.0,3.0 +8039,2023-02-25 19:50:00,0.0,3.0 +8040,2023-02-25 20:00:00,0.0,3.0 +8041,2023-02-25 20:10:00,0.0,3.0 +8042,2023-02-25 20:20:00,0.0,3.0 +8043,2023-02-25 20:30:00,0.0,3.0 +8044,2023-02-25 20:40:00,0.0,3.0 +8045,2023-02-25 20:50:00,0.0,3.0 +8046,2023-02-25 21:00:00,0.0,1.0 +8047,2023-02-25 21:10:00,0.0,1.0 +8048,2023-02-25 21:20:00,0.0,1.0 +8049,2023-02-25 21:30:00,0.0,1.0 +8050,2023-02-25 21:40:00,0.0,1.0 +8051,2023-02-25 21:50:00,0.0,1.0 +8052,2023-02-25 22:00:00,0.0,4.0 +8053,2023-02-25 22:10:00,0.0,4.0 +8054,2023-02-25 22:20:00,0.0,4.0 +8055,2023-02-25 22:30:00,0.0,4.0 +8056,2023-02-25 22:40:00,0.0,4.0 +8057,2023-02-25 22:50:00,0.0,4.0 +8064,2023-02-26 00:00:00,0.0,3.0 +8065,2023-02-26 00:10:00,0.0,3.0 +8066,2023-02-26 00:20:00,0.0,3.0 +8067,2023-02-26 00:30:00,0.0,3.0 +8068,2023-02-26 00:40:00,0.0,3.0 +8069,2023-02-26 00:50:00,0.0,3.0 +8082,2023-02-26 03:00:00,0.0,1.0 +8083,2023-02-26 03:10:00,0.0,1.0 +8084,2023-02-26 03:20:00,0.0,1.0 +8085,2023-02-26 03:30:00,0.0,1.0 +8086,2023-02-26 03:40:00,0.0,1.0 +8087,2023-02-26 03:50:00,0.0,1.0 +8100,2023-02-26 06:00:00,0.0,3.0 +8101,2023-02-26 06:10:00,0.0,3.0 +8102,2023-02-26 06:20:00,0.0,3.0 +8103,2023-02-26 06:30:00,0.0,3.0 +8104,2023-02-26 06:40:00,0.0,3.0 +8105,2023-02-26 06:50:00,0.0,3.0 +8106,2023-02-26 07:00:00,0.0,3.0 +8107,2023-02-26 07:10:00,0.0,3.0 +8108,2023-02-26 07:20:00,0.0,3.0 +8109,2023-02-26 07:30:00,0.0,3.0 +8110,2023-02-26 07:40:00,0.0,3.0 +8111,2023-02-26 07:50:00,0.0,3.0 +8112,2023-02-26 08:00:00,0.0,3.0 +8113,2023-02-26 08:10:00,0.0,3.0 +8114,2023-02-26 08:20:00,0.0,3.0 +8115,2023-02-26 08:30:00,0.0,3.0 +8116,2023-02-26 08:40:00,0.0,3.0 +8117,2023-02-26 08:50:00,0.0,3.0 +8118,2023-02-26 09:00:00,0.0,3.0 +8119,2023-02-26 09:10:00,0.0,3.0 +8120,2023-02-26 09:20:00,0.0,3.0 +8121,2023-02-26 09:30:00,0.0,3.0 +8122,2023-02-26 09:40:00,0.0,3.0 +8123,2023-02-26 09:50:00,0.0,3.0 +8130,2023-02-26 11:00:00,0.0,3.0 +8131,2023-02-26 11:10:00,0.0,3.0 +8132,2023-02-26 11:20:00,0.0,3.0 +8133,2023-02-26 11:30:00,0.0,3.0 +8134,2023-02-26 11:40:00,0.0,3.0 +8135,2023-02-26 11:50:00,0.0,3.0 +8178,2023-02-26 19:00:00,0.0,3.0 +8179,2023-02-26 19:10:00,0.0,3.0 +8180,2023-02-26 19:20:00,0.0,3.0 +8181,2023-02-26 19:30:00,0.0,3.0 +8182,2023-02-26 19:40:00,0.0,3.0 +8183,2023-02-26 19:50:00,0.0,3.0 +8220,2023-02-27 02:00:00,0.0,1.0 +8221,2023-02-27 02:10:00,0.0,1.0 +8222,2023-02-27 02:20:00,0.0,1.0 +8223,2023-02-27 02:30:00,0.0,1.0 +8224,2023-02-27 02:40:00,0.0,1.0 +8225,2023-02-27 02:50:00,0.0,1.0 +8226,2023-02-27 03:00:00,0.0,1.0 +8227,2023-02-27 03:10:00,0.0,1.0 +8228,2023-02-27 03:20:00,0.0,1.0 +8229,2023-02-27 03:30:00,0.0,1.0 +8230,2023-02-27 03:40:00,0.0,1.0 +8231,2023-02-27 03:50:00,0.0,1.0 +8238,2023-02-27 05:00:00,0.0,1.0 +8239,2023-02-27 05:10:00,0.0,1.0 +8240,2023-02-27 05:20:00,0.0,1.0 +8241,2023-02-27 05:30:00,0.0,1.0 +8242,2023-02-27 05:40:00,0.0,1.0 +8243,2023-02-27 05:50:00,0.0,1.0 +8250,2023-02-27 07:00:00,0.0,3.0 +8251,2023-02-27 07:10:00,0.0,3.0 +8252,2023-02-27 07:20:00,0.0,3.0 +8253,2023-02-27 07:30:00,0.0,3.0 +8254,2023-02-27 07:40:00,0.0,3.0 +8255,2023-02-27 07:50:00,0.0,3.0 +8262,2023-02-27 09:00:00,0.0,3.0 +8263,2023-02-27 09:10:00,0.0,3.0 +8264,2023-02-27 09:20:00,0.0,3.0 +8265,2023-02-27 09:30:00,0.0,3.0 +8266,2023-02-27 09:40:00,0.0,3.0 +8267,2023-02-27 09:50:00,0.0,3.0 +8268,2023-02-27 10:00:00,0.0,3.0 +8269,2023-02-27 10:10:00,0.0,3.0 +8270,2023-02-27 10:20:00,0.0,3.0 +8271,2023-02-27 10:30:00,0.0,3.0 +8272,2023-02-27 10:40:00,0.0,3.0 +8273,2023-02-27 10:50:00,0.0,3.0 +8298,2023-02-27 15:00:00,0.0,3.0 +8299,2023-02-27 15:10:00,0.0,3.0 +8300,2023-02-27 15:20:00,0.0,3.0 +8301,2023-02-27 15:30:00,0.0,3.0 +8302,2023-02-27 15:40:00,0.0,3.0 +8303,2023-02-27 15:50:00,0.0,3.0 +8316,2023-02-27 18:00:00,0.0,3.0 +8317,2023-02-27 18:10:00,0.0,3.0 +8318,2023-02-27 18:20:00,0.0,3.0 +8319,2023-02-27 18:30:00,0.0,3.0 +8320,2023-02-27 18:40:00,0.0,3.0 +8321,2023-02-27 18:50:00,0.0,3.0 +8328,2023-02-27 20:00:00,0.0,1.0 +8329,2023-02-27 20:10:00,0.0,1.0 +8330,2023-02-27 20:20:00,0.0,1.0 +8331,2023-02-27 20:30:00,0.0,1.0 +8332,2023-02-27 20:40:00,0.0,1.0 +8333,2023-02-27 20:50:00,0.0,1.0 +8334,2023-02-27 21:00:00,0.0,1.0 +8335,2023-02-27 21:10:00,0.0,1.0 +8336,2023-02-27 21:20:00,0.0,1.0 +8337,2023-02-27 21:30:00,0.0,1.0 +8338,2023-02-27 21:40:00,0.0,1.0 +8339,2023-02-27 21:50:00,0.0,1.0 +8346,2023-02-27 23:00:00,0.0,3.0 +8347,2023-02-27 23:10:00,0.0,3.0 +8348,2023-02-27 23:20:00,0.0,3.0 +8349,2023-02-27 23:30:00,0.0,3.0 +8350,2023-02-27 23:40:00,0.0,3.0 +8351,2023-02-27 23:50:00,0.0,3.0 +8370,2023-02-28 03:00:00,0.0,3.0 +8371,2023-02-28 03:10:00,0.0,3.0 +8372,2023-02-28 03:20:00,0.0,3.0 +8373,2023-02-28 03:30:00,0.0,3.0 +8374,2023-02-28 03:40:00,0.0,3.0 +8375,2023-02-28 03:50:00,0.0,3.0 +8376,2023-02-28 04:00:00,0.0,3.0 +8377,2023-02-28 04:10:00,0.0,3.0 +8378,2023-02-28 04:20:00,0.0,3.0 +8379,2023-02-28 04:30:00,0.0,3.0 +8380,2023-02-28 04:40:00,0.0,3.0 +8381,2023-02-28 04:50:00,0.0,3.0 +8382,2023-02-28 05:00:00,0.0,4.0 +8383,2023-02-28 05:10:00,0.0,4.0 +8384,2023-02-28 05:20:00,0.0,4.0 +8385,2023-02-28 05:30:00,0.0,4.0 +8386,2023-02-28 05:40:00,0.0,4.0 +8387,2023-02-28 05:50:00,0.0,4.0 +8388,2023-02-28 06:00:00,0.0,3.0 +8389,2023-02-28 06:10:00,0.0,3.0 +8390,2023-02-28 06:20:00,0.0,3.0 +8391,2023-02-28 06:30:00,0.0,3.0 +8392,2023-02-28 06:40:00,0.0,3.0 +8393,2023-02-28 06:50:00,0.0,3.0 +8412,2023-02-28 10:00:00,0.0,3.0 +8413,2023-02-28 10:10:00,0.0,3.0 +8414,2023-02-28 10:20:00,0.0,3.0 +8415,2023-02-28 10:30:00,0.0,3.0 +8416,2023-02-28 10:40:00,0.0,3.0 +8417,2023-02-28 10:50:00,0.0,3.0 +8424,2023-02-28 12:00:00,0.0,3.0 +8425,2023-02-28 12:10:00,0.0,3.0 +8426,2023-02-28 12:20:00,0.0,3.0 +8427,2023-02-28 12:30:00,0.0,3.0 +8428,2023-02-28 12:40:00,0.0,3.0 +8429,2023-02-28 12:50:00,0.0,3.0 +8436,2023-02-28 14:00:00,0.0,3.0 +8437,2023-02-28 14:10:00,0.0,3.0 +8438,2023-02-28 14:20:00,0.0,3.0 +8439,2023-02-28 14:30:00,0.0,3.0 +8440,2023-02-28 14:40:00,0.0,3.0 +8441,2023-02-28 14:50:00,0.0,3.0 +8454,2023-02-28 17:00:00,0.0,3.0 +8455,2023-02-28 17:10:00,0.0,3.0 +8456,2023-02-28 17:20:00,0.0,3.0 +8457,2023-02-28 17:30:00,0.0,3.0 +8458,2023-02-28 17:40:00,0.0,3.0 +8459,2023-02-28 17:50:00,0.0,3.0 +8460,2023-02-28 18:00:00,0.0,3.0 +8461,2023-02-28 18:10:00,0.0,3.0 +8462,2023-02-28 18:20:00,0.0,3.0 +8463,2023-02-28 18:30:00,0.0,3.0 +8464,2023-02-28 18:40:00,0.0,3.0 +8465,2023-02-28 18:50:00,0.0,3.0 +8466,2023-02-28 19:00:00,0.0,3.0 +8467,2023-02-28 19:10:00,0.0,3.0 +8468,2023-02-28 19:20:00,0.0,3.0 +8469,2023-02-28 19:30:00,0.0,3.0 +8470,2023-02-28 19:40:00,0.0,3.0 +8471,2023-02-28 19:50:00,0.0,3.0 +8472,2023-02-28 20:00:00,0.0,3.0 +8473,2023-02-28 20:10:00,0.0,3.0 +8474,2023-02-28 20:20:00,0.0,3.0 +8475,2023-02-28 20:30:00,0.0,3.0 +8476,2023-02-28 20:40:00,0.0,3.0 +8477,2023-02-28 20:50:00,0.0,3.0 +8478,2023-02-28 21:00:00,0.0,1.0 +8479,2023-02-28 21:10:00,0.0,1.0 +8480,2023-02-28 21:20:00,0.0,1.0 +8481,2023-02-28 21:30:00,0.0,1.0 +8482,2023-02-28 21:40:00,0.0,1.0 +8483,2023-02-28 21:50:00,0.0,1.0 +8484,2023-02-28 22:00:00,0.0,1.0 +8485,2023-02-28 22:10:00,0.0,1.0 +8486,2023-02-28 22:20:00,0.0,1.0 +8487,2023-02-28 22:30:00,0.0,1.0 +8488,2023-02-28 22:40:00,0.0,1.0 +8489,2023-02-28 22:50:00,0.0,1.0 +8502,2023-03-01 01:00:00,0.0,1.0 +8503,2023-03-01 01:10:00,0.0,1.0 +8504,2023-03-01 01:20:00,0.0,1.0 +8505,2023-03-01 01:30:00,0.0,1.0 +8506,2023-03-01 01:40:00,0.0,1.0 +8507,2023-03-01 01:50:00,0.0,1.0 +8508,2023-03-01 02:00:00,0.0,3.0 +8509,2023-03-01 02:10:00,0.0,3.0 +8510,2023-03-01 02:20:00,0.0,3.0 +8511,2023-03-01 02:30:00,0.0,3.0 +8512,2023-03-01 02:40:00,0.0,3.0 +8513,2023-03-01 02:50:00,0.0,3.0 +8520,2023-03-01 04:00:00,0.0,1.0 +8521,2023-03-01 04:10:00,0.0,1.0 +8522,2023-03-01 04:20:00,0.0,1.0 +8523,2023-03-01 04:30:00,0.0,1.0 +8524,2023-03-01 04:40:00,0.0,1.0 +8525,2023-03-01 04:50:00,0.0,1.0 +8532,2023-03-01 06:00:00,0.0,1.0 +8533,2023-03-01 06:10:00,0.0,1.0 +8534,2023-03-01 06:20:00,0.0,1.0 +8535,2023-03-01 06:30:00,0.0,1.0 +8536,2023-03-01 06:40:00,0.0,1.0 +8537,2023-03-01 06:50:00,0.0,1.0 +8544,2023-03-01 08:00:00,0.0,3.0 +8545,2023-03-01 08:10:00,0.0,3.0 +8546,2023-03-01 08:20:00,0.0,3.0 +8547,2023-03-01 08:30:00,0.0,3.0 +8548,2023-03-01 08:40:00,0.0,3.0 +8549,2023-03-01 08:50:00,0.0,3.0 +8550,2023-03-01 09:00:00,0.0,3.0 +8551,2023-03-01 09:10:00,0.0,3.0 +8552,2023-03-01 09:20:00,0.0,3.0 +8553,2023-03-01 09:30:00,0.0,3.0 +8554,2023-03-01 09:40:00,0.0,3.0 +8555,2023-03-01 09:50:00,0.0,3.0 +8556,2023-03-01 10:00:00,0.0,3.0 +8557,2023-03-01 10:10:00,0.0,3.0 +8558,2023-03-01 10:20:00,0.0,3.0 +8559,2023-03-01 10:30:00,0.0,3.0 +8560,2023-03-01 10:40:00,0.0,3.0 +8561,2023-03-01 10:50:00,0.0,3.0 +8562,2023-03-01 11:00:00,0.0,3.0 +8563,2023-03-01 11:10:00,0.0,3.0 +8564,2023-03-01 11:20:00,0.0,3.0 +8565,2023-03-01 11:30:00,0.0,3.0 +8566,2023-03-01 11:40:00,0.0,3.0 +8567,2023-03-01 11:50:00,0.0,3.0 +8574,2023-03-01 13:00:00,0.0,3.0 +8575,2023-03-01 13:10:00,0.0,3.0 +8576,2023-03-01 13:20:00,0.0,3.0 +8577,2023-03-01 13:30:00,0.0,3.0 +8578,2023-03-01 13:40:00,0.0,3.0 +8579,2023-03-01 13:50:00,0.0,3.0 +8580,2023-03-01 14:00:00,0.0,3.0 +8581,2023-03-01 14:10:00,0.0,3.0 +8582,2023-03-01 14:20:00,0.0,3.0 +8583,2023-03-01 14:30:00,0.0,3.0 +8584,2023-03-01 14:40:00,0.0,3.0 +8585,2023-03-01 14:50:00,0.0,3.0 +8586,2023-03-01 15:00:00,0.0,3.0 +8587,2023-03-01 15:10:00,0.0,3.0 +8588,2023-03-01 15:20:00,0.0,3.0 +8589,2023-03-01 15:30:00,0.0,3.0 +8590,2023-03-01 15:40:00,0.0,3.0 +8591,2023-03-01 15:50:00,0.0,3.0 +8592,2023-03-01 16:00:00,0.0,3.0 +8593,2023-03-01 16:10:00,0.0,3.0 +8594,2023-03-01 16:20:00,0.0,3.0 +8595,2023-03-01 16:30:00,0.0,3.0 +8596,2023-03-01 16:40:00,0.0,3.0 +8597,2023-03-01 16:50:00,0.0,3.0 +8598,2023-03-01 17:00:00,0.0,3.0 +8599,2023-03-01 17:10:00,0.0,3.0 +8600,2023-03-01 17:20:00,0.0,3.0 +8601,2023-03-01 17:30:00,0.0,3.0 +8602,2023-03-01 17:40:00,0.0,3.0 +8603,2023-03-01 17:50:00,0.0,3.0 +8604,2023-03-01 18:00:00,0.0,3.0 +8605,2023-03-01 18:10:00,0.0,3.0 +8606,2023-03-01 18:20:00,0.0,3.0 +8607,2023-03-01 18:30:00,0.0,3.0 +8608,2023-03-01 18:40:00,0.0,3.0 +8609,2023-03-01 18:50:00,0.0,3.0 +8640,2023-03-02 00:00:00,0.0,3.0 +8641,2023-03-02 00:10:00,0.0,3.0 +8642,2023-03-02 00:20:00,0.0,3.0 +8643,2023-03-02 00:30:00,0.0,3.0 +8644,2023-03-02 00:40:00,0.0,3.0 +8645,2023-03-02 00:50:00,0.0,3.0 +8664,2023-03-02 04:00:00,0.0,3.0 +8665,2023-03-02 04:10:00,0.0,3.0 +8666,2023-03-02 04:20:00,0.0,3.0 +8667,2023-03-02 04:30:00,0.0,3.0 +8668,2023-03-02 04:40:00,0.0,3.0 +8669,2023-03-02 04:50:00,0.0,3.0 +8682,2023-03-02 07:00:00,0.0,3.0 +8683,2023-03-02 07:10:00,0.0,3.0 +8684,2023-03-02 07:20:00,0.0,3.0 +8685,2023-03-02 07:30:00,0.0,3.0 +8686,2023-03-02 07:40:00,0.0,3.0 +8687,2023-03-02 07:50:00,0.0,3.0 +8688,2023-03-02 08:00:00,0.0,3.0 +8689,2023-03-02 08:10:00,0.0,3.0 +8690,2023-03-02 08:20:00,0.0,3.0 +8691,2023-03-02 08:30:00,0.0,3.0 +8692,2023-03-02 08:40:00,0.0,3.0 +8693,2023-03-02 08:50:00,0.0,3.0 +8694,2023-03-02 09:00:00,0.0,3.0 +8695,2023-03-02 09:10:00,0.0,3.0 +8696,2023-03-02 09:20:00,0.0,3.0 +8697,2023-03-02 09:30:00,0.0,3.0 +8698,2023-03-02 09:40:00,0.0,3.0 +8699,2023-03-02 09:50:00,0.0,3.0 +8700,2023-03-02 10:00:00,0.0,3.0 +8701,2023-03-02 10:10:00,0.0,3.0 +8702,2023-03-02 10:20:00,0.0,3.0 +8703,2023-03-02 10:30:00,0.0,3.0 +8704,2023-03-02 10:40:00,0.0,3.0 +8705,2023-03-02 10:50:00,0.0,3.0 +8706,2023-03-02 11:00:00,0.0,3.0 +8707,2023-03-02 11:10:00,0.0,3.0 +8708,2023-03-02 11:20:00,0.0,3.0 +8709,2023-03-02 11:30:00,0.0,3.0 +8710,2023-03-02 11:40:00,0.0,3.0 +8711,2023-03-02 11:50:00,0.0,3.0 +8724,2023-03-02 14:00:00,0.0,3.0 +8725,2023-03-02 14:10:00,0.0,3.0 +8726,2023-03-02 14:20:00,0.0,3.0 +8727,2023-03-02 14:30:00,0.0,3.0 +8728,2023-03-02 14:40:00,0.0,3.0 +8729,2023-03-02 14:50:00,0.0,3.0 +8730,2023-03-02 15:00:00,0.0,3.0 +8731,2023-03-02 15:10:00,0.0,3.0 +8732,2023-03-02 15:20:00,0.0,3.0 +8733,2023-03-02 15:30:00,0.0,3.0 +8734,2023-03-02 15:40:00,0.0,3.0 +8735,2023-03-02 15:50:00,0.0,3.0 +8742,2023-03-02 17:00:00,0.0,3.0 +8743,2023-03-02 17:10:00,0.0,3.0 +8744,2023-03-02 17:20:00,0.0,3.0 +8745,2023-03-02 17:30:00,0.0,3.0 +8746,2023-03-02 17:40:00,0.0,3.0 +8747,2023-03-02 17:50:00,0.0,3.0 +8760,2023-03-02 20:00:00,0.0,3.0 +8761,2023-03-02 20:10:00,0.0,3.0 +8762,2023-03-02 20:20:00,0.0,3.0 +8763,2023-03-02 20:30:00,0.0,3.0 +8764,2023-03-02 20:40:00,0.0,3.0 +8765,2023-03-02 20:50:00,0.0,3.0 +8772,2023-03-02 22:00:00,0.0,3.0 +8773,2023-03-02 22:10:00,0.0,3.0 +8774,2023-03-02 22:20:00,0.0,3.0 +8775,2023-03-02 22:30:00,0.0,3.0 +8776,2023-03-02 22:40:00,0.0,3.0 +8777,2023-03-02 22:50:00,0.0,3.0 +8784,2023-03-03 00:00:00,0.0,3.0 +8785,2023-03-03 00:10:00,0.0,3.0 +8786,2023-03-03 00:20:00,0.0,3.0 +8787,2023-03-03 00:30:00,0.0,3.0 +8788,2023-03-03 00:40:00,0.0,3.0 +8789,2023-03-03 00:50:00,0.0,3.0 +8796,2023-03-03 02:00:00,0.0,3.0 +8797,2023-03-03 02:10:00,0.0,3.0 +8798,2023-03-03 02:20:00,0.0,3.0 +8799,2023-03-03 02:30:00,0.0,3.0 +8800,2023-03-03 02:40:00,0.0,3.0 +8801,2023-03-03 02:50:00,0.0,3.0 +8802,2023-03-03 03:00:00,0.0,3.0 +8803,2023-03-03 03:10:00,0.0,3.0 +8804,2023-03-03 03:20:00,0.0,3.0 +8805,2023-03-03 03:30:00,0.0,3.0 +8806,2023-03-03 03:40:00,0.0,3.0 +8807,2023-03-03 03:50:00,0.0,3.0 +8808,2023-03-03 04:00:00,0.0,1.0 +8809,2023-03-03 04:10:00,0.0,1.0 +8810,2023-03-03 04:20:00,0.0,1.0 +8811,2023-03-03 04:30:00,0.0,1.0 +8812,2023-03-03 04:40:00,0.0,1.0 +8813,2023-03-03 04:50:00,0.0,1.0 +8814,2023-03-03 05:00:00,0.0,1.0 +8815,2023-03-03 05:10:00,0.0,1.0 +8816,2023-03-03 05:20:00,0.0,1.0 +8817,2023-03-03 05:30:00,0.0,1.0 +8818,2023-03-03 05:40:00,0.0,1.0 +8819,2023-03-03 05:50:00,0.0,1.0 +8826,2023-03-03 07:00:00,0.0,3.0 +8827,2023-03-03 07:10:00,0.0,3.0 +8828,2023-03-03 07:20:00,0.0,3.0 +8829,2023-03-03 07:30:00,0.0,3.0 +8830,2023-03-03 07:40:00,0.0,3.0 +8831,2023-03-03 07:50:00,0.0,3.0 +8850,2023-03-03 11:00:00,0.0,3.0 +8851,2023-03-03 11:10:00,0.0,3.0 +8852,2023-03-03 11:20:00,0.0,3.0 +8853,2023-03-03 11:30:00,0.0,3.0 +8854,2023-03-03 11:40:00,0.0,3.0 +8855,2023-03-03 11:50:00,0.0,3.0 +8868,2023-03-03 14:00:00,0.0,3.0 +8869,2023-03-03 14:10:00,0.0,3.0 +8870,2023-03-03 14:20:00,0.0,3.0 +8871,2023-03-03 14:30:00,0.0,3.0 +8872,2023-03-03 14:40:00,0.0,3.0 +8873,2023-03-03 14:50:00,0.0,3.0 +8880,2023-03-03 16:00:00,0.0,3.0 +8881,2023-03-03 16:10:00,0.0,3.0 +8882,2023-03-03 16:20:00,0.0,3.0 +8883,2023-03-03 16:30:00,0.0,3.0 +8884,2023-03-03 16:40:00,0.0,3.0 +8885,2023-03-03 16:50:00,0.0,3.0 +8886,2023-03-03 17:00:00,0.0,3.0 +8887,2023-03-03 17:10:00,0.0,3.0 +8888,2023-03-03 17:20:00,0.0,3.0 +8889,2023-03-03 17:30:00,0.0,3.0 +8890,2023-03-03 17:40:00,0.0,3.0 +8891,2023-03-03 17:50:00,0.0,3.0 +8892,2023-03-03 18:00:00,0.0,3.0 +8893,2023-03-03 18:10:00,0.0,3.0 +8894,2023-03-03 18:20:00,0.0,3.0 +8895,2023-03-03 18:30:00,0.0,3.0 +8896,2023-03-03 18:40:00,0.0,3.0 +8897,2023-03-03 18:50:00,0.0,3.0 +8904,2023-03-03 20:00:00,0.0,3.0 +8905,2023-03-03 20:10:00,0.0,3.0 +8906,2023-03-03 20:20:00,0.0,3.0 +8907,2023-03-03 20:30:00,0.0,3.0 +8908,2023-03-03 20:40:00,0.0,3.0 +8909,2023-03-03 20:50:00,0.0,3.0 +8910,2023-03-03 21:00:00,0.0,3.0 +8911,2023-03-03 21:10:00,0.0,3.0 +8912,2023-03-03 21:20:00,0.0,3.0 +8913,2023-03-03 21:30:00,0.0,3.0 +8914,2023-03-03 21:40:00,0.0,3.0 +8915,2023-03-03 21:50:00,0.0,3.0 +8922,2023-03-03 23:00:00,0.0,3.0 +8923,2023-03-03 23:10:00,0.0,3.0 +8924,2023-03-03 23:20:00,0.0,3.0 +8925,2023-03-03 23:30:00,0.0,3.0 +8926,2023-03-03 23:40:00,0.0,3.0 +8927,2023-03-03 23:50:00,0.0,3.0 +8928,2023-03-04 00:00:00,0.0,3.0 +8929,2023-03-04 00:10:00,0.0,3.0 +8930,2023-03-04 00:20:00,0.0,3.0 +8931,2023-03-04 00:30:00,0.0,3.0 +8932,2023-03-04 00:40:00,0.0,3.0 +8933,2023-03-04 00:50:00,0.0,3.0 +8958,2023-03-04 05:00:00,0.0,3.0 +8959,2023-03-04 05:10:00,0.0,3.0 +8960,2023-03-04 05:20:00,0.0,3.0 +8961,2023-03-04 05:30:00,0.0,3.0 +8962,2023-03-04 05:40:00,0.0,3.0 +8963,2023-03-04 05:50:00,0.0,3.0 +8964,2023-03-04 06:00:00,0.0,4.0 +8965,2023-03-04 06:10:00,0.0,4.0 +8966,2023-03-04 06:20:00,0.0,4.0 +8967,2023-03-04 06:30:00,0.0,4.0 +8968,2023-03-04 06:40:00,0.0,4.0 +8969,2023-03-04 06:50:00,0.0,4.0 +8970,2023-03-04 07:00:00,0.0,3.0 +8971,2023-03-04 07:10:00,0.0,3.0 +8972,2023-03-04 07:20:00,0.0,3.0 +8973,2023-03-04 07:30:00,0.0,3.0 +8974,2023-03-04 07:40:00,0.0,3.0 +8975,2023-03-04 07:50:00,0.0,3.0 +9000,2023-03-04 12:00:00,0.0,3.0 +9001,2023-03-04 12:10:00,0.0,3.0 +9002,2023-03-04 12:20:00,0.0,3.0 +9003,2023-03-04 12:30:00,0.0,3.0 +9004,2023-03-04 12:40:00,0.0,3.0 +9005,2023-03-04 12:50:00,0.0,3.0 +9006,2023-03-04 13:00:00,0.0,3.0 +9007,2023-03-04 13:10:00,0.0,3.0 +9008,2023-03-04 13:20:00,0.0,3.0 +9009,2023-03-04 13:30:00,0.0,3.0 +9010,2023-03-04 13:40:00,0.0,3.0 +9011,2023-03-04 13:50:00,0.0,3.0 +9018,2023-03-04 15:00:00,0.0,4.0 +9019,2023-03-04 15:10:00,0.0,4.0 +9020,2023-03-04 15:20:00,0.0,4.0 +9021,2023-03-04 15:30:00,0.0,4.0 +9022,2023-03-04 15:40:00,0.0,4.0 +9023,2023-03-04 15:50:00,0.0,4.0 +9030,2023-03-04 17:00:00,0.0,3.0 +9031,2023-03-04 17:10:00,0.0,3.0 +9032,2023-03-04 17:20:00,0.0,3.0 +9033,2023-03-04 17:30:00,0.0,3.0 +9034,2023-03-04 17:40:00,0.0,3.0 +9035,2023-03-04 17:50:00,0.0,3.0 +9036,2023-03-04 18:00:00,0.0,4.0 +9037,2023-03-04 18:10:00,0.0,4.0 +9038,2023-03-04 18:20:00,0.0,4.0 +9039,2023-03-04 18:30:00,0.0,4.0 +9040,2023-03-04 18:40:00,0.0,4.0 +9041,2023-03-04 18:50:00,0.0,4.0 +9054,2023-03-04 21:00:00,0.0,4.0 +9055,2023-03-04 21:10:00,0.0,4.0 +9056,2023-03-04 21:20:00,0.0,4.0 +9057,2023-03-04 21:30:00,0.0,4.0 +9058,2023-03-04 21:40:00,0.0,4.0 +9059,2023-03-04 21:50:00,0.0,4.0 +9108,2023-03-05 06:00:00,0.0,4.0 +9109,2023-03-05 06:10:00,0.0,4.0 +9110,2023-03-05 06:20:00,0.0,4.0 +9111,2023-03-05 06:30:00,0.0,4.0 +9112,2023-03-05 06:40:00,0.0,4.0 +9113,2023-03-05 06:50:00,0.0,4.0 +9114,2023-03-05 07:00:00,0.0,4.0 +9115,2023-03-05 07:10:00,0.0,4.0 +9116,2023-03-05 07:20:00,0.0,4.0 +9117,2023-03-05 07:30:00,0.0,4.0 +9118,2023-03-05 07:40:00,0.0,4.0 +9119,2023-03-05 07:50:00,0.0,4.0 +9126,2023-03-05 09:00:00,0.0,3.0 +9127,2023-03-05 09:10:00,0.0,3.0 +9128,2023-03-05 09:20:00,0.0,3.0 +9129,2023-03-05 09:30:00,0.0,3.0 +9130,2023-03-05 09:40:00,0.0,3.0 +9131,2023-03-05 09:50:00,0.0,3.0 +9132,2023-03-05 10:00:00,0.0,4.0 +9133,2023-03-05 10:10:00,0.0,4.0 +9134,2023-03-05 10:20:00,0.0,4.0 +9135,2023-03-05 10:30:00,0.0,4.0 +9136,2023-03-05 10:40:00,0.0,4.0 +9137,2023-03-05 10:50:00,0.0,4.0 +9156,2023-03-05 14:00:00,0.0,3.0 +9157,2023-03-05 14:10:00,0.0,3.0 +9158,2023-03-05 14:20:00,0.0,3.0 +9159,2023-03-05 14:30:00,0.0,3.0 +9160,2023-03-05 14:40:00,0.0,3.0 +9161,2023-03-05 14:50:00,0.0,3.0 +9168,2023-03-05 16:00:00,0.0,3.0 +9169,2023-03-05 16:10:00,0.0,3.0 +9170,2023-03-05 16:20:00,0.0,3.0 +9171,2023-03-05 16:30:00,0.0,3.0 +9172,2023-03-05 16:40:00,0.0,3.0 +9173,2023-03-05 16:50:00,0.0,3.0 +9174,2023-03-05 17:00:00,0.0,3.0 +9175,2023-03-05 17:10:00,0.0,3.0 +9176,2023-03-05 17:20:00,0.0,3.0 +9177,2023-03-05 17:30:00,0.0,3.0 +9178,2023-03-05 17:40:00,0.0,3.0 +9179,2023-03-05 17:50:00,0.0,3.0 +9186,2023-03-05 19:00:00,0.0,4.0 +9187,2023-03-05 19:10:00,0.0,4.0 +9188,2023-03-05 19:20:00,0.0,4.0 +9189,2023-03-05 19:30:00,0.0,4.0 +9190,2023-03-05 19:40:00,0.0,4.0 +9191,2023-03-05 19:50:00,0.0,4.0 +9192,2023-03-05 20:00:00,0.0,3.0 +9193,2023-03-05 20:10:00,0.0,3.0 +9194,2023-03-05 20:20:00,0.0,3.0 +9195,2023-03-05 20:30:00,0.0,3.0 +9196,2023-03-05 20:40:00,0.0,3.0 +9197,2023-03-05 20:50:00,0.0,3.0 +9204,2023-03-05 22:00:00,0.0,3.0 +9205,2023-03-05 22:10:00,0.0,3.0 +9206,2023-03-05 22:20:00,0.0,3.0 +9207,2023-03-05 22:30:00,0.0,3.0 +9208,2023-03-05 22:40:00,0.0,3.0 +9209,2023-03-05 22:50:00,0.0,3.0 +9210,2023-03-05 23:00:00,0.0,3.0 +9211,2023-03-05 23:10:00,0.0,3.0 +9212,2023-03-05 23:20:00,0.0,3.0 +9213,2023-03-05 23:30:00,0.0,3.0 +9214,2023-03-05 23:40:00,0.0,3.0 +9215,2023-03-05 23:50:00,0.0,3.0 +9222,2023-03-06 01:00:00,0.0,4.0 +9223,2023-03-06 01:10:00,0.0,4.0 +9224,2023-03-06 01:20:00,0.0,4.0 +9225,2023-03-06 01:30:00,0.0,4.0 +9226,2023-03-06 01:40:00,0.0,4.0 +9227,2023-03-06 01:50:00,0.0,4.0 +9234,2023-03-06 03:00:00,0.0,3.0 +9235,2023-03-06 03:10:00,0.0,3.0 +9236,2023-03-06 03:20:00,0.0,3.0 +9237,2023-03-06 03:30:00,0.0,3.0 +9238,2023-03-06 03:40:00,0.0,3.0 +9239,2023-03-06 03:50:00,0.0,3.0 +9240,2023-03-06 04:00:00,0.0,3.0 +9241,2023-03-06 04:10:00,0.0,3.0 +9242,2023-03-06 04:20:00,0.0,3.0 +9243,2023-03-06 04:30:00,0.0,3.0 +9244,2023-03-06 04:40:00,0.0,3.0 +9245,2023-03-06 04:50:00,0.0,3.0 +9258,2023-03-06 07:00:00,0.0,3.0 +9259,2023-03-06 07:10:00,0.0,3.0 +9260,2023-03-06 07:20:00,0.0,3.0 +9261,2023-03-06 07:30:00,0.0,3.0 +9262,2023-03-06 07:40:00,0.0,3.0 +9263,2023-03-06 07:50:00,0.0,3.0 +9264,2023-03-06 08:00:00,0.0,3.0 +9265,2023-03-06 08:10:00,0.0,3.0 +9266,2023-03-06 08:20:00,0.0,3.0 +9267,2023-03-06 08:30:00,0.0,3.0 +9268,2023-03-06 08:40:00,0.0,3.0 +9269,2023-03-06 08:50:00,0.0,3.0 +9276,2023-03-06 10:00:00,0.0,3.0 +9277,2023-03-06 10:10:00,0.0,3.0 +9278,2023-03-06 10:20:00,0.0,3.0 +9279,2023-03-06 10:30:00,0.0,3.0 +9280,2023-03-06 10:40:00,0.0,3.0 +9281,2023-03-06 10:50:00,0.0,3.0 +9282,2023-03-06 11:00:00,0.0,4.0 +9283,2023-03-06 11:10:00,0.0,4.0 +9284,2023-03-06 11:20:00,0.0,4.0 +9285,2023-03-06 11:30:00,0.0,4.0 +9286,2023-03-06 11:40:00,0.0,4.0 +9287,2023-03-06 11:50:00,0.0,4.0 +9288,2023-03-06 12:00:00,0.0,3.0 +9289,2023-03-06 12:10:00,0.0,3.0 +9290,2023-03-06 12:20:00,0.0,3.0 +9291,2023-03-06 12:30:00,0.0,3.0 +9292,2023-03-06 12:40:00,0.0,3.0 +9293,2023-03-06 12:50:00,0.0,3.0 +9300,2023-03-06 14:00:00,0.0,4.0 +9301,2023-03-06 14:10:00,0.0,4.0 +9302,2023-03-06 14:20:00,0.0,4.0 +9303,2023-03-06 14:30:00,0.0,4.0 +9304,2023-03-06 14:40:00,0.0,4.0 +9305,2023-03-06 14:50:00,0.0,4.0 +9306,2023-03-06 15:00:00,0.0,4.0 +9307,2023-03-06 15:10:00,0.0,4.0 +9308,2023-03-06 15:20:00,0.0,4.0 +9309,2023-03-06 15:30:00,0.0,4.0 +9310,2023-03-06 15:40:00,0.0,4.0 +9311,2023-03-06 15:50:00,0.0,4.0 +9324,2023-03-06 18:00:00,0.0,4.0 +9325,2023-03-06 18:10:00,0.0,4.0 +9326,2023-03-06 18:20:00,0.0,4.0 +9327,2023-03-06 18:30:00,0.0,4.0 +9328,2023-03-06 18:40:00,0.0,4.0 +9329,2023-03-06 18:50:00,0.0,4.0 +9336,2023-03-06 20:00:00,0.0,4.0 +9337,2023-03-06 20:10:00,0.0,4.0 +9338,2023-03-06 20:20:00,0.0,4.0 +9339,2023-03-06 20:30:00,0.0,4.0 +9340,2023-03-06 20:40:00,0.0,4.0 +9341,2023-03-06 20:50:00,0.0,4.0 +9348,2023-03-06 22:00:00,0.0,4.0 +9349,2023-03-06 22:10:00,0.0,4.0 +9350,2023-03-06 22:20:00,0.0,4.0 +9351,2023-03-06 22:30:00,0.0,4.0 +9352,2023-03-06 22:40:00,0.0,4.0 +9353,2023-03-06 22:50:00,0.0,4.0 +9360,2023-03-07 00:00:00,0.0,4.0 +9361,2023-03-07 00:10:00,0.0,4.0 +9362,2023-03-07 00:20:00,0.0,4.0 +9363,2023-03-07 00:30:00,0.0,4.0 +9364,2023-03-07 00:40:00,0.0,4.0 +9365,2023-03-07 00:50:00,0.0,4.0 +9378,2023-03-07 03:00:00,0.0,4.0 +9379,2023-03-07 03:10:00,0.0,4.0 +9380,2023-03-07 03:20:00,0.0,4.0 +9381,2023-03-07 03:30:00,0.0,4.0 +9382,2023-03-07 03:40:00,0.0,4.0 +9383,2023-03-07 03:50:00,0.0,4.0 +9396,2023-03-07 06:00:00,0.0,4.0 +9397,2023-03-07 06:10:00,0.0,4.0 +9398,2023-03-07 06:20:00,0.0,4.0 +9399,2023-03-07 06:30:00,0.0,4.0 +9400,2023-03-07 06:40:00,0.0,4.0 +9401,2023-03-07 06:50:00,0.0,4.0 +9408,2023-03-07 08:00:00,0.0,4.0 +9409,2023-03-07 08:10:00,0.0,4.0 +9410,2023-03-07 08:20:00,0.0,4.0 +9411,2023-03-07 08:30:00,0.0,4.0 +9412,2023-03-07 08:40:00,0.0,4.0 +9413,2023-03-07 08:50:00,0.0,4.0 +9420,2023-03-07 10:00:00,0.0,4.0 +9421,2023-03-07 10:10:00,0.0,4.0 +9422,2023-03-07 10:20:00,0.0,4.0 +9423,2023-03-07 10:30:00,0.0,4.0 +9424,2023-03-07 10:40:00,0.0,4.0 +9425,2023-03-07 10:50:00,0.0,4.0 +9426,2023-03-07 11:00:00,0.0,4.0 +9427,2023-03-07 11:10:00,0.0,4.0 +9428,2023-03-07 11:20:00,0.0,4.0 +9429,2023-03-07 11:30:00,0.0,4.0 +9430,2023-03-07 11:40:00,0.0,4.0 +9431,2023-03-07 11:50:00,0.0,4.0 +9444,2023-03-07 14:00:00,0.0,4.0 +9445,2023-03-07 14:10:00,0.0,4.0 +9446,2023-03-07 14:20:00,0.0,4.0 +9447,2023-03-07 14:30:00,0.0,4.0 +9448,2023-03-07 14:40:00,0.0,4.0 +9449,2023-03-07 14:50:00,0.0,4.0 +9462,2023-03-07 17:00:00,0.0,4.0 +9463,2023-03-07 17:10:00,0.0,4.0 +9464,2023-03-07 17:20:00,0.0,4.0 +9465,2023-03-07 17:30:00,0.0,4.0 +9466,2023-03-07 17:40:00,0.0,4.0 +9467,2023-03-07 17:50:00,0.0,4.0 +9474,2023-03-07 19:00:00,0.0,1.0 +9475,2023-03-07 19:10:00,0.0,1.0 +9476,2023-03-07 19:20:00,0.0,1.0 +9477,2023-03-07 19:30:00,0.0,1.0 +9478,2023-03-07 19:40:00,0.0,1.0 +9479,2023-03-07 19:50:00,0.0,1.0 +9486,2023-03-07 21:00:00,0.0,3.0 +9487,2023-03-07 21:10:00,0.0,3.0 +9488,2023-03-07 21:20:00,0.0,3.0 +9489,2023-03-07 21:30:00,0.0,3.0 +9490,2023-03-07 21:40:00,0.0,3.0 +9491,2023-03-07 21:50:00,0.0,3.0 +9498,2023-03-07 23:00:00,0.0,1.0 +9499,2023-03-07 23:10:00,0.0,1.0 +9500,2023-03-07 23:20:00,0.0,1.0 +9501,2023-03-07 23:30:00,0.0,1.0 +9502,2023-03-07 23:40:00,0.0,1.0 +9503,2023-03-07 23:50:00,0.0,1.0 +9516,2023-03-08 02:00:00,0.0,3.0 +9517,2023-03-08 02:10:00,0.0,3.0 +9518,2023-03-08 02:20:00,0.0,3.0 +9519,2023-03-08 02:30:00,0.0,3.0 +9520,2023-03-08 02:40:00,0.0,3.0 +9521,2023-03-08 02:50:00,0.0,3.0 +9522,2023-03-08 03:00:00,0.0,3.0 +9523,2023-03-08 03:10:00,0.0,3.0 +9524,2023-03-08 03:20:00,0.0,3.0 +9525,2023-03-08 03:30:00,0.0,3.0 +9526,2023-03-08 03:40:00,0.0,3.0 +9527,2023-03-08 03:50:00,0.0,3.0 +9534,2023-03-08 05:00:00,0.0,1.0 +9535,2023-03-08 05:10:00,0.0,1.0 +9536,2023-03-08 05:20:00,0.0,1.0 +9537,2023-03-08 05:30:00,0.0,1.0 +9538,2023-03-08 05:40:00,0.0,1.0 +9539,2023-03-08 05:50:00,0.0,1.0 +9546,2023-03-08 07:00:00,0.0,3.0 +9547,2023-03-08 07:10:00,0.0,3.0 +9548,2023-03-08 07:20:00,0.0,3.0 +9549,2023-03-08 07:30:00,0.0,3.0 +9550,2023-03-08 07:40:00,0.0,3.0 +9551,2023-03-08 07:50:00,0.0,3.0 +9552,2023-03-08 08:00:00,0.0,3.0 +9553,2023-03-08 08:10:00,0.0,3.0 +9554,2023-03-08 08:20:00,0.0,3.0 +9555,2023-03-08 08:30:00,0.0,3.0 +9556,2023-03-08 08:40:00,0.0,3.0 +9557,2023-03-08 08:50:00,0.0,3.0 +9558,2023-03-08 09:00:00,0.0,4.0 +9559,2023-03-08 09:10:00,0.0,4.0 +9560,2023-03-08 09:20:00,0.0,4.0 +9561,2023-03-08 09:30:00,0.0,4.0 +9562,2023-03-08 09:40:00,0.0,4.0 +9563,2023-03-08 09:50:00,0.0,4.0 +9570,2023-03-08 11:00:00,0.0,3.0 +9571,2023-03-08 11:10:00,0.0,3.0 +9572,2023-03-08 11:20:00,0.0,3.0 +9573,2023-03-08 11:30:00,0.0,3.0 +9574,2023-03-08 11:40:00,0.0,3.0 +9575,2023-03-08 11:50:00,0.0,3.0 +9576,2023-03-08 12:00:00,0.0,3.0 +9577,2023-03-08 12:10:00,0.0,3.0 +9578,2023-03-08 12:20:00,0.0,3.0 +9579,2023-03-08 12:30:00,0.0,3.0 +9580,2023-03-08 12:40:00,0.0,3.0 +9581,2023-03-08 12:50:00,0.0,3.0 +9600,2023-03-08 16:00:00,0.0,3.0 +9601,2023-03-08 16:10:00,0.0,3.0 +9602,2023-03-08 16:20:00,0.0,3.0 +9603,2023-03-08 16:30:00,0.0,3.0 +9604,2023-03-08 16:40:00,0.0,3.0 +9605,2023-03-08 16:50:00,0.0,3.0 +9606,2023-03-08 17:00:00,0.0,4.0 +9607,2023-03-08 17:10:00,0.0,4.0 +9608,2023-03-08 17:20:00,0.0,4.0 +9609,2023-03-08 17:30:00,0.0,4.0 +9610,2023-03-08 17:40:00,0.0,4.0 +9611,2023-03-08 17:50:00,0.0,4.0 +9612,2023-03-08 18:00:00,0.0,3.0 +9613,2023-03-08 18:10:00,0.0,3.0 +9614,2023-03-08 18:20:00,0.0,3.0 +9615,2023-03-08 18:30:00,0.0,3.0 +9616,2023-03-08 18:40:00,0.0,3.0 +9617,2023-03-08 18:50:00,0.0,3.0 +9624,2023-03-08 20:00:00,0.0,4.0 +9625,2023-03-08 20:10:00,0.0,4.0 +9626,2023-03-08 20:20:00,0.0,4.0 +9627,2023-03-08 20:30:00,0.0,4.0 +9628,2023-03-08 20:40:00,0.0,4.0 +9629,2023-03-08 20:50:00,0.0,4.0 +9642,2023-03-08 23:00:00,0.0,3.0 +9643,2023-03-08 23:10:00,0.0,3.0 +9644,2023-03-08 23:20:00,0.0,3.0 +9645,2023-03-08 23:30:00,0.0,3.0 +9646,2023-03-08 23:40:00,0.0,3.0 +9647,2023-03-08 23:50:00,0.0,3.0 +9648,2023-03-09 00:00:00,0.0,4.0 +9649,2023-03-09 00:10:00,0.0,4.0 +9650,2023-03-09 00:20:00,0.0,4.0 +9651,2023-03-09 00:30:00,0.0,4.0 +9652,2023-03-09 00:40:00,0.0,4.0 +9653,2023-03-09 00:50:00,0.0,4.0 +9654,2023-03-09 01:00:00,0.0,3.0 +9655,2023-03-09 01:10:00,0.0,3.0 +9656,2023-03-09 01:20:00,0.0,3.0 +9657,2023-03-09 01:30:00,0.0,3.0 +9658,2023-03-09 01:40:00,0.0,3.0 +9659,2023-03-09 01:50:00,0.0,3.0 +9660,2023-03-09 02:00:00,0.0,3.0 +9661,2023-03-09 02:10:00,0.0,3.0 +9662,2023-03-09 02:20:00,0.0,3.0 +9663,2023-03-09 02:30:00,0.0,3.0 +9664,2023-03-09 02:40:00,0.0,3.0 +9665,2023-03-09 02:50:00,0.0,3.0 +9666,2023-03-09 03:00:00,0.0,3.0 +9667,2023-03-09 03:10:00,0.0,3.0 +9668,2023-03-09 03:20:00,0.0,3.0 +9669,2023-03-09 03:30:00,0.0,3.0 +9670,2023-03-09 03:40:00,0.0,3.0 +9671,2023-03-09 03:50:00,0.0,3.0 +9678,2023-03-09 05:00:00,0.0,3.0 +9679,2023-03-09 05:10:00,0.0,3.0 +9680,2023-03-09 05:20:00,0.0,3.0 +9681,2023-03-09 05:30:00,0.0,3.0 +9682,2023-03-09 05:40:00,0.0,3.0 +9683,2023-03-09 05:50:00,0.0,3.0 +9696,2023-03-09 08:00:00,0.0,3.0 +9697,2023-03-09 08:10:00,0.0,3.0 +9698,2023-03-09 08:20:00,0.0,3.0 +9699,2023-03-09 08:30:00,0.0,3.0 +9700,2023-03-09 08:40:00,0.0,3.0 +9701,2023-03-09 08:50:00,0.0,3.0 +9720,2023-03-09 12:00:00,0.0,4.0 +9721,2023-03-09 12:10:00,0.0,4.0 +9722,2023-03-09 12:20:00,0.0,4.0 +9723,2023-03-09 12:30:00,0.0,4.0 +9724,2023-03-09 12:40:00,0.0,4.0 +9725,2023-03-09 12:50:00,0.0,4.0 +9726,2023-03-09 13:00:00,0.0,4.0 +9727,2023-03-09 13:10:00,0.0,4.0 +9728,2023-03-09 13:20:00,0.0,4.0 +9729,2023-03-09 13:30:00,0.0,4.0 +9730,2023-03-09 13:40:00,0.0,4.0 +9731,2023-03-09 13:50:00,0.0,4.0 +9732,2023-03-09 14:00:00,0.0,4.0 +9733,2023-03-09 14:10:00,0.0,4.0 +9734,2023-03-09 14:20:00,0.0,4.0 +9735,2023-03-09 14:30:00,0.0,4.0 +9736,2023-03-09 14:40:00,0.0,4.0 +9737,2023-03-09 14:50:00,0.0,4.0 +9738,2023-03-09 15:00:00,0.0,4.0 +9739,2023-03-09 15:10:00,0.0,4.0 +9740,2023-03-09 15:20:00,0.0,4.0 +9741,2023-03-09 15:30:00,0.0,4.0 +9742,2023-03-09 15:40:00,0.0,4.0 +9743,2023-03-09 15:50:00,0.0,4.0 +9744,2023-03-09 16:00:00,0.0,4.0 +9745,2023-03-09 16:10:00,0.0,4.0 +9746,2023-03-09 16:20:00,0.0,4.0 +9747,2023-03-09 16:30:00,0.0,4.0 +9748,2023-03-09 16:40:00,0.0,4.0 +9749,2023-03-09 16:50:00,0.0,4.0 +9756,2023-03-09 18:00:00,0.0,4.0 +9757,2023-03-09 18:10:00,0.0,4.0 +9758,2023-03-09 18:20:00,0.0,4.0 +9759,2023-03-09 18:30:00,0.0,4.0 +9760,2023-03-09 18:40:00,0.0,4.0 +9761,2023-03-09 18:50:00,0.0,4.0 +9768,2023-03-09 20:00:00,0.0,4.0 +9769,2023-03-09 20:10:00,0.0,4.0 +9770,2023-03-09 20:20:00,0.0,4.0 +9771,2023-03-09 20:30:00,0.0,4.0 +9772,2023-03-09 20:40:00,0.0,4.0 +9773,2023-03-09 20:50:00,0.0,4.0 +9774,2023-03-09 21:00:00,0.0,6.0 +9775,2023-03-09 21:10:00,0.0,6.0 +9776,2023-03-09 21:20:00,0.0,6.0 +9777,2023-03-09 21:30:00,0.0,6.0 +9778,2023-03-09 21:40:00,0.0,6.0 +9779,2023-03-09 21:50:00,0.0,6.0 +9810,2023-03-10 03:00:00,0.0,4.0 +9811,2023-03-10 03:10:00,0.0,4.0 +9812,2023-03-10 03:20:00,0.0,4.0 +9813,2023-03-10 03:30:00,0.0,4.0 +9814,2023-03-10 03:40:00,0.0,4.0 +9815,2023-03-10 03:50:00,0.0,4.0 +9816,2023-03-10 04:00:00,0.0,4.0 +9817,2023-03-10 04:10:00,0.0,4.0 +9818,2023-03-10 04:20:00,0.0,4.0 +9819,2023-03-10 04:30:00,0.0,4.0 +9820,2023-03-10 04:40:00,0.0,4.0 +9821,2023-03-10 04:50:00,0.0,4.0 +9822,2023-03-10 05:00:00,0.0,4.0 +9823,2023-03-10 05:10:00,0.0,4.0 +9824,2023-03-10 05:20:00,0.0,4.0 +9825,2023-03-10 05:30:00,0.0,4.0 +9826,2023-03-10 05:40:00,0.0,4.0 +9827,2023-03-10 05:50:00,0.0,4.0 +9828,2023-03-10 06:00:00,0.0,4.0 +9829,2023-03-10 06:10:00,0.0,4.0 +9830,2023-03-10 06:20:00,0.0,4.0 +9831,2023-03-10 06:30:00,0.0,4.0 +9832,2023-03-10 06:40:00,0.0,4.0 +9833,2023-03-10 06:50:00,0.0,4.0 +9834,2023-03-10 07:00:00,0.0,4.0 +9835,2023-03-10 07:10:00,0.0,4.0 +9836,2023-03-10 07:20:00,0.0,4.0 +9837,2023-03-10 07:30:00,0.0,4.0 +9838,2023-03-10 07:40:00,0.0,4.0 +9839,2023-03-10 07:50:00,0.0,4.0 +9840,2023-03-10 08:00:00,0.0,4.0 +9841,2023-03-10 08:10:00,0.0,4.0 +9842,2023-03-10 08:20:00,0.0,4.0 +9843,2023-03-10 08:30:00,0.0,4.0 +9844,2023-03-10 08:40:00,0.0,4.0 +9845,2023-03-10 08:50:00,0.0,4.0 +9852,2023-03-10 10:00:00,0.0,4.0 +9853,2023-03-10 10:10:00,0.0,4.0 +9854,2023-03-10 10:20:00,0.0,4.0 +9855,2023-03-10 10:30:00,0.0,4.0 +9856,2023-03-10 10:40:00,0.0,4.0 +9857,2023-03-10 10:50:00,0.0,4.0 +9870,2023-03-10 13:00:00,0.0,4.0 +9871,2023-03-10 13:10:00,0.0,4.0 +9872,2023-03-10 13:20:00,0.0,4.0 +9873,2023-03-10 13:30:00,0.0,4.0 +9874,2023-03-10 13:40:00,0.0,4.0 +9875,2023-03-10 13:50:00,0.0,4.0 +9876,2023-03-10 14:00:00,0.0,4.0 +9877,2023-03-10 14:10:00,0.0,4.0 +9878,2023-03-10 14:20:00,0.0,4.0 +9879,2023-03-10 14:30:00,0.0,4.0 +9880,2023-03-10 14:40:00,0.0,4.0 +9881,2023-03-10 14:50:00,0.0,4.0 +9888,2023-03-10 16:00:00,0.0,4.0 +9889,2023-03-10 16:10:00,0.0,4.0 +9890,2023-03-10 16:20:00,0.0,4.0 +9891,2023-03-10 16:30:00,0.0,4.0 +9892,2023-03-10 16:40:00,0.0,4.0 +9893,2023-03-10 16:50:00,0.0,4.0 +9894,2023-03-10 17:00:00,0.0,4.0 +9895,2023-03-10 17:10:00,0.0,4.0 +9896,2023-03-10 17:20:00,0.0,4.0 +9897,2023-03-10 17:30:00,0.0,4.0 +9898,2023-03-10 17:40:00,0.0,4.0 +9899,2023-03-10 17:50:00,0.0,4.0 +9900,2023-03-10 18:00:00,0.0,3.0 +9901,2023-03-10 18:10:00,0.0,3.0 +9902,2023-03-10 18:20:00,0.0,3.0 +9903,2023-03-10 18:30:00,0.0,3.0 +9904,2023-03-10 18:40:00,0.0,3.0 +9905,2023-03-10 18:50:00,0.0,3.0 +9906,2023-03-10 19:00:00,0.0,3.0 +9907,2023-03-10 19:10:00,0.0,3.0 +9908,2023-03-10 19:20:00,0.0,3.0 +9909,2023-03-10 19:30:00,0.0,3.0 +9910,2023-03-10 19:40:00,0.0,3.0 +9911,2023-03-10 19:50:00,0.0,3.0 +9912,2023-03-10 20:00:00,0.0,4.0 +9913,2023-03-10 20:10:00,0.0,4.0 +9914,2023-03-10 20:20:00,0.0,4.0 +9915,2023-03-10 20:30:00,0.0,4.0 +9916,2023-03-10 20:40:00,0.0,4.0 +9917,2023-03-10 20:50:00,0.0,4.0 +9924,2023-03-10 22:00:00,0.0,3.0 +9925,2023-03-10 22:10:00,0.0,3.0 +9926,2023-03-10 22:20:00,0.0,3.0 +9927,2023-03-10 22:30:00,0.0,3.0 +9928,2023-03-10 22:40:00,0.0,3.0 +9929,2023-03-10 22:50:00,0.0,3.0 +9930,2023-03-10 23:00:00,0.0,3.0 +9931,2023-03-10 23:10:00,0.0,3.0 +9932,2023-03-10 23:20:00,0.0,3.0 +9933,2023-03-10 23:30:00,0.0,3.0 +9934,2023-03-10 23:40:00,0.0,3.0 +9935,2023-03-10 23:50:00,0.0,3.0 +9942,2023-03-11 01:00:00,0.0,1.0 +9943,2023-03-11 01:10:00,0.0,1.0 +9944,2023-03-11 01:20:00,0.0,1.0 +9945,2023-03-11 01:30:00,0.0,1.0 +9946,2023-03-11 01:40:00,0.0,1.0 +9947,2023-03-11 01:50:00,0.0,1.0 +9954,2023-03-11 03:00:00,0.0,1.0 +9955,2023-03-11 03:10:00,0.0,1.0 +9956,2023-03-11 03:20:00,0.0,1.0 +9957,2023-03-11 03:30:00,0.0,1.0 +9958,2023-03-11 03:40:00,0.0,1.0 +9959,2023-03-11 03:50:00,0.0,1.0 +9972,2023-03-11 06:00:00,0.0,3.0 +9973,2023-03-11 06:10:00,0.0,3.0 +9974,2023-03-11 06:20:00,0.0,3.0 +9975,2023-03-11 06:30:00,0.0,3.0 +9976,2023-03-11 06:40:00,0.0,3.0 +9977,2023-03-11 06:50:00,0.0,3.0 +9978,2023-03-11 07:00:00,0.0,3.0 +9979,2023-03-11 07:10:00,0.0,3.0 +9980,2023-03-11 07:20:00,0.0,3.0 +9981,2023-03-11 07:30:00,0.0,3.0 +9982,2023-03-11 07:40:00,0.0,3.0 +9983,2023-03-11 07:50:00,0.0,3.0 +9990,2023-03-11 09:00:00,0.0,3.0 +9991,2023-03-11 09:10:00,0.0,3.0 +9992,2023-03-11 09:20:00,0.0,3.0 +9993,2023-03-11 09:30:00,0.0,3.0 +9994,2023-03-11 09:40:00,0.0,3.0 +9995,2023-03-11 09:50:00,0.0,3.0 +10002,2023-03-11 11:00:00,0.0,3.0 +10003,2023-03-11 11:10:00,0.0,3.0 +10004,2023-03-11 11:20:00,0.0,3.0 +10005,2023-03-11 11:30:00,0.0,3.0 +10006,2023-03-11 11:40:00,0.0,3.0 +10007,2023-03-11 11:50:00,0.0,3.0 +10014,2023-03-11 13:00:00,0.0,3.0 +10015,2023-03-11 13:10:00,0.0,3.0 +10016,2023-03-11 13:20:00,0.0,3.0 +10017,2023-03-11 13:30:00,0.0,3.0 +10018,2023-03-11 13:40:00,0.0,3.0 +10019,2023-03-11 13:50:00,0.0,3.0 +10026,2023-03-11 15:00:00,0.0,3.0 +10027,2023-03-11 15:10:00,0.0,3.0 +10028,2023-03-11 15:20:00,0.0,3.0 +10029,2023-03-11 15:30:00,0.0,3.0 +10030,2023-03-11 15:40:00,0.0,3.0 +10031,2023-03-11 15:50:00,0.0,3.0 +10032,2023-03-11 16:00:00,0.0,3.0 +10033,2023-03-11 16:10:00,0.0,3.0 +10034,2023-03-11 16:20:00,0.0,3.0 +10035,2023-03-11 16:30:00,0.0,3.0 +10036,2023-03-11 16:40:00,0.0,3.0 +10037,2023-03-11 16:50:00,0.0,3.0 +10038,2023-03-11 17:00:00,0.0,3.0 +10039,2023-03-11 17:10:00,0.0,3.0 +10040,2023-03-11 17:20:00,0.0,3.0 +10041,2023-03-11 17:30:00,0.0,3.0 +10042,2023-03-11 17:40:00,0.0,3.0 +10043,2023-03-11 17:50:00,0.0,3.0 +10050,2023-03-11 19:00:00,0.0,1.0 +10051,2023-03-11 19:10:00,0.0,1.0 +10052,2023-03-11 19:20:00,0.0,1.0 +10053,2023-03-11 19:30:00,0.0,1.0 +10054,2023-03-11 19:40:00,0.0,1.0 +10055,2023-03-11 19:50:00,0.0,1.0 +10056,2023-03-11 20:00:00,0.0,3.0 +10057,2023-03-11 20:10:00,0.0,3.0 +10058,2023-03-11 20:20:00,0.0,3.0 +10059,2023-03-11 20:30:00,0.0,3.0 +10060,2023-03-11 20:40:00,0.0,3.0 +10061,2023-03-11 20:50:00,0.0,3.0 +10068,2023-03-11 22:00:00,0.0,3.0 +10069,2023-03-11 22:10:00,0.0,3.0 +10070,2023-03-11 22:20:00,0.0,3.0 +10071,2023-03-11 22:30:00,0.0,3.0 +10072,2023-03-11 22:40:00,0.0,3.0 +10073,2023-03-11 22:50:00,0.0,3.0 +10074,2023-03-11 23:00:00,0.0,1.0 +10075,2023-03-11 23:10:00,0.0,1.0 +10076,2023-03-11 23:20:00,0.0,1.0 +10077,2023-03-11 23:30:00,0.0,1.0 +10078,2023-03-11 23:40:00,0.0,1.0 +10079,2023-03-11 23:50:00,0.0,1.0 +10086,2023-03-12 01:00:00,0.0,3.0 +10087,2023-03-12 01:10:00,0.0,3.0 +10088,2023-03-12 01:20:00,0.0,3.0 +10089,2023-03-12 01:30:00,0.0,3.0 +10090,2023-03-12 01:40:00,0.0,3.0 +10091,2023-03-12 01:50:00,0.0,3.0 +10092,2023-03-12 02:00:00,0.0,3.0 +10093,2023-03-12 02:10:00,0.0,3.0 +10094,2023-03-12 02:20:00,0.0,3.0 +10095,2023-03-12 02:30:00,0.0,3.0 +10096,2023-03-12 02:40:00,0.0,3.0 +10097,2023-03-12 02:50:00,0.0,3.0 +10110,2023-03-12 05:00:00,0.0,3.0 +10111,2023-03-12 05:10:00,0.0,3.0 +10112,2023-03-12 05:20:00,0.0,3.0 +10113,2023-03-12 05:30:00,0.0,3.0 +10114,2023-03-12 05:40:00,0.0,3.0 +10115,2023-03-12 05:50:00,0.0,3.0 +10134,2023-03-12 09:00:00,0.0,4.0 +10135,2023-03-12 09:10:00,0.0,4.0 +10136,2023-03-12 09:20:00,0.0,4.0 +10137,2023-03-12 09:30:00,0.0,4.0 +10138,2023-03-12 09:40:00,0.0,4.0 +10139,2023-03-12 09:50:00,0.0,4.0 +10146,2023-03-12 11:00:00,0.0,4.0 +10147,2023-03-12 11:10:00,0.0,4.0 +10148,2023-03-12 11:20:00,0.0,4.0 +10149,2023-03-12 11:30:00,0.0,4.0 +10150,2023-03-12 11:40:00,0.0,4.0 +10151,2023-03-12 11:50:00,0.0,4.0 +10152,2023-03-12 12:00:00,0.0,3.0 +10153,2023-03-12 12:10:00,0.0,3.0 +10154,2023-03-12 12:20:00,0.0,3.0 +10155,2023-03-12 12:30:00,0.0,3.0 +10156,2023-03-12 12:40:00,0.0,3.0 +10157,2023-03-12 12:50:00,0.0,3.0 +10158,2023-03-12 13:00:00,0.0,5.0 +10159,2023-03-12 13:10:00,0.0,5.0 +10160,2023-03-12 13:20:00,0.0,5.0 +10161,2023-03-12 13:30:00,0.0,5.0 +10162,2023-03-12 13:40:00,0.0,5.0 +10163,2023-03-12 13:50:00,0.0,5.0 +10164,2023-03-12 14:00:00,0.0,3.0 +10165,2023-03-12 14:10:00,0.0,3.0 +10166,2023-03-12 14:20:00,0.0,3.0 +10167,2023-03-12 14:30:00,0.0,3.0 +10168,2023-03-12 14:40:00,0.0,3.0 +10169,2023-03-12 14:50:00,0.0,3.0 +10170,2023-03-12 15:00:00,0.0,5.0 +10171,2023-03-12 15:10:00,0.0,5.0 +10172,2023-03-12 15:20:00,0.0,5.0 +10173,2023-03-12 15:30:00,0.0,5.0 +10174,2023-03-12 15:40:00,0.0,5.0 +10175,2023-03-12 15:50:00,0.0,5.0 +10182,2023-03-12 17:00:00,0.0,3.0 +10183,2023-03-12 17:10:00,0.0,3.0 +10184,2023-03-12 17:20:00,0.0,3.0 +10185,2023-03-12 17:30:00,0.0,3.0 +10186,2023-03-12 17:40:00,0.0,3.0 +10187,2023-03-12 17:50:00,0.0,3.0 +10194,2023-03-12 19:00:00,0.0,3.0 +10195,2023-03-12 19:10:00,0.0,3.0 +10196,2023-03-12 19:20:00,0.0,3.0 +10197,2023-03-12 19:30:00,0.0,3.0 +10198,2023-03-12 19:40:00,0.0,3.0 +10199,2023-03-12 19:50:00,0.0,3.0 +10200,2023-03-12 20:00:00,0.0,3.0 +10201,2023-03-12 20:10:00,0.0,3.0 +10202,2023-03-12 20:20:00,0.0,3.0 +10203,2023-03-12 20:30:00,0.0,3.0 +10204,2023-03-12 20:40:00,0.0,3.0 +10205,2023-03-12 20:50:00,0.0,3.0 +10212,2023-03-12 22:00:00,0.0,4.0 +10213,2023-03-12 22:10:00,0.0,4.0 +10214,2023-03-12 22:20:00,0.0,4.0 +10215,2023-03-12 22:30:00,0.0,4.0 +10216,2023-03-12 22:40:00,0.0,4.0 +10217,2023-03-12 22:50:00,0.0,4.0 +10218,2023-03-12 23:00:00,0.0,6.0 +10219,2023-03-12 23:10:00,0.0,6.0 +10220,2023-03-12 23:20:00,0.0,6.0 +10221,2023-03-12 23:30:00,0.0,6.0 +10222,2023-03-12 23:40:00,0.0,6.0 +10223,2023-03-12 23:50:00,0.0,6.0 +10242,2023-03-13 03:00:00,0.0,6.0 +10243,2023-03-13 03:10:00,0.0,6.0 +10244,2023-03-13 03:20:00,0.0,6.0 +10245,2023-03-13 03:30:00,0.0,6.0 +10246,2023-03-13 03:40:00,0.0,6.0 +10247,2023-03-13 03:50:00,0.0,6.0 +10248,2023-03-13 04:00:00,0.0,6.0 +10249,2023-03-13 04:10:00,0.0,6.0 +10250,2023-03-13 04:20:00,0.0,6.0 +10251,2023-03-13 04:30:00,0.0,6.0 +10252,2023-03-13 04:40:00,0.0,6.0 +10253,2023-03-13 04:50:00,0.0,6.0 +10254,2023-03-13 05:00:00,0.0,6.0 +10255,2023-03-13 05:10:00,0.0,6.0 +10256,2023-03-13 05:20:00,0.0,6.0 +10257,2023-03-13 05:30:00,0.0,6.0 +10258,2023-03-13 05:40:00,0.0,6.0 +10259,2023-03-13 05:50:00,0.0,6.0 +10260,2023-03-13 06:00:00,0.0,6.0 +10261,2023-03-13 06:10:00,0.0,6.0 +10262,2023-03-13 06:20:00,0.0,6.0 +10263,2023-03-13 06:30:00,0.0,6.0 +10264,2023-03-13 06:40:00,0.0,6.0 +10265,2023-03-13 06:50:00,0.0,6.0 +10266,2023-03-13 07:00:00,0.0,6.0 +10267,2023-03-13 07:10:00,0.0,6.0 +10268,2023-03-13 07:20:00,0.0,6.0 +10269,2023-03-13 07:30:00,0.0,6.0 +10270,2023-03-13 07:40:00,0.0,6.0 +10271,2023-03-13 07:50:00,0.0,6.0 +10278,2023-03-13 09:00:00,0.0,7.0 +10279,2023-03-13 09:10:00,0.0,7.0 +10280,2023-03-13 09:20:00,0.0,7.0 +10281,2023-03-13 09:30:00,0.0,7.0 +10282,2023-03-13 09:40:00,0.0,7.0 +10283,2023-03-13 09:50:00,0.0,7.0 +10284,2023-03-13 10:00:00,0.0,7.0 +10285,2023-03-13 10:10:00,0.0,7.0 +10286,2023-03-13 10:20:00,0.0,7.0 +10287,2023-03-13 10:30:00,0.0,7.0 +10288,2023-03-13 10:40:00,0.0,7.0 +10289,2023-03-13 10:50:00,0.0,7.0 +10302,2023-03-13 13:00:00,0.0,7.0 +10303,2023-03-13 13:10:00,0.0,7.0 +10304,2023-03-13 13:20:00,0.0,7.0 +10305,2023-03-13 13:30:00,0.0,7.0 +10306,2023-03-13 13:40:00,0.0,7.0 +10307,2023-03-13 13:50:00,0.0,7.0 +10326,2023-03-13 17:00:00,0.0,5.0 +10327,2023-03-13 17:10:00,0.0,5.0 +10328,2023-03-13 17:20:00,0.0,5.0 +10329,2023-03-13 17:30:00,0.0,5.0 +10330,2023-03-13 17:40:00,0.0,5.0 +10331,2023-03-13 17:50:00,0.0,5.0 +10350,2023-03-13 21:00:00,0.0,5.0 +10351,2023-03-13 21:10:00,0.0,5.0 +10352,2023-03-13 21:20:00,0.0,5.0 +10353,2023-03-13 21:30:00,0.0,5.0 +10354,2023-03-13 21:40:00,0.0,5.0 +10355,2023-03-13 21:50:00,0.0,5.0 +10362,2023-03-13 23:00:00,0.0,5.0 +10363,2023-03-13 23:10:00,0.0,5.0 +10364,2023-03-13 23:20:00,0.0,5.0 +10365,2023-03-13 23:30:00,0.0,5.0 +10366,2023-03-13 23:40:00,0.0,5.0 +10367,2023-03-13 23:50:00,0.0,5.0 +10368,2023-03-14 00:00:00,0.0,4.0 +10369,2023-03-14 00:10:00,0.0,4.0 +10370,2023-03-14 00:20:00,0.0,4.0 +10371,2023-03-14 00:30:00,0.0,4.0 +10372,2023-03-14 00:40:00,0.0,4.0 +10373,2023-03-14 00:50:00,0.0,4.0 +10374,2023-03-14 01:00:00,0.0,5.0 +10375,2023-03-14 01:10:00,0.0,5.0 +10376,2023-03-14 01:20:00,0.0,5.0 +10377,2023-03-14 01:30:00,0.0,5.0 +10378,2023-03-14 01:40:00,0.0,5.0 +10379,2023-03-14 01:50:00,0.0,5.0 +10386,2023-03-14 03:00:00,0.0,4.0 +10387,2023-03-14 03:10:00,0.0,4.0 +10388,2023-03-14 03:20:00,0.0,4.0 +10389,2023-03-14 03:30:00,0.0,4.0 +10390,2023-03-14 03:40:00,0.0,4.0 +10391,2023-03-14 03:50:00,0.0,4.0 +10398,2023-03-14 05:00:00,0.0,4.0 +10399,2023-03-14 05:10:00,0.0,4.0 +10400,2023-03-14 05:20:00,0.0,4.0 +10401,2023-03-14 05:30:00,0.0,4.0 +10402,2023-03-14 05:40:00,0.0,4.0 +10403,2023-03-14 05:50:00,0.0,4.0 +10410,2023-03-14 07:00:00,0.0,4.0 +10411,2023-03-14 07:10:00,0.0,4.0 +10412,2023-03-14 07:20:00,0.0,4.0 +10413,2023-03-14 07:30:00,0.0,4.0 +10414,2023-03-14 07:40:00,0.0,4.0 +10415,2023-03-14 07:50:00,0.0,4.0 +10428,2023-03-14 10:00:00,0.0,3.0 +10429,2023-03-14 10:10:00,0.0,3.0 +10430,2023-03-14 10:20:00,0.0,3.0 +10431,2023-03-14 10:30:00,0.0,3.0 +10432,2023-03-14 10:40:00,0.0,3.0 +10433,2023-03-14 10:50:00,0.0,3.0 +10440,2023-03-14 12:00:00,0.0,4.0 +10441,2023-03-14 12:10:00,0.0,4.0 +10442,2023-03-14 12:20:00,0.0,4.0 +10443,2023-03-14 12:30:00,0.0,4.0 +10444,2023-03-14 12:40:00,0.0,4.0 +10445,2023-03-14 12:50:00,0.0,4.0 +10446,2023-03-14 13:00:00,0.0,3.0 +10447,2023-03-14 13:10:00,0.0,3.0 +10448,2023-03-14 13:20:00,0.0,3.0 +10449,2023-03-14 13:30:00,0.0,3.0 +10450,2023-03-14 13:40:00,0.0,3.0 +10451,2023-03-14 13:50:00,0.0,3.0 +10452,2023-03-14 14:00:00,0.0,3.0 +10453,2023-03-14 14:10:00,0.0,3.0 +10454,2023-03-14 14:20:00,0.0,3.0 +10455,2023-03-14 14:30:00,0.0,3.0 +10456,2023-03-14 14:40:00,0.0,3.0 +10457,2023-03-14 14:50:00,0.0,3.0 +10464,2023-03-14 16:00:00,0.0,3.0 +10465,2023-03-14 16:10:00,0.0,3.0 +10466,2023-03-14 16:20:00,0.0,3.0 +10467,2023-03-14 16:30:00,0.0,3.0 +10468,2023-03-14 16:40:00,0.0,3.0 +10469,2023-03-14 16:50:00,0.0,3.0 +10470,2023-03-14 17:00:00,0.0,4.0 +10471,2023-03-14 17:10:00,0.0,4.0 +10472,2023-03-14 17:20:00,0.0,4.0 +10473,2023-03-14 17:30:00,0.0,4.0 +10474,2023-03-14 17:40:00,0.0,4.0 +10475,2023-03-14 17:50:00,0.0,4.0 +10488,2023-03-14 20:00:00,0.0,4.0 +10489,2023-03-14 20:10:00,0.0,4.0 +10490,2023-03-14 20:20:00,0.0,4.0 +10491,2023-03-14 20:30:00,0.0,4.0 +10492,2023-03-14 20:40:00,0.0,4.0 +10493,2023-03-14 20:50:00,0.0,4.0 +10518,2023-03-15 01:00:00,0.0,3.0 +10519,2023-03-15 01:10:00,0.0,3.0 +10520,2023-03-15 01:20:00,0.0,3.0 +10521,2023-03-15 01:30:00,0.0,3.0 +10522,2023-03-15 01:40:00,0.0,3.0 +10523,2023-03-15 01:50:00,0.0,3.0 +10542,2023-03-15 05:00:00,0.0,1.0 +10543,2023-03-15 05:10:00,0.0,1.0 +10544,2023-03-15 05:20:00,0.0,1.0 +10545,2023-03-15 05:30:00,0.0,1.0 +10546,2023-03-15 05:40:00,0.0,1.0 +10547,2023-03-15 05:50:00,0.0,1.0 +10566,2023-03-15 09:00:00,0.0,3.0 +10567,2023-03-15 09:10:00,0.0,3.0 +10568,2023-03-15 09:20:00,0.0,3.0 +10569,2023-03-15 09:30:00,0.0,3.0 +10570,2023-03-15 09:40:00,0.0,3.0 +10571,2023-03-15 09:50:00,0.0,3.0 +10578,2023-03-15 11:00:00,0.0,3.0 +10579,2023-03-15 11:10:00,0.0,3.0 +10580,2023-03-15 11:20:00,0.0,3.0 +10581,2023-03-15 11:30:00,0.0,3.0 +10582,2023-03-15 11:40:00,0.0,3.0 +10583,2023-03-15 11:50:00,0.0,3.0 +10626,2023-03-15 19:00:00,0.0,3.0 +10627,2023-03-15 19:10:00,0.0,3.0 +10628,2023-03-15 19:20:00,0.0,3.0 +10629,2023-03-15 19:30:00,0.0,3.0 +10630,2023-03-15 19:40:00,0.0,3.0 +10631,2023-03-15 19:50:00,0.0,3.0 +10632,2023-03-15 20:00:00,0.0,3.0 +10633,2023-03-15 20:10:00,0.0,3.0 +10634,2023-03-15 20:20:00,0.0,3.0 +10635,2023-03-15 20:30:00,0.0,3.0 +10636,2023-03-15 20:40:00,0.0,3.0 +10637,2023-03-15 20:50:00,0.0,3.0 +10644,2023-03-15 22:00:00,0.0,3.0 +10645,2023-03-15 22:10:00,0.0,3.0 +10646,2023-03-15 22:20:00,0.0,3.0 +10647,2023-03-15 22:30:00,0.0,3.0 +10648,2023-03-15 22:40:00,0.0,3.0 +10649,2023-03-15 22:50:00,0.0,3.0 +10650,2023-03-15 23:00:00,0.0,3.0 +10651,2023-03-15 23:10:00,0.0,3.0 +10652,2023-03-15 23:20:00,0.0,3.0 +10653,2023-03-15 23:30:00,0.0,3.0 +10654,2023-03-15 23:40:00,0.0,3.0 +10655,2023-03-15 23:50:00,0.0,3.0 +10656,2023-03-16 00:00:00,0.0,3.0 +10657,2023-03-16 00:10:00,0.0,3.0 +10658,2023-03-16 00:20:00,0.0,3.0 +10659,2023-03-16 00:30:00,0.0,3.0 +10660,2023-03-16 00:40:00,0.0,3.0 +10661,2023-03-16 00:50:00,0.0,3.0 +10662,2023-03-16 01:00:00,0.0,3.0 +10663,2023-03-16 01:10:00,0.0,3.0 +10664,2023-03-16 01:20:00,0.0,3.0 +10665,2023-03-16 01:30:00,0.0,3.0 +10666,2023-03-16 01:40:00,0.0,3.0 +10667,2023-03-16 01:50:00,0.0,3.0 +10668,2023-03-16 02:00:00,0.0,4.0 +10669,2023-03-16 02:10:00,0.0,4.0 +10670,2023-03-16 02:20:00,0.0,4.0 +10671,2023-03-16 02:30:00,0.0,4.0 +10672,2023-03-16 02:40:00,0.0,4.0 +10673,2023-03-16 02:50:00,0.0,4.0 +10692,2023-03-16 06:00:00,0.0,4.0 +10693,2023-03-16 06:10:00,0.0,4.0 +10694,2023-03-16 06:20:00,0.0,4.0 +10695,2023-03-16 06:30:00,0.0,4.0 +10696,2023-03-16 06:40:00,0.0,4.0 +10697,2023-03-16 06:50:00,0.0,4.0 +10704,2023-03-16 08:00:00,0.0,3.0 +10705,2023-03-16 08:10:00,0.0,3.0 +10706,2023-03-16 08:20:00,0.0,3.0 +10707,2023-03-16 08:30:00,0.0,3.0 +10708,2023-03-16 08:40:00,0.0,3.0 +10709,2023-03-16 08:50:00,0.0,3.0 +10710,2023-03-16 09:00:00,0.0,3.0 +10711,2023-03-16 09:10:00,0.0,3.0 +10712,2023-03-16 09:20:00,0.0,3.0 +10713,2023-03-16 09:30:00,0.0,3.0 +10714,2023-03-16 09:40:00,0.0,3.0 +10715,2023-03-16 09:50:00,0.0,3.0 +10722,2023-03-16 11:00:00,0.0,5.0 +10723,2023-03-16 11:10:00,0.0,5.0 +10724,2023-03-16 11:20:00,0.0,5.0 +10725,2023-03-16 11:30:00,0.0,5.0 +10726,2023-03-16 11:40:00,0.0,5.0 +10727,2023-03-16 11:50:00,0.0,5.0 +10740,2023-03-16 14:00:00,0.0,5.0 +10741,2023-03-16 14:10:00,0.0,5.0 +10742,2023-03-16 14:20:00,0.0,5.0 +10743,2023-03-16 14:30:00,0.0,5.0 +10744,2023-03-16 14:40:00,0.0,5.0 +10745,2023-03-16 14:50:00,0.0,5.0 +10746,2023-03-16 15:00:00,0.0,3.0 +10747,2023-03-16 15:10:00,0.0,3.0 +10748,2023-03-16 15:20:00,0.0,3.0 +10749,2023-03-16 15:30:00,0.0,3.0 +10750,2023-03-16 15:40:00,0.0,3.0 +10751,2023-03-16 15:50:00,0.0,3.0 +10758,2023-03-16 17:00:00,0.0,3.0 +10759,2023-03-16 17:10:00,0.0,3.0 +10760,2023-03-16 17:20:00,0.0,3.0 +10761,2023-03-16 17:30:00,0.0,3.0 +10762,2023-03-16 17:40:00,0.0,3.0 +10763,2023-03-16 17:50:00,0.0,3.0 +10776,2023-03-16 20:00:00,0.0,3.0 +10777,2023-03-16 20:10:00,0.0,3.0 +10778,2023-03-16 20:20:00,0.0,3.0 +10779,2023-03-16 20:30:00,0.0,3.0 +10780,2023-03-16 20:40:00,0.0,3.0 +10781,2023-03-16 20:50:00,0.0,3.0 +10782,2023-03-16 21:00:00,0.0,3.0 +10783,2023-03-16 21:10:00,0.0,3.0 +10784,2023-03-16 21:20:00,0.0,3.0 +10785,2023-03-16 21:30:00,0.0,3.0 +10786,2023-03-16 21:40:00,0.0,3.0 +10787,2023-03-16 21:50:00,0.0,3.0 +10788,2023-03-16 22:00:00,0.0,3.0 +10789,2023-03-16 22:10:00,0.0,3.0 +10790,2023-03-16 22:20:00,0.0,3.0 +10791,2023-03-16 22:30:00,0.0,3.0 +10792,2023-03-16 22:40:00,0.0,3.0 +10793,2023-03-16 22:50:00,0.0,3.0 +10806,2023-03-17 01:00:00,0.0,3.0 +10807,2023-03-17 01:10:00,0.0,3.0 +10808,2023-03-17 01:20:00,0.0,3.0 +10809,2023-03-17 01:30:00,0.0,3.0 +10810,2023-03-17 01:40:00,0.0,3.0 +10811,2023-03-17 01:50:00,0.0,3.0 +10818,2023-03-17 03:00:00,0.0,3.0 +10819,2023-03-17 03:10:00,0.0,3.0 +10820,2023-03-17 03:20:00,0.0,3.0 +10821,2023-03-17 03:30:00,0.0,3.0 +10822,2023-03-17 03:40:00,0.0,3.0 +10823,2023-03-17 03:50:00,0.0,3.0 +10842,2023-03-17 07:00:00,0.0,3.0 +10843,2023-03-17 07:10:00,0.0,3.0 +10844,2023-03-17 07:20:00,0.0,3.0 +10845,2023-03-17 07:30:00,0.0,3.0 +10846,2023-03-17 07:40:00,0.0,3.0 +10847,2023-03-17 07:50:00,0.0,3.0 +10848,2023-03-17 08:00:00,0.0,5.0 +10849,2023-03-17 08:10:00,0.0,5.0 +10850,2023-03-17 08:20:00,0.0,5.0 +10851,2023-03-17 08:30:00,0.0,5.0 +10852,2023-03-17 08:40:00,0.0,5.0 +10853,2023-03-17 08:50:00,0.0,5.0 +10872,2023-03-17 12:00:00,0.0,6.0 +10873,2023-03-17 12:10:00,0.0,6.0 +10874,2023-03-17 12:20:00,0.0,6.0 +10875,2023-03-17 12:30:00,0.0,6.0 +10876,2023-03-17 12:40:00,0.0,6.0 +10877,2023-03-17 12:50:00,0.0,6.0 +10884,2023-03-17 14:00:00,0.0,5.0 +10885,2023-03-17 14:10:00,0.0,5.0 +10886,2023-03-17 14:20:00,0.0,5.0 +10887,2023-03-17 14:30:00,0.0,5.0 +10888,2023-03-17 14:40:00,0.0,5.0 +10889,2023-03-17 14:50:00,0.0,5.0 +10890,2023-03-17 15:00:00,0.0,7.0 +10891,2023-03-17 15:10:00,0.0,7.0 +10892,2023-03-17 15:20:00,0.0,7.0 +10893,2023-03-17 15:30:00,0.0,7.0 +10894,2023-03-17 15:40:00,0.0,7.0 +10895,2023-03-17 15:50:00,0.0,7.0 +10902,2023-03-17 17:00:00,0.0,5.0 +10903,2023-03-17 17:10:00,0.0,5.0 +10904,2023-03-17 17:20:00,0.0,5.0 +10905,2023-03-17 17:30:00,0.0,5.0 +10906,2023-03-17 17:40:00,0.0,5.0 +10907,2023-03-17 17:50:00,0.0,5.0 +10914,2023-03-17 19:00:00,0.0,5.0 +10915,2023-03-17 19:10:00,0.0,5.0 +10916,2023-03-17 19:20:00,0.0,5.0 +10917,2023-03-17 19:30:00,0.0,5.0 +10918,2023-03-17 19:40:00,0.0,5.0 +10919,2023-03-17 19:50:00,0.0,5.0 +10920,2023-03-17 20:00:00,0.0,4.0 +10921,2023-03-17 20:10:00,0.0,4.0 +10922,2023-03-17 20:20:00,0.0,4.0 +10923,2023-03-17 20:30:00,0.0,4.0 +10924,2023-03-17 20:40:00,0.0,4.0 +10925,2023-03-17 20:50:00,0.0,4.0 +10926,2023-03-17 21:00:00,0.0,5.0 +10927,2023-03-17 21:10:00,0.0,5.0 +10928,2023-03-17 21:20:00,0.0,5.0 +10929,2023-03-17 21:30:00,0.0,5.0 +10930,2023-03-17 21:40:00,0.0,5.0 +10931,2023-03-17 21:50:00,0.0,5.0 +10932,2023-03-17 22:00:00,0.0,3.0 +10933,2023-03-17 22:10:00,0.0,3.0 +10934,2023-03-17 22:20:00,0.0,3.0 +10935,2023-03-17 22:30:00,0.0,3.0 +10936,2023-03-17 22:40:00,0.0,3.0 +10937,2023-03-17 22:50:00,0.0,3.0 +10938,2023-03-17 23:00:00,0.0,5.0 +10939,2023-03-17 23:10:00,0.0,5.0 +10940,2023-03-17 23:20:00,0.0,5.0 +10941,2023-03-17 23:30:00,0.0,5.0 +10942,2023-03-17 23:40:00,0.0,5.0 +10943,2023-03-17 23:50:00,0.0,5.0 +10956,2023-03-18 02:00:00,0.0,5.0 +10957,2023-03-18 02:10:00,0.0,5.0 +10958,2023-03-18 02:20:00,0.0,5.0 +10959,2023-03-18 02:30:00,0.0,5.0 +10960,2023-03-18 02:40:00,0.0,5.0 +10961,2023-03-18 02:50:00,0.0,5.0 +10980,2023-03-18 06:00:00,0.0,5.0 +10981,2023-03-18 06:10:00,0.0,5.0 +10982,2023-03-18 06:20:00,0.0,5.0 +10983,2023-03-18 06:30:00,0.0,5.0 +10984,2023-03-18 06:40:00,0.0,5.0 +10985,2023-03-18 06:50:00,0.0,5.0 +10986,2023-03-18 07:00:00,0.0,5.0 +10987,2023-03-18 07:10:00,0.0,5.0 +10988,2023-03-18 07:20:00,0.0,5.0 +10989,2023-03-18 07:30:00,0.0,5.0 +10990,2023-03-18 07:40:00,0.0,5.0 +10991,2023-03-18 07:50:00,0.0,5.0 +10992,2023-03-18 08:00:00,0.0,5.0 +10993,2023-03-18 08:10:00,0.0,5.0 +10994,2023-03-18 08:20:00,0.0,5.0 +10995,2023-03-18 08:30:00,0.0,5.0 +10996,2023-03-18 08:40:00,0.0,5.0 +10997,2023-03-18 08:50:00,0.0,5.0 +10998,2023-03-18 09:00:00,0.0,5.0 +10999,2023-03-18 09:10:00,0.0,5.0 +11000,2023-03-18 09:20:00,0.0,5.0 +11001,2023-03-18 09:30:00,0.0,5.0 +11002,2023-03-18 09:40:00,0.0,5.0 +11003,2023-03-18 09:50:00,0.0,5.0 +11022,2023-03-18 13:00:00,0.0,7.0 +11023,2023-03-18 13:10:00,0.0,7.0 +11024,2023-03-18 13:20:00,0.0,7.0 +11025,2023-03-18 13:30:00,0.0,7.0 +11026,2023-03-18 13:40:00,0.0,7.0 +11027,2023-03-18 13:50:00,0.0,7.0 +11046,2023-03-18 17:00:00,0.0,5.0 +11047,2023-03-18 17:10:00,0.0,5.0 +11048,2023-03-18 17:20:00,0.0,5.0 +11049,2023-03-18 17:30:00,0.0,5.0 +11050,2023-03-18 17:40:00,0.0,5.0 +11051,2023-03-18 17:50:00,0.0,5.0 +11052,2023-03-18 18:00:00,0.0,3.0 +11053,2023-03-18 18:10:00,0.0,3.0 +11054,2023-03-18 18:20:00,0.0,3.0 +11055,2023-03-18 18:30:00,0.0,3.0 +11056,2023-03-18 18:40:00,0.0,3.0 +11057,2023-03-18 18:50:00,0.0,3.0 +11064,2023-03-18 20:00:00,0.0,6.0 +11065,2023-03-18 20:10:00,0.0,6.0 +11066,2023-03-18 20:20:00,0.0,6.0 +11067,2023-03-18 20:30:00,0.0,6.0 +11068,2023-03-18 20:40:00,0.0,6.0 +11069,2023-03-18 20:50:00,0.0,6.0 +11070,2023-03-18 21:00:00,0.0,6.0 +11071,2023-03-18 21:10:00,0.0,6.0 +11072,2023-03-18 21:20:00,0.0,6.0 +11073,2023-03-18 21:30:00,0.0,6.0 +11074,2023-03-18 21:40:00,0.0,6.0 +11075,2023-03-18 21:50:00,0.0,6.0 +11076,2023-03-18 22:00:00,0.0,6.0 +11077,2023-03-18 22:10:00,0.0,6.0 +11078,2023-03-18 22:20:00,0.0,6.0 +11079,2023-03-18 22:30:00,0.0,6.0 +11080,2023-03-18 22:40:00,0.0,6.0 +11081,2023-03-18 22:50:00,0.0,6.0 +11082,2023-03-18 23:00:00,0.0,6.0 +11083,2023-03-18 23:10:00,0.0,6.0 +11084,2023-03-18 23:20:00,0.0,6.0 +11085,2023-03-18 23:30:00,0.0,6.0 +11086,2023-03-18 23:40:00,0.0,6.0 +11087,2023-03-18 23:50:00,0.0,6.0 +11100,2023-03-19 02:00:00,0.0,3.0 +11101,2023-03-19 02:10:00,0.0,3.0 +11102,2023-03-19 02:20:00,0.0,3.0 +11103,2023-03-19 02:30:00,0.0,3.0 +11104,2023-03-19 02:40:00,0.0,3.0 +11105,2023-03-19 02:50:00,0.0,3.0 +11112,2023-03-19 04:00:00,0.0,6.0 +11113,2023-03-19 04:10:00,0.0,6.0 +11114,2023-03-19 04:20:00,0.0,6.0 +11115,2023-03-19 04:30:00,0.0,6.0 +11116,2023-03-19 04:40:00,0.0,6.0 +11117,2023-03-19 04:50:00,0.0,6.0 +11124,2023-03-19 06:00:00,0.0,3.0 +11125,2023-03-19 06:10:00,0.0,3.0 +11126,2023-03-19 06:20:00,0.0,3.0 +11127,2023-03-19 06:30:00,0.0,3.0 +11128,2023-03-19 06:40:00,0.0,3.0 +11129,2023-03-19 06:50:00,0.0,3.0 +11136,2023-03-19 08:00:00,0.0,3.0 +11137,2023-03-19 08:10:00,0.0,3.0 +11138,2023-03-19 08:20:00,0.0,3.0 +11139,2023-03-19 08:30:00,0.0,3.0 +11140,2023-03-19 08:40:00,0.0,3.0 +11141,2023-03-19 08:50:00,0.0,3.0 +11154,2023-03-19 11:00:00,0.0,3.0 +11155,2023-03-19 11:10:00,0.0,3.0 +11156,2023-03-19 11:20:00,0.0,3.0 +11157,2023-03-19 11:30:00,0.0,3.0 +11158,2023-03-19 11:40:00,0.0,3.0 +11159,2023-03-19 11:50:00,0.0,3.0 +11160,2023-03-19 12:00:00,0.0,5.0 +11161,2023-03-19 12:10:00,0.0,5.0 +11162,2023-03-19 12:20:00,0.0,5.0 +11163,2023-03-19 12:30:00,0.0,5.0 +11164,2023-03-19 12:40:00,0.0,5.0 +11165,2023-03-19 12:50:00,0.0,5.0 +11166,2023-03-19 13:00:00,0.0,3.0 +11167,2023-03-19 13:10:00,0.0,3.0 +11168,2023-03-19 13:20:00,0.0,3.0 +11169,2023-03-19 13:30:00,0.0,3.0 +11170,2023-03-19 13:40:00,0.0,3.0 +11171,2023-03-19 13:50:00,0.0,3.0 +11172,2023-03-19 14:00:00,0.0,3.0 +11173,2023-03-19 14:10:00,0.0,3.0 +11174,2023-03-19 14:20:00,0.0,3.0 +11175,2023-03-19 14:30:00,0.0,3.0 +11176,2023-03-19 14:40:00,0.0,3.0 +11177,2023-03-19 14:50:00,0.0,3.0 +11178,2023-03-19 15:00:00,0.0,3.0 +11179,2023-03-19 15:10:00,0.0,3.0 +11180,2023-03-19 15:20:00,0.0,3.0 +11181,2023-03-19 15:30:00,0.0,3.0 +11182,2023-03-19 15:40:00,0.0,3.0 +11183,2023-03-19 15:50:00,0.0,3.0 +11208,2023-03-19 20:00:00,0.0,3.0 +11209,2023-03-19 20:10:00,0.0,3.0 +11210,2023-03-19 20:20:00,0.0,3.0 +11211,2023-03-19 20:30:00,0.0,3.0 +11212,2023-03-19 20:40:00,0.0,3.0 +11213,2023-03-19 20:50:00,0.0,3.0 +11220,2023-03-19 22:00:00,0.0,3.0 +11221,2023-03-19 22:10:00,0.0,3.0 +11222,2023-03-19 22:20:00,0.0,3.0 +11223,2023-03-19 22:30:00,0.0,3.0 +11224,2023-03-19 22:40:00,0.0,3.0 +11225,2023-03-19 22:50:00,0.0,3.0 +11256,2023-03-20 04:00:00,0.0,3.0 +11257,2023-03-20 04:10:00,0.0,3.0 +11258,2023-03-20 04:20:00,0.0,3.0 +11259,2023-03-20 04:30:00,0.0,3.0 +11260,2023-03-20 04:40:00,0.0,3.0 +11261,2023-03-20 04:50:00,0.0,3.0 +11268,2023-03-20 06:00:00,0.0,3.0 +11269,2023-03-20 06:10:00,0.0,3.0 +11270,2023-03-20 06:20:00,0.0,3.0 +11271,2023-03-20 06:30:00,0.0,3.0 +11272,2023-03-20 06:40:00,0.0,3.0 +11273,2023-03-20 06:50:00,0.0,3.0 +11292,2023-03-20 10:00:00,0.0,4.0 +11293,2023-03-20 10:10:00,0.0,4.0 +11294,2023-03-20 10:20:00,0.0,4.0 +11295,2023-03-20 10:30:00,0.0,4.0 +11296,2023-03-20 10:40:00,0.0,4.0 +11297,2023-03-20 10:50:00,0.0,4.0 +11298,2023-03-20 11:00:00,0.0,4.0 +11299,2023-03-20 11:10:00,0.0,4.0 +11300,2023-03-20 11:20:00,0.0,4.0 +11301,2023-03-20 11:30:00,0.0,4.0 +11302,2023-03-20 11:40:00,0.0,4.0 +11303,2023-03-20 11:50:00,0.0,4.0 +11304,2023-03-20 12:00:00,0.0,4.0 +11305,2023-03-20 12:10:00,0.0,4.0 +11306,2023-03-20 12:20:00,0.0,4.0 +11307,2023-03-20 12:30:00,0.0,4.0 +11308,2023-03-20 12:40:00,0.0,4.0 +11309,2023-03-20 12:50:00,0.0,4.0 +11316,2023-03-20 14:00:00,0.0,4.0 +11317,2023-03-20 14:10:00,0.0,4.0 +11318,2023-03-20 14:20:00,0.0,4.0 +11319,2023-03-20 14:30:00,0.0,4.0 +11320,2023-03-20 14:40:00,0.0,4.0 +11321,2023-03-20 14:50:00,0.0,4.0 +11322,2023-03-20 15:00:00,0.0,4.0 +11323,2023-03-20 15:10:00,0.0,4.0 +11324,2023-03-20 15:20:00,0.0,4.0 +11325,2023-03-20 15:30:00,0.0,4.0 +11326,2023-03-20 15:40:00,0.0,4.0 +11327,2023-03-20 15:50:00,0.0,4.0 +11328,2023-03-20 16:00:00,0.0,4.0 +11329,2023-03-20 16:10:00,0.0,4.0 +11330,2023-03-20 16:20:00,0.0,4.0 +11331,2023-03-20 16:30:00,0.0,4.0 +11332,2023-03-20 16:40:00,0.0,4.0 +11333,2023-03-20 16:50:00,0.0,4.0 +11346,2023-03-20 19:00:00,0.0,4.0 +11347,2023-03-20 19:10:00,0.0,4.0 +11348,2023-03-20 19:20:00,0.0,4.0 +11349,2023-03-20 19:30:00,0.0,4.0 +11350,2023-03-20 19:40:00,0.0,4.0 +11351,2023-03-20 19:50:00,0.0,4.0 +11352,2023-03-20 20:00:00,0.0,4.0 +11353,2023-03-20 20:10:00,0.0,4.0 +11354,2023-03-20 20:20:00,0.0,4.0 +11355,2023-03-20 20:30:00,0.0,4.0 +11356,2023-03-20 20:40:00,0.0,4.0 +11357,2023-03-20 20:50:00,0.0,4.0 +11358,2023-03-20 21:00:00,0.0,3.0 +11359,2023-03-20 21:10:00,0.0,3.0 +11360,2023-03-20 21:20:00,0.0,3.0 +11361,2023-03-20 21:30:00,0.0,3.0 +11362,2023-03-20 21:40:00,0.0,3.0 +11363,2023-03-20 21:50:00,0.0,3.0 +11370,2023-03-20 23:00:00,0.0,3.0 +11371,2023-03-20 23:10:00,0.0,3.0 +11372,2023-03-20 23:20:00,0.0,3.0 +11373,2023-03-20 23:30:00,0.0,3.0 +11374,2023-03-20 23:40:00,0.0,3.0 +11375,2023-03-20 23:50:00,0.0,3.0 +11376,2023-03-21 00:00:00,0.0,4.0 +11377,2023-03-21 00:10:00,0.0,4.0 +11378,2023-03-21 00:20:00,0.0,4.0 +11379,2023-03-21 00:30:00,0.0,4.0 +11380,2023-03-21 00:40:00,0.0,4.0 +11381,2023-03-21 00:50:00,0.0,4.0 +11382,2023-03-21 01:00:00,0.0,3.0 +11383,2023-03-21 01:10:00,0.0,3.0 +11384,2023-03-21 01:20:00,0.0,3.0 +11385,2023-03-21 01:30:00,0.0,3.0 +11386,2023-03-21 01:40:00,0.0,3.0 +11387,2023-03-21 01:50:00,0.0,3.0 +11388,2023-03-21 02:00:00,0.0,4.0 +11389,2023-03-21 02:10:00,0.0,4.0 +11390,2023-03-21 02:20:00,0.0,4.0 +11391,2023-03-21 02:30:00,0.0,4.0 +11392,2023-03-21 02:40:00,0.0,4.0 +11393,2023-03-21 02:50:00,0.0,4.0 +11400,2023-03-21 04:00:00,0.0,3.0 +11401,2023-03-21 04:10:00,0.0,3.0 +11402,2023-03-21 04:20:00,0.0,3.0 +11403,2023-03-21 04:30:00,0.0,3.0 +11404,2023-03-21 04:40:00,0.0,3.0 +11405,2023-03-21 04:50:00,0.0,3.0 +11406,2023-03-21 05:00:00,0.0,4.0 +11407,2023-03-21 05:10:00,0.0,4.0 +11408,2023-03-21 05:20:00,0.0,4.0 +11409,2023-03-21 05:30:00,0.0,4.0 +11410,2023-03-21 05:40:00,0.0,4.0 +11411,2023-03-21 05:50:00,0.0,4.0 +11412,2023-03-21 06:00:00,0.0,4.0 +11413,2023-03-21 06:10:00,0.0,4.0 +11414,2023-03-21 06:20:00,0.0,4.0 +11415,2023-03-21 06:30:00,0.0,4.0 +11416,2023-03-21 06:40:00,0.0,4.0 +11417,2023-03-21 06:50:00,0.0,4.0 +11418,2023-03-21 07:00:00,0.0,4.0 +11419,2023-03-21 07:10:00,0.0,4.0 +11420,2023-03-21 07:20:00,0.0,4.0 +11421,2023-03-21 07:30:00,0.0,4.0 +11422,2023-03-21 07:40:00,0.0,4.0 +11423,2023-03-21 07:50:00,0.0,4.0 +11424,2023-03-21 08:00:00,0.0,5.0 +11425,2023-03-21 08:10:00,0.0,5.0 +11426,2023-03-21 08:20:00,0.0,5.0 +11427,2023-03-21 08:30:00,0.0,5.0 +11428,2023-03-21 08:40:00,0.0,5.0 +11429,2023-03-21 08:50:00,0.0,5.0 +11430,2023-03-21 09:00:00,0.0,5.0 +11431,2023-03-21 09:10:00,0.0,5.0 +11432,2023-03-21 09:20:00,0.0,5.0 +11433,2023-03-21 09:30:00,0.0,5.0 +11434,2023-03-21 09:40:00,0.0,5.0 +11435,2023-03-21 09:50:00,0.0,5.0 +11436,2023-03-21 10:00:00,0.0,6.0 +11437,2023-03-21 10:10:00,0.0,6.0 +11438,2023-03-21 10:20:00,0.0,6.0 +11439,2023-03-21 10:30:00,0.0,6.0 +11440,2023-03-21 10:40:00,0.0,6.0 +11441,2023-03-21 10:50:00,0.0,6.0 +11442,2023-03-21 11:00:00,0.0,5.0 +11443,2023-03-21 11:10:00,0.0,5.0 +11444,2023-03-21 11:20:00,0.0,5.0 +11445,2023-03-21 11:30:00,0.0,5.0 +11446,2023-03-21 11:40:00,0.0,5.0 +11447,2023-03-21 11:50:00,0.0,5.0 +11448,2023-03-21 12:00:00,0.0,5.0 +11449,2023-03-21 12:10:00,0.0,5.0 +11450,2023-03-21 12:20:00,0.0,5.0 +11451,2023-03-21 12:30:00,0.0,5.0 +11452,2023-03-21 12:40:00,0.0,5.0 +11453,2023-03-21 12:50:00,0.0,5.0 +11472,2023-03-21 16:00:00,0.0,6.0 +11473,2023-03-21 16:10:00,0.0,6.0 +11474,2023-03-21 16:20:00,0.0,6.0 +11475,2023-03-21 16:30:00,0.0,6.0 +11476,2023-03-21 16:40:00,0.0,6.0 +11477,2023-03-21 16:50:00,0.0,6.0 +11478,2023-03-21 17:00:00,0.0,6.0 +11479,2023-03-21 17:10:00,0.0,6.0 +11480,2023-03-21 17:20:00,0.0,6.0 +11481,2023-03-21 17:30:00,0.0,6.0 +11482,2023-03-21 17:40:00,0.0,6.0 +11483,2023-03-21 17:50:00,0.0,6.0 +11490,2023-03-21 19:00:00,0.0,3.0 +11491,2023-03-21 19:10:00,0.0,3.0 +11492,2023-03-21 19:20:00,0.0,3.0 +11493,2023-03-21 19:30:00,0.0,3.0 +11494,2023-03-21 19:40:00,0.0,3.0 +11495,2023-03-21 19:50:00,0.0,3.0 +11496,2023-03-21 20:00:00,0.0,5.0 +11497,2023-03-21 20:10:00,0.0,5.0 +11498,2023-03-21 20:20:00,0.0,5.0 +11499,2023-03-21 20:30:00,0.0,5.0 +11500,2023-03-21 20:40:00,0.0,5.0 +11501,2023-03-21 20:50:00,0.0,5.0 +11514,2023-03-21 23:00:00,0.0,3.0 +11515,2023-03-21 23:10:00,0.0,3.0 +11516,2023-03-21 23:20:00,0.0,3.0 +11517,2023-03-21 23:30:00,0.0,3.0 +11518,2023-03-21 23:40:00,0.0,3.0 +11519,2023-03-21 23:50:00,0.0,3.0 +11538,2023-03-22 03:00:00,0.0,3.0 +11539,2023-03-22 03:10:00,0.0,3.0 +11540,2023-03-22 03:20:00,0.0,3.0 +11541,2023-03-22 03:30:00,0.0,3.0 +11542,2023-03-22 03:40:00,0.0,3.0 +11543,2023-03-22 03:50:00,0.0,3.0 +11556,2023-03-22 06:00:00,0.0,5.0 +11557,2023-03-22 06:10:00,0.0,5.0 +11558,2023-03-22 06:20:00,0.0,5.0 +11559,2023-03-22 06:30:00,0.0,5.0 +11560,2023-03-22 06:40:00,0.0,5.0 +11561,2023-03-22 06:50:00,0.0,5.0 +11568,2023-03-22 08:00:00,0.0,4.0 +11569,2023-03-22 08:10:00,0.0,4.0 +11570,2023-03-22 08:20:00,0.0,4.0 +11571,2023-03-22 08:30:00,0.0,4.0 +11572,2023-03-22 08:40:00,0.0,4.0 +11573,2023-03-22 08:50:00,0.0,4.0 +11574,2023-03-22 09:00:00,0.0,5.0 +11575,2023-03-22 09:10:00,0.0,5.0 +11576,2023-03-22 09:20:00,0.0,5.0 +11577,2023-03-22 09:30:00,0.0,5.0 +11578,2023-03-22 09:40:00,0.0,5.0 +11579,2023-03-22 09:50:00,0.0,5.0 +11580,2023-03-22 10:00:00,0.0,6.0 +11581,2023-03-22 10:10:00,0.0,6.0 +11582,2023-03-22 10:20:00,0.0,6.0 +11583,2023-03-22 10:30:00,0.0,6.0 +11584,2023-03-22 10:40:00,0.0,6.0 +11585,2023-03-22 10:50:00,0.0,6.0 +11592,2023-03-22 12:00:00,0.0,5.0 +11593,2023-03-22 12:10:00,0.0,5.0 +11594,2023-03-22 12:20:00,0.0,5.0 +11595,2023-03-22 12:30:00,0.0,5.0 +11596,2023-03-22 12:40:00,0.0,5.0 +11597,2023-03-22 12:50:00,0.0,5.0 +11598,2023-03-22 13:00:00,0.0,5.0 +11599,2023-03-22 13:10:00,0.0,5.0 +11600,2023-03-22 13:20:00,0.0,5.0 +11601,2023-03-22 13:30:00,0.0,5.0 +11602,2023-03-22 13:40:00,0.0,5.0 +11603,2023-03-22 13:50:00,0.0,5.0 +11610,2023-03-22 15:00:00,0.0,6.0 +11611,2023-03-22 15:10:00,0.0,6.0 +11612,2023-03-22 15:20:00,0.0,6.0 +11613,2023-03-22 15:30:00,0.0,6.0 +11614,2023-03-22 15:40:00,0.0,6.0 +11615,2023-03-22 15:50:00,0.0,6.0 +11616,2023-03-22 16:00:00,0.0,6.0 +11617,2023-03-22 16:10:00,0.0,6.0 +11618,2023-03-22 16:20:00,0.0,6.0 +11619,2023-03-22 16:30:00,0.0,6.0 +11620,2023-03-22 16:40:00,0.0,6.0 +11621,2023-03-22 16:50:00,0.0,6.0 +11622,2023-03-22 17:00:00,0.0,6.0 +11623,2023-03-22 17:10:00,0.0,6.0 +11624,2023-03-22 17:20:00,0.0,6.0 +11625,2023-03-22 17:30:00,0.0,6.0 +11626,2023-03-22 17:40:00,0.0,6.0 +11627,2023-03-22 17:50:00,0.0,6.0 +11628,2023-03-22 18:00:00,0.0,6.0 +11629,2023-03-22 18:10:00,0.0,6.0 +11630,2023-03-22 18:20:00,0.0,6.0 +11631,2023-03-22 18:30:00,0.0,6.0 +11632,2023-03-22 18:40:00,0.0,6.0 +11633,2023-03-22 18:50:00,0.0,6.0 +11640,2023-03-22 20:00:00,0.0,4.0 +11641,2023-03-22 20:10:00,0.0,4.0 +11642,2023-03-22 20:20:00,0.0,4.0 +11643,2023-03-22 20:30:00,0.0,4.0 +11644,2023-03-22 20:40:00,0.0,4.0 +11645,2023-03-22 20:50:00,0.0,4.0 +11646,2023-03-22 21:00:00,0.0,6.0 +11647,2023-03-22 21:10:00,0.0,6.0 +11648,2023-03-22 21:20:00,0.0,6.0 +11649,2023-03-22 21:30:00,0.0,6.0 +11650,2023-03-22 21:40:00,0.0,6.0 +11651,2023-03-22 21:50:00,0.0,6.0 +11664,2023-03-23 00:00:00,0.0,6.0 +11665,2023-03-23 00:10:00,0.0,6.0 +11666,2023-03-23 00:20:00,0.0,6.0 +11667,2023-03-23 00:30:00,0.0,6.0 +11668,2023-03-23 00:40:00,0.0,6.0 +11669,2023-03-23 00:50:00,0.0,6.0 +11676,2023-03-23 02:00:00,0.0,6.0 +11677,2023-03-23 02:10:00,0.0,6.0 +11678,2023-03-23 02:20:00,0.0,6.0 +11679,2023-03-23 02:30:00,0.0,6.0 +11680,2023-03-23 02:40:00,0.0,6.0 +11681,2023-03-23 02:50:00,0.0,6.0 +11688,2023-03-23 04:00:00,0.0,5.0 +11689,2023-03-23 04:10:00,0.0,5.0 +11690,2023-03-23 04:20:00,0.0,5.0 +11691,2023-03-23 04:30:00,0.0,5.0 +11692,2023-03-23 04:40:00,0.0,5.0 +11693,2023-03-23 04:50:00,0.0,5.0 +11706,2023-03-23 07:00:00,0.0,6.0 +11707,2023-03-23 07:10:00,0.0,6.0 +11708,2023-03-23 07:20:00,0.0,6.0 +11709,2023-03-23 07:30:00,0.0,6.0 +11710,2023-03-23 07:40:00,0.0,6.0 +11711,2023-03-23 07:50:00,0.0,6.0 +11712,2023-03-23 08:00:00,0.0,6.0 +11713,2023-03-23 08:10:00,0.0,6.0 +11714,2023-03-23 08:20:00,0.0,6.0 +11715,2023-03-23 08:30:00,0.0,6.0 +11716,2023-03-23 08:40:00,0.0,6.0 +11717,2023-03-23 08:50:00,0.0,6.0 +11724,2023-03-23 10:00:00,0.0,6.0 +11725,2023-03-23 10:10:00,0.0,6.0 +11726,2023-03-23 10:20:00,0.0,6.0 +11727,2023-03-23 10:30:00,0.0,6.0 +11728,2023-03-23 10:40:00,0.0,6.0 +11729,2023-03-23 10:50:00,0.0,6.0 +11736,2023-03-23 12:00:00,0.0,5.0 +11737,2023-03-23 12:10:00,0.0,5.0 +11738,2023-03-23 12:20:00,0.0,5.0 +11739,2023-03-23 12:30:00,0.0,5.0 +11740,2023-03-23 12:40:00,0.0,5.0 +11741,2023-03-23 12:50:00,0.0,5.0 +11742,2023-03-23 13:00:00,0.0,5.0 +11743,2023-03-23 13:10:00,0.0,5.0 +11744,2023-03-23 13:20:00,0.0,5.0 +11745,2023-03-23 13:30:00,0.0,5.0 +11746,2023-03-23 13:40:00,0.0,5.0 +11747,2023-03-23 13:50:00,0.0,5.0 +11760,2023-03-23 16:00:00,0.0,5.0 +11761,2023-03-23 16:10:00,0.0,5.0 +11762,2023-03-23 16:20:00,0.0,5.0 +11763,2023-03-23 16:30:00,0.0,5.0 +11764,2023-03-23 16:40:00,0.0,5.0 +11765,2023-03-23 16:50:00,0.0,5.0 +11790,2023-03-23 21:00:00,0.0,6.0 +11791,2023-03-23 21:10:00,0.0,6.0 +11792,2023-03-23 21:20:00,0.0,6.0 +11793,2023-03-23 21:30:00,0.0,6.0 +11794,2023-03-23 21:40:00,0.0,6.0 +11795,2023-03-23 21:50:00,0.0,6.0 +11796,2023-03-23 22:00:00,0.0,6.0 +11797,2023-03-23 22:10:00,0.0,6.0 +11798,2023-03-23 22:20:00,0.0,6.0 +11799,2023-03-23 22:30:00,0.0,6.0 +11800,2023-03-23 22:40:00,0.0,6.0 +11801,2023-03-23 22:50:00,0.0,6.0 +11802,2023-03-23 23:00:00,0.0,6.0 +11803,2023-03-23 23:10:00,0.0,6.0 +11804,2023-03-23 23:20:00,0.0,6.0 +11805,2023-03-23 23:30:00,0.0,6.0 +11806,2023-03-23 23:40:00,0.0,6.0 +11807,2023-03-23 23:50:00,0.0,6.0 +11838,2023-03-24 05:00:00,0.0,3.0 +11839,2023-03-24 05:10:00,0.0,3.0 +11840,2023-03-24 05:20:00,0.0,3.0 +11841,2023-03-24 05:30:00,0.0,3.0 +11842,2023-03-24 05:40:00,0.0,3.0 +11843,2023-03-24 05:50:00,0.0,3.0 +11850,2023-03-24 07:00:00,0.0,5.0 +11851,2023-03-24 07:10:00,0.0,5.0 +11852,2023-03-24 07:20:00,0.0,5.0 +11853,2023-03-24 07:30:00,0.0,5.0 +11854,2023-03-24 07:40:00,0.0,5.0 +11855,2023-03-24 07:50:00,0.0,5.0 +11868,2023-03-24 10:00:00,0.0,5.0 +11869,2023-03-24 10:10:00,0.0,5.0 +11870,2023-03-24 10:20:00,0.0,5.0 +11871,2023-03-24 10:30:00,0.0,5.0 +11872,2023-03-24 10:40:00,0.0,5.0 +11873,2023-03-24 10:50:00,0.0,5.0 +11916,2023-03-24 18:00:00,0.0,5.0 +11917,2023-03-24 18:10:00,0.0,5.0 +11918,2023-03-24 18:20:00,0.0,5.0 +11919,2023-03-24 18:30:00,0.0,5.0 +11920,2023-03-24 18:40:00,0.0,5.0 +11921,2023-03-24 18:50:00,0.0,5.0 +11928,2023-03-24 20:00:00,0.0,3.0 +11929,2023-03-24 20:10:00,0.0,3.0 +11930,2023-03-24 20:20:00,0.0,3.0 +11931,2023-03-24 20:30:00,0.0,3.0 +11932,2023-03-24 20:40:00,0.0,3.0 +11933,2023-03-24 20:50:00,0.0,3.0 +11934,2023-03-24 21:00:00,0.0,4.0 +11935,2023-03-24 21:10:00,0.0,4.0 +11936,2023-03-24 21:20:00,0.0,4.0 +11937,2023-03-24 21:30:00,0.0,4.0 +11938,2023-03-24 21:40:00,0.0,4.0 +11939,2023-03-24 21:50:00,0.0,4.0 +11940,2023-03-24 22:00:00,0.0,4.0 +11941,2023-03-24 22:10:00,0.0,4.0 +11942,2023-03-24 22:20:00,0.0,4.0 +11943,2023-03-24 22:30:00,0.0,4.0 +11944,2023-03-24 22:40:00,0.0,4.0 +11945,2023-03-24 22:50:00,0.0,4.0 +11946,2023-03-24 23:00:00,0.0,4.0 +11947,2023-03-24 23:10:00,0.0,4.0 +11948,2023-03-24 23:20:00,0.0,4.0 +11949,2023-03-24 23:30:00,0.0,4.0 +11950,2023-03-24 23:40:00,0.0,4.0 +11951,2023-03-24 23:50:00,0.0,4.0 +11970,2023-03-25 03:00:00,0.0,3.0 +11971,2023-03-25 03:10:00,0.0,3.0 +11972,2023-03-25 03:20:00,0.0,3.0 +11973,2023-03-25 03:30:00,0.0,3.0 +11974,2023-03-25 03:40:00,0.0,3.0 +11975,2023-03-25 03:50:00,0.0,3.0 +12000,2023-03-25 08:00:00,0.0,4.0 +12001,2023-03-25 08:10:00,0.0,4.0 +12002,2023-03-25 08:20:00,0.0,4.0 +12003,2023-03-25 08:30:00,0.0,4.0 +12004,2023-03-25 08:40:00,0.0,4.0 +12005,2023-03-25 08:50:00,0.0,4.0 +12006,2023-03-25 09:00:00,0.0,4.0 +12007,2023-03-25 09:10:00,0.0,4.0 +12008,2023-03-25 09:20:00,0.0,4.0 +12009,2023-03-25 09:30:00,0.0,4.0 +12010,2023-03-25 09:40:00,0.0,4.0 +12011,2023-03-25 09:50:00,0.0,4.0 +12024,2023-03-25 12:00:00,0.0,4.0 +12025,2023-03-25 12:10:00,0.0,4.0 +12026,2023-03-25 12:20:00,0.0,4.0 +12027,2023-03-25 12:30:00,0.0,4.0 +12028,2023-03-25 12:40:00,0.0,4.0 +12029,2023-03-25 12:50:00,0.0,4.0 +12036,2023-03-25 14:00:00,0.0,3.0 +12037,2023-03-25 14:10:00,0.0,3.0 +12038,2023-03-25 14:20:00,0.0,3.0 +12039,2023-03-25 14:30:00,0.0,3.0 +12040,2023-03-25 14:40:00,0.0,3.0 +12041,2023-03-25 14:50:00,0.0,3.0 +12048,2023-03-25 16:00:00,0.0,5.0 +12049,2023-03-25 16:10:00,0.0,5.0 +12050,2023-03-25 16:20:00,0.0,5.0 +12051,2023-03-25 16:30:00,0.0,5.0 +12052,2023-03-25 16:40:00,0.0,5.0 +12053,2023-03-25 16:50:00,0.0,5.0 +12066,2023-03-25 19:00:00,0.0,3.0 +12067,2023-03-25 19:10:00,0.0,3.0 +12068,2023-03-25 19:20:00,0.0,3.0 +12069,2023-03-25 19:30:00,0.0,3.0 +12070,2023-03-25 19:40:00,0.0,3.0 +12071,2023-03-25 19:50:00,0.0,3.0 +12078,2023-03-25 21:00:00,0.0,3.0 +12079,2023-03-25 21:10:00,0.0,3.0 +12080,2023-03-25 21:20:00,0.0,3.0 +12081,2023-03-25 21:30:00,0.0,3.0 +12082,2023-03-25 21:40:00,0.0,3.0 +12083,2023-03-25 21:50:00,0.0,3.0 +12084,2023-03-25 22:00:00,0.0,4.0 +12085,2023-03-25 22:10:00,0.0,4.0 +12086,2023-03-25 22:20:00,0.0,4.0 +12087,2023-03-25 22:30:00,0.0,4.0 +12088,2023-03-25 22:40:00,0.0,4.0 +12089,2023-03-25 22:50:00,0.0,4.0 +12090,2023-03-25 23:00:00,0.0,3.0 +12091,2023-03-25 23:10:00,0.0,3.0 +12092,2023-03-25 23:20:00,0.0,3.0 +12093,2023-03-25 23:30:00,0.0,3.0 +12094,2023-03-25 23:40:00,0.0,3.0 +12095,2023-03-25 23:50:00,0.0,3.0 +12096,2023-03-26 00:00:00,0.0,3.0 +12097,2023-03-26 00:10:00,0.0,3.0 +12098,2023-03-26 00:20:00,0.0,3.0 +12099,2023-03-26 00:30:00,0.0,3.0 +12100,2023-03-26 00:40:00,0.0,3.0 +12101,2023-03-26 00:50:00,0.0,3.0 +12114,2023-03-26 03:00:00,0.0,3.0 +12115,2023-03-26 03:10:00,0.0,3.0 +12116,2023-03-26 03:20:00,0.0,3.0 +12117,2023-03-26 03:30:00,0.0,3.0 +12118,2023-03-26 03:40:00,0.0,3.0 +12119,2023-03-26 03:50:00,0.0,3.0 +12126,2023-03-26 05:00:00,0.0,4.0 +12127,2023-03-26 05:10:00,0.0,4.0 +12128,2023-03-26 05:20:00,0.0,4.0 +12129,2023-03-26 05:30:00,0.0,4.0 +12130,2023-03-26 05:40:00,0.0,4.0 +12131,2023-03-26 05:50:00,0.0,4.0 +12132,2023-03-26 06:00:00,0.0,4.0 +12133,2023-03-26 06:10:00,0.0,4.0 +12134,2023-03-26 06:20:00,0.0,4.0 +12135,2023-03-26 06:30:00,0.0,4.0 +12136,2023-03-26 06:40:00,0.0,4.0 +12137,2023-03-26 06:50:00,0.0,4.0 +12138,2023-03-26 07:00:00,0.0,4.0 +12139,2023-03-26 07:10:00,0.0,4.0 +12140,2023-03-26 07:20:00,0.0,4.0 +12141,2023-03-26 07:30:00,0.0,4.0 +12142,2023-03-26 07:40:00,0.0,4.0 +12143,2023-03-26 07:50:00,0.0,4.0 +12156,2023-03-26 10:00:00,0.0,3.0 +12157,2023-03-26 10:10:00,0.0,3.0 +12158,2023-03-26 10:20:00,0.0,3.0 +12159,2023-03-26 10:30:00,0.0,3.0 +12160,2023-03-26 10:40:00,0.0,3.0 +12161,2023-03-26 10:50:00,0.0,3.0 +12162,2023-03-26 11:00:00,0.0,4.0 +12163,2023-03-26 11:10:00,0.0,4.0 +12164,2023-03-26 11:20:00,0.0,4.0 +12165,2023-03-26 11:30:00,0.0,4.0 +12166,2023-03-26 11:40:00,0.0,4.0 +12167,2023-03-26 11:50:00,0.0,4.0 +12168,2023-03-26 12:00:00,0.0,4.0 +12169,2023-03-26 12:10:00,0.0,4.0 +12170,2023-03-26 12:20:00,0.0,4.0 +12171,2023-03-26 12:30:00,0.0,4.0 +12172,2023-03-26 12:40:00,0.0,4.0 +12173,2023-03-26 12:50:00,0.0,4.0 +12180,2023-03-26 14:00:00,0.0,3.0 +12181,2023-03-26 14:10:00,0.0,3.0 +12182,2023-03-26 14:20:00,0.0,3.0 +12183,2023-03-26 14:30:00,0.0,3.0 +12184,2023-03-26 14:40:00,0.0,3.0 +12185,2023-03-26 14:50:00,0.0,3.0 +12186,2023-03-26 15:00:00,0.0,4.0 +12187,2023-03-26 15:10:00,0.0,4.0 +12188,2023-03-26 15:20:00,0.0,4.0 +12189,2023-03-26 15:30:00,0.0,4.0 +12190,2023-03-26 15:40:00,0.0,4.0 +12191,2023-03-26 15:50:00,0.0,4.0 +12192,2023-03-26 16:00:00,0.0,4.0 +12193,2023-03-26 16:10:00,0.0,4.0 +12194,2023-03-26 16:20:00,0.0,4.0 +12195,2023-03-26 16:30:00,0.0,4.0 +12196,2023-03-26 16:40:00,0.0,4.0 +12197,2023-03-26 16:50:00,0.0,4.0 +12204,2023-03-26 18:00:00,0.0,3.0 +12205,2023-03-26 18:10:00,0.0,3.0 +12206,2023-03-26 18:20:00,0.0,3.0 +12207,2023-03-26 18:30:00,0.0,3.0 +12208,2023-03-26 18:40:00,0.0,3.0 +12209,2023-03-26 18:50:00,0.0,3.0 +12216,2023-03-26 20:00:00,0.0,4.0 +12217,2023-03-26 20:10:00,0.0,4.0 +12218,2023-03-26 20:20:00,0.0,4.0 +12219,2023-03-26 20:30:00,0.0,4.0 +12220,2023-03-26 20:40:00,0.0,4.0 +12221,2023-03-26 20:50:00,0.0,4.0 +12222,2023-03-26 21:00:00,0.0,3.0 +12223,2023-03-26 21:10:00,0.0,3.0 +12224,2023-03-26 21:20:00,0.0,3.0 +12225,2023-03-26 21:30:00,0.0,3.0 +12226,2023-03-26 21:40:00,0.0,3.0 +12227,2023-03-26 21:50:00,0.0,3.0 +12234,2023-03-26 23:00:00,0.0,3.0 +12235,2023-03-26 23:10:00,0.0,3.0 +12236,2023-03-26 23:20:00,0.0,3.0 +12237,2023-03-26 23:30:00,0.0,3.0 +12238,2023-03-26 23:40:00,0.0,3.0 +12239,2023-03-26 23:50:00,0.0,3.0 +12240,2023-03-27 00:00:00,0.0,4.0 +12241,2023-03-27 00:10:00,0.0,4.0 +12242,2023-03-27 00:20:00,0.0,4.0 +12243,2023-03-27 00:30:00,0.0,4.0 +12244,2023-03-27 00:40:00,0.0,4.0 +12245,2023-03-27 00:50:00,0.0,4.0 +12258,2023-03-27 03:00:00,0.0,3.0 +12259,2023-03-27 03:10:00,0.0,3.0 +12260,2023-03-27 03:20:00,0.0,3.0 +12261,2023-03-27 03:30:00,0.0,3.0 +12262,2023-03-27 03:40:00,0.0,3.0 +12263,2023-03-27 03:50:00,0.0,3.0 +12282,2023-03-27 07:00:00,0.0,3.0 +12283,2023-03-27 07:10:00,0.0,3.0 +12284,2023-03-27 07:20:00,0.0,3.0 +12285,2023-03-27 07:30:00,0.0,3.0 +12286,2023-03-27 07:40:00,0.0,3.0 +12287,2023-03-27 07:50:00,0.0,3.0 +12294,2023-03-27 09:00:00,0.0,3.0 +12295,2023-03-27 09:10:00,0.0,3.0 +12296,2023-03-27 09:20:00,0.0,3.0 +12297,2023-03-27 09:30:00,0.0,3.0 +12298,2023-03-27 09:40:00,0.0,3.0 +12299,2023-03-27 09:50:00,0.0,3.0 +12300,2023-03-27 10:00:00,0.0,3.0 +12301,2023-03-27 10:10:00,0.0,3.0 +12302,2023-03-27 10:20:00,0.0,3.0 +12303,2023-03-27 10:30:00,0.0,3.0 +12304,2023-03-27 10:40:00,0.0,3.0 +12305,2023-03-27 10:50:00,0.0,3.0 +12306,2023-03-27 11:00:00,0.0,4.0 +12307,2023-03-27 11:10:00,0.0,4.0 +12308,2023-03-27 11:20:00,0.0,4.0 +12309,2023-03-27 11:30:00,0.0,4.0 +12310,2023-03-27 11:40:00,0.0,4.0 +12311,2023-03-27 11:50:00,0.0,4.0 +12312,2023-03-27 12:00:00,0.0,4.0 +12313,2023-03-27 12:10:00,0.0,4.0 +12314,2023-03-27 12:20:00,0.0,4.0 +12315,2023-03-27 12:30:00,0.0,4.0 +12316,2023-03-27 12:40:00,0.0,4.0 +12317,2023-03-27 12:50:00,0.0,4.0 +12330,2023-03-27 15:00:00,0.0,3.0 +12331,2023-03-27 15:10:00,0.0,3.0 +12332,2023-03-27 15:20:00,0.0,3.0 +12333,2023-03-27 15:30:00,0.0,3.0 +12334,2023-03-27 15:40:00,0.0,3.0 +12335,2023-03-27 15:50:00,0.0,3.0 +12348,2023-03-27 18:00:00,0.0,3.0 +12349,2023-03-27 18:10:00,0.0,3.0 +12350,2023-03-27 18:20:00,0.0,3.0 +12351,2023-03-27 18:30:00,0.0,3.0 +12352,2023-03-27 18:40:00,0.0,3.0 +12353,2023-03-27 18:50:00,0.0,3.0 +12366,2023-03-27 21:00:00,0.0,3.0 +12367,2023-03-27 21:10:00,0.0,3.0 +12368,2023-03-27 21:20:00,0.0,3.0 +12369,2023-03-27 21:30:00,0.0,3.0 +12370,2023-03-27 21:40:00,0.0,3.0 +12371,2023-03-27 21:50:00,0.0,3.0 +12372,2023-03-27 22:00:00,0.0,3.0 +12373,2023-03-27 22:10:00,0.0,3.0 +12374,2023-03-27 22:20:00,0.0,3.0 +12375,2023-03-27 22:30:00,0.0,3.0 +12376,2023-03-27 22:40:00,0.0,3.0 +12377,2023-03-27 22:50:00,0.0,3.0 +12390,2023-03-28 01:00:00,0.0,1.0 +12391,2023-03-28 01:10:00,0.0,1.0 +12392,2023-03-28 01:20:00,0.0,1.0 +12393,2023-03-28 01:30:00,0.0,1.0 +12394,2023-03-28 01:40:00,0.0,1.0 +12395,2023-03-28 01:50:00,0.0,1.0 +12408,2023-03-28 04:00:00,0.0,1.0 +12409,2023-03-28 04:10:00,0.0,1.0 +12410,2023-03-28 04:20:00,0.0,1.0 +12411,2023-03-28 04:30:00,0.0,1.0 +12412,2023-03-28 04:40:00,0.0,1.0 +12413,2023-03-28 04:50:00,0.0,1.0 +12444,2023-03-28 10:00:00,0.0,3.0 +12445,2023-03-28 10:10:00,0.0,3.0 +12446,2023-03-28 10:20:00,0.0,3.0 +12447,2023-03-28 10:30:00,0.0,3.0 +12448,2023-03-28 10:40:00,0.0,3.0 +12449,2023-03-28 10:50:00,0.0,3.0 +12450,2023-03-28 11:00:00,0.0,3.0 +12451,2023-03-28 11:10:00,0.0,3.0 +12452,2023-03-28 11:20:00,0.0,3.0 +12453,2023-03-28 11:30:00,0.0,3.0 +12454,2023-03-28 11:40:00,0.0,3.0 +12455,2023-03-28 11:50:00,0.0,3.0 +12456,2023-03-28 12:00:00,0.0,3.0 +12457,2023-03-28 12:10:00,0.0,3.0 +12458,2023-03-28 12:20:00,0.0,3.0 +12459,2023-03-28 12:30:00,0.0,3.0 +12460,2023-03-28 12:40:00,0.0,3.0 +12461,2023-03-28 12:50:00,0.0,3.0 +12480,2023-03-28 16:00:00,0.0,3.0 +12481,2023-03-28 16:10:00,0.0,3.0 +12482,2023-03-28 16:20:00,0.0,3.0 +12483,2023-03-28 16:30:00,0.0,3.0 +12484,2023-03-28 16:40:00,0.0,3.0 +12485,2023-03-28 16:50:00,0.0,3.0 +12498,2023-03-28 19:00:00,0.0,4.0 +12499,2023-03-28 19:10:00,0.0,4.0 +12500,2023-03-28 19:20:00,0.0,4.0 +12501,2023-03-28 19:30:00,0.0,4.0 +12502,2023-03-28 19:40:00,0.0,4.0 +12503,2023-03-28 19:50:00,0.0,4.0 +12504,2023-03-28 20:00:00,0.0,4.0 +12505,2023-03-28 20:10:00,0.0,4.0 +12506,2023-03-28 20:20:00,0.0,4.0 +12507,2023-03-28 20:30:00,0.0,4.0 +12508,2023-03-28 20:40:00,0.0,4.0 +12509,2023-03-28 20:50:00,0.0,4.0 +12516,2023-03-28 22:00:00,0.0,4.0 +12517,2023-03-28 22:10:00,0.0,4.0 +12518,2023-03-28 22:20:00,0.0,4.0 +12519,2023-03-28 22:30:00,0.0,4.0 +12520,2023-03-28 22:40:00,0.0,4.0 +12521,2023-03-28 22:50:00,0.0,4.0 +12534,2023-03-29 01:00:00,0.0,3.0 +12535,2023-03-29 01:10:00,0.0,3.0 +12536,2023-03-29 01:20:00,0.0,3.0 +12537,2023-03-29 01:30:00,0.0,3.0 +12538,2023-03-29 01:40:00,0.0,3.0 +12539,2023-03-29 01:50:00,0.0,3.0 +12540,2023-03-29 02:00:00,0.0,3.0 +12541,2023-03-29 02:10:00,0.0,3.0 +12542,2023-03-29 02:20:00,0.0,3.0 +12543,2023-03-29 02:30:00,0.0,3.0 +12544,2023-03-29 02:40:00,0.0,3.0 +12545,2023-03-29 02:50:00,0.0,3.0 +12558,2023-03-29 05:00:00,0.0,3.0 +12559,2023-03-29 05:10:00,0.0,3.0 +12560,2023-03-29 05:20:00,0.0,3.0 +12561,2023-03-29 05:30:00,0.0,3.0 +12562,2023-03-29 05:40:00,0.0,3.0 +12563,2023-03-29 05:50:00,0.0,3.0 +12570,2023-03-29 07:00:00,0.0,4.0 +12571,2023-03-29 07:10:00,0.0,4.0 +12572,2023-03-29 07:20:00,0.0,4.0 +12573,2023-03-29 07:30:00,0.0,4.0 +12574,2023-03-29 07:40:00,0.0,4.0 +12575,2023-03-29 07:50:00,0.0,4.0 +12582,2023-03-29 09:00:00,0.0,5.0 +12583,2023-03-29 09:10:00,0.0,5.0 +12584,2023-03-29 09:20:00,0.0,5.0 +12585,2023-03-29 09:30:00,0.0,5.0 +12586,2023-03-29 09:40:00,0.0,5.0 +12587,2023-03-29 09:50:00,0.0,5.0 +12600,2023-03-29 12:00:00,0.0,5.0 +12601,2023-03-29 12:10:00,0.0,5.0 +12602,2023-03-29 12:20:00,0.0,5.0 +12603,2023-03-29 12:30:00,0.0,5.0 +12604,2023-03-29 12:40:00,0.0,5.0 +12605,2023-03-29 12:50:00,0.0,5.0 +12606,2023-03-29 13:00:00,0.0,5.0 +12607,2023-03-29 13:10:00,0.0,5.0 +12608,2023-03-29 13:20:00,0.0,5.0 +12609,2023-03-29 13:30:00,0.0,5.0 +12610,2023-03-29 13:40:00,0.0,5.0 +12611,2023-03-29 13:50:00,0.0,5.0 +12612,2023-03-29 14:00:00,0.0,5.0 +12613,2023-03-29 14:10:00,0.0,5.0 +12614,2023-03-29 14:20:00,0.0,5.0 +12615,2023-03-29 14:30:00,0.0,5.0 +12616,2023-03-29 14:40:00,0.0,5.0 +12617,2023-03-29 14:50:00,0.0,5.0 +12624,2023-03-29 16:00:00,0.0,7.0 +12625,2023-03-29 16:10:00,0.0,7.0 +12626,2023-03-29 16:20:00,0.0,7.0 +12627,2023-03-29 16:30:00,0.0,7.0 +12628,2023-03-29 16:40:00,0.0,7.0 +12629,2023-03-29 16:50:00,0.0,7.0 +12630,2023-03-29 17:00:00,0.0,5.0 +12631,2023-03-29 17:10:00,0.0,5.0 +12632,2023-03-29 17:20:00,0.0,5.0 +12633,2023-03-29 17:30:00,0.0,5.0 +12634,2023-03-29 17:40:00,0.0,5.0 +12635,2023-03-29 17:50:00,0.0,5.0 +12636,2023-03-29 18:00:00,0.0,6.0 +12637,2023-03-29 18:10:00,0.0,6.0 +12638,2023-03-29 18:20:00,0.0,6.0 +12639,2023-03-29 18:30:00,0.0,6.0 +12640,2023-03-29 18:40:00,0.0,6.0 +12641,2023-03-29 18:50:00,0.0,6.0 +12642,2023-03-29 19:00:00,0.0,7.0 +12643,2023-03-29 19:10:00,0.0,7.0 +12644,2023-03-29 19:20:00,0.0,7.0 +12645,2023-03-29 19:30:00,0.0,7.0 +12646,2023-03-29 19:40:00,0.0,7.0 +12647,2023-03-29 19:50:00,0.0,7.0 +12648,2023-03-29 20:00:00,0.0,5.0 +12649,2023-03-29 20:10:00,0.0,5.0 +12650,2023-03-29 20:20:00,0.0,5.0 +12651,2023-03-29 20:30:00,0.0,5.0 +12652,2023-03-29 20:40:00,0.0,5.0 +12653,2023-03-29 20:50:00,0.0,5.0 +12672,2023-03-30 00:00:00,0.0,6.0 +12673,2023-03-30 00:10:00,0.0,6.0 +12674,2023-03-30 00:20:00,0.0,6.0 +12675,2023-03-30 00:30:00,0.0,6.0 +12676,2023-03-30 00:40:00,0.0,6.0 +12677,2023-03-30 00:50:00,0.0,6.0 +12678,2023-03-30 01:00:00,0.0,5.0 +12679,2023-03-30 01:10:00,0.0,5.0 +12680,2023-03-30 01:20:00,0.0,5.0 +12681,2023-03-30 01:30:00,0.0,5.0 +12682,2023-03-30 01:40:00,0.0,5.0 +12683,2023-03-30 01:50:00,0.0,5.0 +12684,2023-03-30 02:00:00,0.0,6.0 +12685,2023-03-30 02:10:00,0.0,6.0 +12686,2023-03-30 02:20:00,0.0,6.0 +12687,2023-03-30 02:30:00,0.0,6.0 +12688,2023-03-30 02:40:00,0.0,6.0 +12689,2023-03-30 02:50:00,0.0,6.0 +12690,2023-03-30 03:00:00,0.0,5.0 +12691,2023-03-30 03:10:00,0.0,5.0 +12692,2023-03-30 03:20:00,0.0,5.0 +12693,2023-03-30 03:30:00,0.0,5.0 +12694,2023-03-30 03:40:00,0.0,5.0 +12695,2023-03-30 03:50:00,0.0,5.0 +12702,2023-03-30 05:00:00,0.0,6.0 +12703,2023-03-30 05:10:00,0.0,6.0 +12704,2023-03-30 05:20:00,0.0,6.0 +12705,2023-03-30 05:30:00,0.0,6.0 +12706,2023-03-30 05:40:00,0.0,6.0 +12707,2023-03-30 05:50:00,0.0,6.0 +12720,2023-03-30 08:00:00,0.0,5.0 +12721,2023-03-30 08:10:00,0.0,5.0 +12722,2023-03-30 08:20:00,0.0,5.0 +12723,2023-03-30 08:30:00,0.0,5.0 +12724,2023-03-30 08:40:00,0.0,5.0 +12725,2023-03-30 08:50:00,0.0,5.0 +12726,2023-03-30 09:00:00,0.0,5.0 +12727,2023-03-30 09:10:00,0.0,5.0 +12728,2023-03-30 09:20:00,0.0,5.0 +12729,2023-03-30 09:30:00,0.0,5.0 +12730,2023-03-30 09:40:00,0.0,5.0 +12731,2023-03-30 09:50:00,0.0,5.0 +12732,2023-03-30 10:00:00,0.0,5.0 +12733,2023-03-30 10:10:00,0.0,5.0 +12734,2023-03-30 10:20:00,0.0,5.0 +12735,2023-03-30 10:30:00,0.0,5.0 +12736,2023-03-30 10:40:00,0.0,5.0 +12737,2023-03-30 10:50:00,0.0,5.0 +12738,2023-03-30 11:00:00,0.0,5.0 +12739,2023-03-30 11:10:00,0.0,5.0 +12740,2023-03-30 11:20:00,0.0,5.0 +12741,2023-03-30 11:30:00,0.0,5.0 +12742,2023-03-30 11:40:00,0.0,5.0 +12743,2023-03-30 11:50:00,0.0,5.0 +12744,2023-03-30 12:00:00,0.0,7.0 +12745,2023-03-30 12:10:00,0.0,7.0 +12746,2023-03-30 12:20:00,0.0,7.0 +12747,2023-03-30 12:30:00,0.0,7.0 +12748,2023-03-30 12:40:00,0.0,7.0 +12749,2023-03-30 12:50:00,0.0,7.0 +12756,2023-03-30 14:00:00,0.0,7.0 +12757,2023-03-30 14:10:00,0.0,7.0 +12758,2023-03-30 14:20:00,0.0,7.0 +12759,2023-03-30 14:30:00,0.0,7.0 +12760,2023-03-30 14:40:00,0.0,7.0 +12761,2023-03-30 14:50:00,0.0,7.0 +12786,2023-03-30 19:00:00,0.0,5.0 +12787,2023-03-30 19:10:00,0.0,5.0 +12788,2023-03-30 19:20:00,0.0,5.0 +12789,2023-03-30 19:30:00,0.0,5.0 +12790,2023-03-30 19:40:00,0.0,5.0 +12791,2023-03-30 19:50:00,0.0,5.0 +12798,2023-03-30 21:00:00,0.0,5.0 +12799,2023-03-30 21:10:00,0.0,5.0 +12800,2023-03-30 21:20:00,0.0,5.0 +12801,2023-03-30 21:30:00,0.0,5.0 +12802,2023-03-30 21:40:00,0.0,5.0 +12803,2023-03-30 21:50:00,0.0,5.0 +12804,2023-03-30 22:00:00,0.0,5.0 +12805,2023-03-30 22:10:00,0.0,5.0 +12806,2023-03-30 22:20:00,0.0,5.0 +12807,2023-03-30 22:30:00,0.0,5.0 +12808,2023-03-30 22:40:00,0.0,5.0 +12809,2023-03-30 22:50:00,0.0,5.0 +12810,2023-03-30 23:00:00,0.0,6.0 +12811,2023-03-30 23:10:00,0.0,6.0 +12812,2023-03-30 23:20:00,0.0,6.0 +12813,2023-03-30 23:30:00,0.0,6.0 +12814,2023-03-30 23:40:00,0.0,6.0 +12815,2023-03-30 23:50:00,0.0,6.0 +12840,2023-03-31 04:00:00,0.0,6.0 +12841,2023-03-31 04:10:00,0.0,6.0 +12842,2023-03-31 04:20:00,0.0,6.0 +12843,2023-03-31 04:30:00,0.0,6.0 +12844,2023-03-31 04:40:00,0.0,6.0 +12845,2023-03-31 04:50:00,0.0,6.0 +12852,2023-03-31 06:00:00,0.0,6.0 +12853,2023-03-31 06:10:00,0.0,6.0 +12854,2023-03-31 06:20:00,0.0,6.0 +12855,2023-03-31 06:30:00,0.0,6.0 +12856,2023-03-31 06:40:00,0.0,6.0 +12857,2023-03-31 06:50:00,0.0,6.0 +12864,2023-03-31 08:00:00,0.0,6.0 +12865,2023-03-31 08:10:00,0.0,6.0 +12866,2023-03-31 08:20:00,0.0,6.0 +12867,2023-03-31 08:30:00,0.0,6.0 +12868,2023-03-31 08:40:00,0.0,6.0 +12869,2023-03-31 08:50:00,0.0,6.0 +12876,2023-03-31 10:00:00,0.0,6.0 +12877,2023-03-31 10:10:00,0.0,6.0 +12878,2023-03-31 10:20:00,0.0,6.0 +12879,2023-03-31 10:30:00,0.0,6.0 +12880,2023-03-31 10:40:00,0.0,6.0 +12881,2023-03-31 10:50:00,0.0,6.0 +12882,2023-03-31 11:00:00,0.0,6.0 +12883,2023-03-31 11:10:00,0.0,6.0 +12884,2023-03-31 11:20:00,0.0,6.0 +12885,2023-03-31 11:30:00,0.0,6.0 +12886,2023-03-31 11:40:00,0.0,6.0 +12887,2023-03-31 11:50:00,0.0,6.0 +12894,2023-03-31 13:00:00,0.0,6.0 +12895,2023-03-31 13:10:00,0.0,6.0 +12896,2023-03-31 13:20:00,0.0,6.0 +12897,2023-03-31 13:30:00,0.0,6.0 +12898,2023-03-31 13:40:00,0.0,6.0 +12899,2023-03-31 13:50:00,0.0,6.0 +12906,2023-03-31 15:00:00,0.0,6.0 +12907,2023-03-31 15:10:00,0.0,6.0 +12908,2023-03-31 15:20:00,0.0,6.0 +12909,2023-03-31 15:30:00,0.0,6.0 +12910,2023-03-31 15:40:00,0.0,6.0 +12911,2023-03-31 15:50:00,0.0,6.0 +12918,2023-03-31 17:00:00,0.0,6.0 +12919,2023-03-31 17:10:00,0.0,6.0 +12920,2023-03-31 17:20:00,0.0,6.0 +12921,2023-03-31 17:30:00,0.0,6.0 +12922,2023-03-31 17:40:00,0.0,6.0 +12923,2023-03-31 17:50:00,0.0,6.0 +12924,2023-03-31 18:00:00,0.0,6.0 +12925,2023-03-31 18:10:00,0.0,6.0 +12926,2023-03-31 18:20:00,0.0,6.0 +12927,2023-03-31 18:30:00,0.0,6.0 +12928,2023-03-31 18:40:00,0.0,6.0 +12929,2023-03-31 18:50:00,0.0,6.0 +12930,2023-03-31 19:00:00,0.0,6.0 +12931,2023-03-31 19:10:00,0.0,6.0 +12932,2023-03-31 19:20:00,0.0,6.0 +12933,2023-03-31 19:30:00,0.0,6.0 +12934,2023-03-31 19:40:00,0.0,6.0 +12935,2023-03-31 19:50:00,0.0,6.0 +12936,2023-03-31 20:00:00,0.0,6.0 +12937,2023-03-31 20:10:00,0.0,6.0 +12938,2023-03-31 20:20:00,0.0,6.0 +12939,2023-03-31 20:30:00,0.0,6.0 +12940,2023-03-31 20:40:00,0.0,6.0 +12941,2023-03-31 20:50:00,0.0,6.0 +12948,2023-03-31 22:00:00,0.0,4.0 +12949,2023-03-31 22:10:00,0.0,4.0 +12950,2023-03-31 22:20:00,0.0,4.0 +12951,2023-03-31 22:30:00,0.0,4.0 +12952,2023-03-31 22:40:00,0.0,4.0 +12953,2023-03-31 22:50:00,0.0,4.0 +12954,2023-03-31 23:00:00,0.0,4.0 +12955,2023-03-31 23:10:00,0.0,4.0 +12956,2023-03-31 23:20:00,0.0,4.0 +12957,2023-03-31 23:30:00,0.0,4.0 +12958,2023-03-31 23:40:00,0.0,4.0 +12959,2023-03-31 23:50:00,0.0,4.0 +12960,2023-04-01 00:00:00,0.0,4.0 +12961,2023-04-01 00:10:00,0.0,4.0 +12962,2023-04-01 00:20:00,0.0,4.0 +12963,2023-04-01 00:30:00,0.0,4.0 +12964,2023-04-01 00:40:00,0.0,4.0 +12965,2023-04-01 00:50:00,0.0,4.0 +12972,2023-04-01 02:00:00,0.0,4.0 +12973,2023-04-01 02:10:00,0.0,4.0 +12974,2023-04-01 02:20:00,0.0,4.0 +12975,2023-04-01 02:30:00,0.0,4.0 +12976,2023-04-01 02:40:00,0.0,4.0 +12977,2023-04-01 02:50:00,0.0,4.0 +12978,2023-04-01 03:00:00,0.0,4.0 +12979,2023-04-01 03:10:00,0.0,4.0 +12980,2023-04-01 03:20:00,0.0,4.0 +12981,2023-04-01 03:30:00,0.0,4.0 +12982,2023-04-01 03:40:00,0.0,4.0 +12983,2023-04-01 03:50:00,0.0,4.0 +12990,2023-04-01 05:00:00,0.0,3.0 +12991,2023-04-01 05:10:00,0.0,3.0 +12992,2023-04-01 05:20:00,0.0,3.0 +12993,2023-04-01 05:30:00,0.0,3.0 +12994,2023-04-01 05:40:00,0.0,3.0 +12995,2023-04-01 05:50:00,0.0,3.0 +13020,2023-04-01 10:00:00,0.0,4.0 +13021,2023-04-01 10:10:00,0.0,4.0 +13022,2023-04-01 10:20:00,0.0,4.0 +13023,2023-04-01 10:30:00,0.0,4.0 +13024,2023-04-01 10:40:00,0.0,4.0 +13025,2023-04-01 10:50:00,0.0,4.0 +13026,2023-04-01 11:00:00,0.0,6.0 +13027,2023-04-01 11:10:00,0.0,6.0 +13028,2023-04-01 11:20:00,0.0,6.0 +13029,2023-04-01 11:30:00,0.0,6.0 +13030,2023-04-01 11:40:00,0.0,6.0 +13031,2023-04-01 11:50:00,0.0,6.0 +13032,2023-04-01 12:00:00,0.0,6.0 +13033,2023-04-01 12:10:00,0.0,6.0 +13034,2023-04-01 12:20:00,0.0,6.0 +13035,2023-04-01 12:30:00,0.0,6.0 +13036,2023-04-01 12:40:00,0.0,6.0 +13037,2023-04-01 12:50:00,0.0,6.0 +13044,2023-04-01 14:00:00,0.0,4.0 +13045,2023-04-01 14:10:00,0.0,4.0 +13046,2023-04-01 14:20:00,0.0,4.0 +13047,2023-04-01 14:30:00,0.0,4.0 +13048,2023-04-01 14:40:00,0.0,4.0 +13049,2023-04-01 14:50:00,0.0,4.0 +13050,2023-04-01 15:00:00,0.0,6.0 +13051,2023-04-01 15:10:00,0.0,6.0 +13052,2023-04-01 15:20:00,0.0,6.0 +13053,2023-04-01 15:30:00,0.0,6.0 +13054,2023-04-01 15:40:00,0.0,6.0 +13055,2023-04-01 15:50:00,0.0,6.0 +13074,2023-04-01 19:00:00,0.0,3.0 +13075,2023-04-01 19:10:00,0.0,3.0 +13076,2023-04-01 19:20:00,0.0,3.0 +13077,2023-04-01 19:30:00,0.0,3.0 +13078,2023-04-01 19:40:00,0.0,3.0 +13079,2023-04-01 19:50:00,0.0,3.0 +13080,2023-04-01 20:00:00,0.0,3.0 +13081,2023-04-01 20:10:00,0.0,3.0 +13082,2023-04-01 20:20:00,0.0,3.0 +13083,2023-04-01 20:30:00,0.0,3.0 +13084,2023-04-01 20:40:00,0.0,3.0 +13085,2023-04-01 20:50:00,0.0,3.0 +13086,2023-04-01 21:00:00,0.0,3.0 +13087,2023-04-01 21:10:00,0.0,3.0 +13088,2023-04-01 21:20:00,0.0,3.0 +13089,2023-04-01 21:30:00,0.0,3.0 +13090,2023-04-01 21:40:00,0.0,3.0 +13091,2023-04-01 21:50:00,0.0,3.0 +13098,2023-04-01 23:00:00,0.0,4.0 +13099,2023-04-01 23:10:00,0.0,4.0 +13100,2023-04-01 23:20:00,0.0,4.0 +13101,2023-04-01 23:30:00,0.0,4.0 +13102,2023-04-01 23:40:00,0.0,4.0 +13103,2023-04-01 23:50:00,0.0,4.0 +13104,2023-04-02 00:00:00,0.0,3.0 +13105,2023-04-02 00:10:00,0.0,3.0 +13106,2023-04-02 00:20:00,0.0,3.0 +13107,2023-04-02 00:30:00,0.0,3.0 +13108,2023-04-02 00:40:00,0.0,3.0 +13109,2023-04-02 00:50:00,0.0,3.0 +13122,2023-04-02 03:00:00,0.0,3.0 +13123,2023-04-02 03:10:00,0.0,3.0 +13124,2023-04-02 03:20:00,0.0,3.0 +13125,2023-04-02 03:30:00,0.0,3.0 +13126,2023-04-02 03:40:00,0.0,3.0 +13127,2023-04-02 03:50:00,0.0,3.0 +13128,2023-04-02 04:00:00,0.0,3.0 +13129,2023-04-02 04:10:00,0.0,3.0 +13130,2023-04-02 04:20:00,0.0,3.0 +13131,2023-04-02 04:30:00,0.0,3.0 +13132,2023-04-02 04:40:00,0.0,3.0 +13133,2023-04-02 04:50:00,0.0,3.0 +13146,2023-04-02 07:00:00,0.0,3.0 +13147,2023-04-02 07:10:00,0.0,3.0 +13148,2023-04-02 07:20:00,0.0,3.0 +13149,2023-04-02 07:30:00,0.0,3.0 +13150,2023-04-02 07:40:00,0.0,3.0 +13151,2023-04-02 07:50:00,0.0,3.0 +13152,2023-04-02 08:00:00,0.0,3.0 +13153,2023-04-02 08:10:00,0.0,3.0 +13154,2023-04-02 08:20:00,0.0,3.0 +13155,2023-04-02 08:30:00,0.0,3.0 +13156,2023-04-02 08:40:00,0.0,3.0 +13157,2023-04-02 08:50:00,0.0,3.0 +13170,2023-04-02 11:00:00,0.0,3.0 +13171,2023-04-02 11:10:00,0.0,3.0 +13172,2023-04-02 11:20:00,0.0,3.0 +13173,2023-04-02 11:30:00,0.0,3.0 +13174,2023-04-02 11:40:00,0.0,3.0 +13175,2023-04-02 11:50:00,0.0,3.0 +13194,2023-04-02 15:00:00,0.0,3.0 +13195,2023-04-02 15:10:00,0.0,3.0 +13196,2023-04-02 15:20:00,0.0,3.0 +13197,2023-04-02 15:30:00,0.0,3.0 +13198,2023-04-02 15:40:00,0.0,3.0 +13199,2023-04-02 15:50:00,0.0,3.0 +13200,2023-04-02 16:00:00,0.0,3.0 +13201,2023-04-02 16:10:00,0.0,3.0 +13202,2023-04-02 16:20:00,0.0,3.0 +13203,2023-04-02 16:30:00,0.0,3.0 +13204,2023-04-02 16:40:00,0.0,3.0 +13205,2023-04-02 16:50:00,0.0,3.0 +13212,2023-04-02 18:00:00,0.0,3.0 +13213,2023-04-02 18:10:00,0.0,3.0 +13214,2023-04-02 18:20:00,0.0,3.0 +13215,2023-04-02 18:30:00,0.0,3.0 +13216,2023-04-02 18:40:00,0.0,3.0 +13217,2023-04-02 18:50:00,0.0,3.0 +13218,2023-04-02 19:00:00,0.0,3.0 +13219,2023-04-02 19:10:00,0.0,3.0 +13220,2023-04-02 19:20:00,0.0,3.0 +13221,2023-04-02 19:30:00,0.0,3.0 +13222,2023-04-02 19:40:00,0.0,3.0 +13223,2023-04-02 19:50:00,0.0,3.0 +13224,2023-04-02 20:00:00,0.0,3.0 +13225,2023-04-02 20:10:00,0.0,3.0 +13226,2023-04-02 20:20:00,0.0,3.0 +13227,2023-04-02 20:30:00,0.0,3.0 +13228,2023-04-02 20:40:00,0.0,3.0 +13229,2023-04-02 20:50:00,0.0,3.0 +13230,2023-04-02 21:00:00,0.0,3.0 +13231,2023-04-02 21:10:00,0.0,3.0 +13232,2023-04-02 21:20:00,0.0,3.0 +13233,2023-04-02 21:30:00,0.0,3.0 +13234,2023-04-02 21:40:00,0.0,3.0 +13235,2023-04-02 21:50:00,0.0,3.0 +13248,2023-04-03 00:00:00,0.0,3.0 +13249,2023-04-03 00:10:00,0.0,3.0 +13250,2023-04-03 00:20:00,0.0,3.0 +13251,2023-04-03 00:30:00,0.0,3.0 +13252,2023-04-03 00:40:00,0.0,3.0 +13253,2023-04-03 00:50:00,0.0,3.0 +13266,2023-04-03 03:00:00,0.0,3.0 +13267,2023-04-03 03:10:00,0.0,3.0 +13268,2023-04-03 03:20:00,0.0,3.0 +13269,2023-04-03 03:30:00,0.0,3.0 +13270,2023-04-03 03:40:00,0.0,3.0 +13271,2023-04-03 03:50:00,0.0,3.0 +13272,2023-04-03 04:00:00,0.0,3.0 +13273,2023-04-03 04:10:00,0.0,3.0 +13274,2023-04-03 04:20:00,0.0,3.0 +13275,2023-04-03 04:30:00,0.0,3.0 +13276,2023-04-03 04:40:00,0.0,3.0 +13277,2023-04-03 04:50:00,0.0,3.0 +13278,2023-04-03 05:00:00,0.0,3.0 +13279,2023-04-03 05:10:00,0.0,3.0 +13280,2023-04-03 05:20:00,0.0,3.0 +13281,2023-04-03 05:30:00,0.0,3.0 +13282,2023-04-03 05:40:00,0.0,3.0 +13283,2023-04-03 05:50:00,0.0,3.0 +13284,2023-04-03 06:00:00,0.0,3.0 +13285,2023-04-03 06:10:00,0.0,3.0 +13286,2023-04-03 06:20:00,0.0,3.0 +13287,2023-04-03 06:30:00,0.0,3.0 +13288,2023-04-03 06:40:00,0.0,3.0 +13289,2023-04-03 06:50:00,0.0,3.0 +13296,2023-04-03 08:00:00,0.0,3.0 +13297,2023-04-03 08:10:00,0.0,3.0 +13298,2023-04-03 08:20:00,0.0,3.0 +13299,2023-04-03 08:30:00,0.0,3.0 +13300,2023-04-03 08:40:00,0.0,3.0 +13301,2023-04-03 08:50:00,0.0,3.0 +13302,2023-04-03 09:00:00,0.0,3.0 +13303,2023-04-03 09:10:00,0.0,3.0 +13304,2023-04-03 09:20:00,0.0,3.0 +13305,2023-04-03 09:30:00,0.0,3.0 +13306,2023-04-03 09:40:00,0.0,3.0 +13307,2023-04-03 09:50:00,0.0,3.0 +13308,2023-04-03 10:00:00,0.0,3.0 +13309,2023-04-03 10:10:00,0.0,3.0 +13310,2023-04-03 10:20:00,0.0,3.0 +13311,2023-04-03 10:30:00,0.0,3.0 +13312,2023-04-03 10:40:00,0.0,3.0 +13313,2023-04-03 10:50:00,0.0,3.0 +13320,2023-04-03 12:00:00,0.0,3.0 +13321,2023-04-03 12:10:00,0.0,3.0 +13322,2023-04-03 12:20:00,0.0,3.0 +13323,2023-04-03 12:30:00,0.0,3.0 +13324,2023-04-03 12:40:00,0.0,3.0 +13325,2023-04-03 12:50:00,0.0,3.0 +13338,2023-04-03 15:00:00,0.0,3.0 +13339,2023-04-03 15:10:00,0.0,3.0 +13340,2023-04-03 15:20:00,0.0,3.0 +13341,2023-04-03 15:30:00,0.0,3.0 +13342,2023-04-03 15:40:00,0.0,3.0 +13343,2023-04-03 15:50:00,0.0,3.0 +13344,2023-04-03 16:00:00,0.0,3.0 +13345,2023-04-03 16:10:00,0.0,3.0 +13346,2023-04-03 16:20:00,0.0,3.0 +13347,2023-04-03 16:30:00,0.0,3.0 +13348,2023-04-03 16:40:00,0.0,3.0 +13349,2023-04-03 16:50:00,0.0,3.0 +13356,2023-04-03 18:00:00,0.0,3.0 +13357,2023-04-03 18:10:00,0.0,3.0 +13358,2023-04-03 18:20:00,0.0,3.0 +13359,2023-04-03 18:30:00,0.0,3.0 +13360,2023-04-03 18:40:00,0.0,3.0 +13361,2023-04-03 18:50:00,0.0,3.0 +13362,2023-04-03 19:00:00,0.0,3.0 +13363,2023-04-03 19:10:00,0.0,3.0 +13364,2023-04-03 19:20:00,0.0,3.0 +13365,2023-04-03 19:30:00,0.0,3.0 +13366,2023-04-03 19:40:00,0.0,3.0 +13367,2023-04-03 19:50:00,0.0,3.0 +13368,2023-04-03 20:00:00,0.0,3.0 +13369,2023-04-03 20:10:00,0.0,3.0 +13370,2023-04-03 20:20:00,0.0,3.0 +13371,2023-04-03 20:30:00,0.0,3.0 +13372,2023-04-03 20:40:00,0.0,3.0 +13373,2023-04-03 20:50:00,0.0,3.0 +13386,2023-04-03 23:00:00,0.0,3.0 +13387,2023-04-03 23:10:00,0.0,3.0 +13388,2023-04-03 23:20:00,0.0,3.0 +13389,2023-04-03 23:30:00,0.0,3.0 +13390,2023-04-03 23:40:00,0.0,3.0 +13391,2023-04-03 23:50:00,0.0,3.0 +13398,2023-04-04 01:00:00,0.0,1.0 +13399,2023-04-04 01:10:00,0.0,1.0 +13400,2023-04-04 01:20:00,0.0,1.0 +13401,2023-04-04 01:30:00,0.0,1.0 +13402,2023-04-04 01:40:00,0.0,1.0 +13403,2023-04-04 01:50:00,0.0,1.0 +13410,2023-04-04 03:00:00,0.0,3.0 +13411,2023-04-04 03:10:00,0.0,3.0 +13412,2023-04-04 03:20:00,0.0,3.0 +13413,2023-04-04 03:30:00,0.0,3.0 +13414,2023-04-04 03:40:00,0.0,3.0 +13415,2023-04-04 03:50:00,0.0,3.0 +13422,2023-04-04 05:00:00,0.0,1.0 +13423,2023-04-04 05:10:00,0.0,1.0 +13424,2023-04-04 05:20:00,0.0,1.0 +13425,2023-04-04 05:30:00,0.0,1.0 +13426,2023-04-04 05:40:00,0.0,1.0 +13427,2023-04-04 05:50:00,0.0,1.0 +13428,2023-04-04 06:00:00,0.0,3.0 +13429,2023-04-04 06:10:00,0.0,3.0 +13430,2023-04-04 06:20:00,0.0,3.0 +13431,2023-04-04 06:30:00,0.0,3.0 +13432,2023-04-04 06:40:00,0.0,3.0 +13433,2023-04-04 06:50:00,0.0,3.0 +13446,2023-04-04 09:00:00,0.0,3.0 +13447,2023-04-04 09:10:00,0.0,3.0 +13448,2023-04-04 09:20:00,0.0,3.0 +13449,2023-04-04 09:30:00,0.0,3.0 +13450,2023-04-04 09:40:00,0.0,3.0 +13451,2023-04-04 09:50:00,0.0,3.0 +13458,2023-04-04 11:00:00,0.0,3.0 +13459,2023-04-04 11:10:00,0.0,3.0 +13460,2023-04-04 11:20:00,0.0,3.0 +13461,2023-04-04 11:30:00,0.0,3.0 +13462,2023-04-04 11:40:00,0.0,3.0 +13463,2023-04-04 11:50:00,0.0,3.0 +13464,2023-04-04 12:00:00,0.0,3.0 +13465,2023-04-04 12:10:00,0.0,3.0 +13466,2023-04-04 12:20:00,0.0,3.0 +13467,2023-04-04 12:30:00,0.0,3.0 +13468,2023-04-04 12:40:00,0.0,3.0 +13469,2023-04-04 12:50:00,0.0,3.0 +13482,2023-04-04 15:00:00,0.0,3.0 +13483,2023-04-04 15:10:00,0.0,3.0 +13484,2023-04-04 15:20:00,0.0,3.0 +13485,2023-04-04 15:30:00,0.0,3.0 +13486,2023-04-04 15:40:00,0.0,3.0 +13487,2023-04-04 15:50:00,0.0,3.0 +13488,2023-04-04 16:00:00,0.0,3.0 +13489,2023-04-04 16:10:00,0.0,3.0 +13490,2023-04-04 16:20:00,0.0,3.0 +13491,2023-04-04 16:30:00,0.0,3.0 +13492,2023-04-04 16:40:00,0.0,3.0 +13493,2023-04-04 16:50:00,0.0,3.0 +13500,2023-04-04 18:00:00,0.0,3.0 +13501,2023-04-04 18:10:00,0.0,3.0 +13502,2023-04-04 18:20:00,0.0,3.0 +13503,2023-04-04 18:30:00,0.0,3.0 +13504,2023-04-04 18:40:00,0.0,3.0 +13505,2023-04-04 18:50:00,0.0,3.0 +13506,2023-04-04 19:00:00,0.0,3.0 +13507,2023-04-04 19:10:00,0.0,3.0 +13508,2023-04-04 19:20:00,0.0,3.0 +13509,2023-04-04 19:30:00,0.0,3.0 +13510,2023-04-04 19:40:00,0.0,3.0 +13511,2023-04-04 19:50:00,0.0,3.0 +13524,2023-04-04 22:00:00,0.0,3.0 +13525,2023-04-04 22:10:00,0.0,3.0 +13526,2023-04-04 22:20:00,0.0,3.0 +13527,2023-04-04 22:30:00,0.0,3.0 +13528,2023-04-04 22:40:00,0.0,3.0 +13529,2023-04-04 22:50:00,0.0,3.0 +13536,2023-04-05 00:00:00,0.0,3.0 +13537,2023-04-05 00:10:00,0.0,3.0 +13538,2023-04-05 00:20:00,0.0,3.0 +13539,2023-04-05 00:30:00,0.0,3.0 +13540,2023-04-05 00:40:00,0.0,3.0 +13541,2023-04-05 00:50:00,0.0,3.0 +13542,2023-04-05 01:00:00,0.0,3.0 +13543,2023-04-05 01:10:00,0.0,3.0 +13544,2023-04-05 01:20:00,0.0,3.0 +13545,2023-04-05 01:30:00,0.0,3.0 +13546,2023-04-05 01:40:00,0.0,3.0 +13547,2023-04-05 01:50:00,0.0,3.0 +13548,2023-04-05 02:00:00,0.0,3.0 +13549,2023-04-05 02:10:00,0.0,3.0 +13550,2023-04-05 02:20:00,0.0,3.0 +13551,2023-04-05 02:30:00,0.0,3.0 +13552,2023-04-05 02:40:00,0.0,3.0 +13553,2023-04-05 02:50:00,0.0,3.0 +13572,2023-04-05 06:00:00,0.0,3.0 +13573,2023-04-05 06:10:00,0.0,3.0 +13574,2023-04-05 06:20:00,0.0,3.0 +13575,2023-04-05 06:30:00,0.0,3.0 +13576,2023-04-05 06:40:00,0.0,3.0 +13577,2023-04-05 06:50:00,0.0,3.0 +13584,2023-04-05 08:00:00,0.0,3.0 +13585,2023-04-05 08:10:00,0.0,3.0 +13586,2023-04-05 08:20:00,0.0,3.0 +13587,2023-04-05 08:30:00,0.0,3.0 +13588,2023-04-05 08:40:00,0.0,3.0 +13589,2023-04-05 08:50:00,0.0,3.0 +13590,2023-04-05 09:00:00,0.0,3.0 +13591,2023-04-05 09:10:00,0.0,3.0 +13592,2023-04-05 09:20:00,0.0,3.0 +13593,2023-04-05 09:30:00,0.0,3.0 +13594,2023-04-05 09:40:00,0.0,3.0 +13595,2023-04-05 09:50:00,0.0,3.0 +13596,2023-04-05 10:00:00,0.0,3.0 +13597,2023-04-05 10:10:00,0.0,3.0 +13598,2023-04-05 10:20:00,0.0,3.0 +13599,2023-04-05 10:30:00,0.0,3.0 +13600,2023-04-05 10:40:00,0.0,3.0 +13601,2023-04-05 10:50:00,0.0,3.0 +13602,2023-04-05 11:00:00,0.0,3.0 +13603,2023-04-05 11:10:00,0.0,3.0 +13604,2023-04-05 11:20:00,0.0,3.0 +13605,2023-04-05 11:30:00,0.0,3.0 +13606,2023-04-05 11:40:00,0.0,3.0 +13607,2023-04-05 11:50:00,0.0,3.0 +13608,2023-04-05 12:00:00,0.0,3.0 +13609,2023-04-05 12:10:00,0.0,3.0 +13610,2023-04-05 12:20:00,0.0,3.0 +13611,2023-04-05 12:30:00,0.0,3.0 +13612,2023-04-05 12:40:00,0.0,3.0 +13613,2023-04-05 12:50:00,0.0,3.0 +13614,2023-04-05 13:00:00,0.0,5.0 +13615,2023-04-05 13:10:00,0.0,5.0 +13616,2023-04-05 13:20:00,0.0,5.0 +13617,2023-04-05 13:30:00,0.0,5.0 +13618,2023-04-05 13:40:00,0.0,5.0 +13619,2023-04-05 13:50:00,0.0,5.0 +13620,2023-04-05 14:00:00,0.0,5.0 +13621,2023-04-05 14:10:00,0.0,5.0 +13622,2023-04-05 14:20:00,0.0,5.0 +13623,2023-04-05 14:30:00,0.0,5.0 +13624,2023-04-05 14:40:00,0.0,5.0 +13625,2023-04-05 14:50:00,0.0,5.0 +13626,2023-04-05 15:00:00,0.0,5.0 +13627,2023-04-05 15:10:00,0.0,5.0 +13628,2023-04-05 15:20:00,0.0,5.0 +13629,2023-04-05 15:30:00,0.0,5.0 +13630,2023-04-05 15:40:00,0.0,5.0 +13631,2023-04-05 15:50:00,0.0,5.0 +13632,2023-04-05 16:00:00,0.0,3.0 +13633,2023-04-05 16:10:00,0.0,3.0 +13634,2023-04-05 16:20:00,0.0,3.0 +13635,2023-04-05 16:30:00,0.0,3.0 +13636,2023-04-05 16:40:00,0.0,3.0 +13637,2023-04-05 16:50:00,0.0,3.0 +13644,2023-04-05 18:00:00,0.0,3.0 +13645,2023-04-05 18:10:00,0.0,3.0 +13646,2023-04-05 18:20:00,0.0,3.0 +13647,2023-04-05 18:30:00,0.0,3.0 +13648,2023-04-05 18:40:00,0.0,3.0 +13649,2023-04-05 18:50:00,0.0,3.0 +13662,2023-04-05 21:00:00,0.0,3.0 +13663,2023-04-05 21:10:00,0.0,3.0 +13664,2023-04-05 21:20:00,0.0,3.0 +13665,2023-04-05 21:30:00,0.0,3.0 +13666,2023-04-05 21:40:00,0.0,3.0 +13667,2023-04-05 21:50:00,0.0,3.0 +13680,2023-04-06 00:00:00,0.0,3.0 +13681,2023-04-06 00:10:00,0.0,3.0 +13682,2023-04-06 00:20:00,0.0,3.0 +13683,2023-04-06 00:30:00,0.0,3.0 +13684,2023-04-06 00:40:00,0.0,3.0 +13685,2023-04-06 00:50:00,0.0,3.0 +13698,2023-04-06 03:00:00,0.0,1.0 +13699,2023-04-06 03:10:00,0.0,1.0 +13700,2023-04-06 03:20:00,0.0,1.0 +13701,2023-04-06 03:30:00,0.0,1.0 +13702,2023-04-06 03:40:00,0.0,1.0 +13703,2023-04-06 03:50:00,0.0,1.0 +13704,2023-04-06 04:00:00,0.0,3.0 +13705,2023-04-06 04:10:00,0.0,3.0 +13706,2023-04-06 04:20:00,0.0,3.0 +13707,2023-04-06 04:30:00,0.0,3.0 +13708,2023-04-06 04:40:00,0.0,3.0 +13709,2023-04-06 04:50:00,0.0,3.0 +13710,2023-04-06 05:00:00,0.0,3.0 +13711,2023-04-06 05:10:00,0.0,3.0 +13712,2023-04-06 05:20:00,0.0,3.0 +13713,2023-04-06 05:30:00,0.0,3.0 +13714,2023-04-06 05:40:00,0.0,3.0 +13715,2023-04-06 05:50:00,0.0,3.0 +13716,2023-04-06 06:00:00,0.0,3.0 +13717,2023-04-06 06:10:00,0.0,3.0 +13718,2023-04-06 06:20:00,0.0,3.0 +13719,2023-04-06 06:30:00,0.0,3.0 +13720,2023-04-06 06:40:00,0.0,3.0 +13721,2023-04-06 06:50:00,0.0,3.0 +13722,2023-04-06 07:00:00,0.0,3.0 +13723,2023-04-06 07:10:00,0.0,3.0 +13724,2023-04-06 07:20:00,0.0,3.0 +13725,2023-04-06 07:30:00,0.0,3.0 +13726,2023-04-06 07:40:00,0.0,3.0 +13727,2023-04-06 07:50:00,0.0,3.0 +13734,2023-04-06 09:00:00,0.0,5.0 +13735,2023-04-06 09:10:00,0.0,5.0 +13736,2023-04-06 09:20:00,0.0,5.0 +13737,2023-04-06 09:30:00,0.0,5.0 +13738,2023-04-06 09:40:00,0.0,5.0 +13739,2023-04-06 09:50:00,0.0,5.0 +13740,2023-04-06 10:00:00,0.0,3.0 +13741,2023-04-06 10:10:00,0.0,3.0 +13742,2023-04-06 10:20:00,0.0,3.0 +13743,2023-04-06 10:30:00,0.0,3.0 +13744,2023-04-06 10:40:00,0.0,3.0 +13745,2023-04-06 10:50:00,0.0,3.0 +13752,2023-04-06 12:00:00,0.0,4.0 +13753,2023-04-06 12:10:00,0.0,4.0 +13754,2023-04-06 12:20:00,0.0,4.0 +13755,2023-04-06 12:30:00,0.0,4.0 +13756,2023-04-06 12:40:00,0.0,4.0 +13757,2023-04-06 12:50:00,0.0,4.0 +13758,2023-04-06 13:00:00,0.0,4.0 +13759,2023-04-06 13:10:00,0.0,4.0 +13760,2023-04-06 13:20:00,0.0,4.0 +13761,2023-04-06 13:30:00,0.0,4.0 +13762,2023-04-06 13:40:00,0.0,4.0 +13763,2023-04-06 13:50:00,0.0,4.0 +13764,2023-04-06 14:00:00,0.0,4.0 +13765,2023-04-06 14:10:00,0.0,4.0 +13766,2023-04-06 14:20:00,0.0,4.0 +13767,2023-04-06 14:30:00,0.0,4.0 +13768,2023-04-06 14:40:00,0.0,4.0 +13769,2023-04-06 14:50:00,0.0,4.0 +13770,2023-04-06 15:00:00,0.0,4.0 +13771,2023-04-06 15:10:00,0.0,4.0 +13772,2023-04-06 15:20:00,0.0,4.0 +13773,2023-04-06 15:30:00,0.0,4.0 +13774,2023-04-06 15:40:00,0.0,4.0 +13775,2023-04-06 15:50:00,0.0,4.0 +13776,2023-04-06 16:00:00,0.0,4.0 +13777,2023-04-06 16:10:00,0.0,4.0 +13778,2023-04-06 16:20:00,0.0,4.0 +13779,2023-04-06 16:30:00,0.0,4.0 +13780,2023-04-06 16:40:00,0.0,4.0 +13781,2023-04-06 16:50:00,0.0,4.0 +13782,2023-04-06 17:00:00,0.0,4.0 +13783,2023-04-06 17:10:00,0.0,4.0 +13784,2023-04-06 17:20:00,0.0,4.0 +13785,2023-04-06 17:30:00,0.0,4.0 +13786,2023-04-06 17:40:00,0.0,4.0 +13787,2023-04-06 17:50:00,0.0,4.0 +13794,2023-04-06 19:00:00,0.0,4.0 +13795,2023-04-06 19:10:00,0.0,4.0 +13796,2023-04-06 19:20:00,0.0,4.0 +13797,2023-04-06 19:30:00,0.0,4.0 +13798,2023-04-06 19:40:00,0.0,4.0 +13799,2023-04-06 19:50:00,0.0,4.0 +13812,2023-04-06 22:00:00,0.0,3.0 +13813,2023-04-06 22:10:00,0.0,3.0 +13814,2023-04-06 22:20:00,0.0,3.0 +13815,2023-04-06 22:30:00,0.0,3.0 +13816,2023-04-06 22:40:00,0.0,3.0 +13817,2023-04-06 22:50:00,0.0,3.0 +13818,2023-04-06 23:00:00,0.0,3.0 +13819,2023-04-06 23:10:00,0.0,3.0 +13820,2023-04-06 23:20:00,0.0,3.0 +13821,2023-04-06 23:30:00,0.0,3.0 +13822,2023-04-06 23:40:00,0.0,3.0 +13823,2023-04-06 23:50:00,0.0,3.0 +13824,2023-04-07 00:00:00,0.0,4.0 +13825,2023-04-07 00:10:00,0.0,4.0 +13826,2023-04-07 00:20:00,0.0,4.0 +13827,2023-04-07 00:30:00,0.0,4.0 +13828,2023-04-07 00:40:00,0.0,4.0 +13829,2023-04-07 00:50:00,0.0,4.0 +13830,2023-04-07 01:00:00,0.0,3.0 +13831,2023-04-07 01:10:00,0.0,3.0 +13832,2023-04-07 01:20:00,0.0,3.0 +13833,2023-04-07 01:30:00,0.0,3.0 +13834,2023-04-07 01:40:00,0.0,3.0 +13835,2023-04-07 01:50:00,0.0,3.0 +13836,2023-04-07 02:00:00,0.0,3.0 +13837,2023-04-07 02:10:00,0.0,3.0 +13838,2023-04-07 02:20:00,0.0,3.0 +13839,2023-04-07 02:30:00,0.0,3.0 +13840,2023-04-07 02:40:00,0.0,3.0 +13841,2023-04-07 02:50:00,0.0,3.0 +13848,2023-04-07 04:00:00,0.0,3.0 +13849,2023-04-07 04:10:00,0.0,3.0 +13850,2023-04-07 04:20:00,0.0,3.0 +13851,2023-04-07 04:30:00,0.0,3.0 +13852,2023-04-07 04:40:00,0.0,3.0 +13853,2023-04-07 04:50:00,0.0,3.0 +13872,2023-04-07 08:00:00,0.0,3.0 +13873,2023-04-07 08:10:00,0.0,3.0 +13874,2023-04-07 08:20:00,0.0,3.0 +13875,2023-04-07 08:30:00,0.0,3.0 +13876,2023-04-07 08:40:00,0.0,3.0 +13877,2023-04-07 08:50:00,0.0,3.0 +13878,2023-04-07 09:00:00,0.0,4.0 +13879,2023-04-07 09:10:00,0.0,4.0 +13880,2023-04-07 09:20:00,0.0,4.0 +13881,2023-04-07 09:30:00,0.0,4.0 +13882,2023-04-07 09:40:00,0.0,4.0 +13883,2023-04-07 09:50:00,0.0,4.0 +13884,2023-04-07 10:00:00,0.0,3.0 +13885,2023-04-07 10:10:00,0.0,3.0 +13886,2023-04-07 10:20:00,0.0,3.0 +13887,2023-04-07 10:30:00,0.0,3.0 +13888,2023-04-07 10:40:00,0.0,3.0 +13889,2023-04-07 10:50:00,0.0,3.0 +13902,2023-04-07 13:00:00,0.0,4.0 +13903,2023-04-07 13:10:00,0.0,4.0 +13904,2023-04-07 13:20:00,0.0,4.0 +13905,2023-04-07 13:30:00,0.0,4.0 +13906,2023-04-07 13:40:00,0.0,4.0 +13907,2023-04-07 13:50:00,0.0,4.0 +13920,2023-04-07 16:00:00,0.0,3.0 +13921,2023-04-07 16:10:00,0.0,3.0 +13922,2023-04-07 16:20:00,0.0,3.0 +13923,2023-04-07 16:30:00,0.0,3.0 +13924,2023-04-07 16:40:00,0.0,3.0 +13925,2023-04-07 16:50:00,0.0,3.0 +13926,2023-04-07 17:00:00,0.0,3.0 +13927,2023-04-07 17:10:00,0.0,3.0 +13928,2023-04-07 17:20:00,0.0,3.0 +13929,2023-04-07 17:30:00,0.0,3.0 +13930,2023-04-07 17:40:00,0.0,3.0 +13931,2023-04-07 17:50:00,0.0,3.0 +13938,2023-04-07 19:00:00,0.0,3.0 +13939,2023-04-07 19:10:00,0.0,3.0 +13940,2023-04-07 19:20:00,0.0,3.0 +13941,2023-04-07 19:30:00,0.0,3.0 +13942,2023-04-07 19:40:00,0.0,3.0 +13943,2023-04-07 19:50:00,0.0,3.0 +13962,2023-04-07 23:00:00,0.0,3.0 +13963,2023-04-07 23:10:00,0.0,3.0 +13964,2023-04-07 23:20:00,0.0,3.0 +13965,2023-04-07 23:30:00,0.0,3.0 +13966,2023-04-07 23:40:00,0.0,3.0 +13967,2023-04-07 23:50:00,0.0,3.0 +13968,2023-04-08 00:00:00,0.0,4.0 +13969,2023-04-08 00:10:00,0.0,4.0 +13970,2023-04-08 00:20:00,0.0,4.0 +13971,2023-04-08 00:30:00,0.0,4.0 +13972,2023-04-08 00:40:00,0.0,4.0 +13973,2023-04-08 00:50:00,0.0,4.0 +13974,2023-04-08 01:00:00,0.0,3.0 +13975,2023-04-08 01:10:00,0.0,3.0 +13976,2023-04-08 01:20:00,0.0,3.0 +13977,2023-04-08 01:30:00,0.0,3.0 +13978,2023-04-08 01:40:00,0.0,3.0 +13979,2023-04-08 01:50:00,0.0,3.0 +13980,2023-04-08 02:00:00,0.0,3.0 +13981,2023-04-08 02:10:00,0.0,3.0 +13982,2023-04-08 02:20:00,0.0,3.0 +13983,2023-04-08 02:30:00,0.0,3.0 +13984,2023-04-08 02:40:00,0.0,3.0 +13985,2023-04-08 02:50:00,0.0,3.0 +13986,2023-04-08 03:00:00,0.0,3.0 +13987,2023-04-08 03:10:00,0.0,3.0 +13988,2023-04-08 03:20:00,0.0,3.0 +13989,2023-04-08 03:30:00,0.0,3.0 +13990,2023-04-08 03:40:00,0.0,3.0 +13991,2023-04-08 03:50:00,0.0,3.0 +13998,2023-04-08 05:00:00,0.0,3.0 +13999,2023-04-08 05:10:00,0.0,3.0 +14000,2023-04-08 05:20:00,0.0,3.0 +14001,2023-04-08 05:30:00,0.0,3.0 +14002,2023-04-08 05:40:00,0.0,3.0 +14003,2023-04-08 05:50:00,0.0,3.0 +14004,2023-04-08 06:00:00,0.0,3.0 +14005,2023-04-08 06:10:00,0.0,3.0 +14006,2023-04-08 06:20:00,0.0,3.0 +14007,2023-04-08 06:30:00,0.0,3.0 +14008,2023-04-08 06:40:00,0.0,3.0 +14009,2023-04-08 06:50:00,0.0,3.0 +14022,2023-04-08 09:00:00,0.0,5.0 +14023,2023-04-08 09:10:00,0.0,5.0 +14024,2023-04-08 09:20:00,0.0,5.0 +14025,2023-04-08 09:30:00,0.0,5.0 +14026,2023-04-08 09:40:00,0.0,5.0 +14027,2023-04-08 09:50:00,0.0,5.0 +14028,2023-04-08 10:00:00,0.0,3.0 +14029,2023-04-08 10:10:00,0.0,3.0 +14030,2023-04-08 10:20:00,0.0,3.0 +14031,2023-04-08 10:30:00,0.0,3.0 +14032,2023-04-08 10:40:00,0.0,3.0 +14033,2023-04-08 10:50:00,0.0,3.0 +14034,2023-04-08 11:00:00,0.0,5.0 +14035,2023-04-08 11:10:00,0.0,5.0 +14036,2023-04-08 11:20:00,0.0,5.0 +14037,2023-04-08 11:30:00,0.0,5.0 +14038,2023-04-08 11:40:00,0.0,5.0 +14039,2023-04-08 11:50:00,0.0,5.0 +14046,2023-04-08 13:00:00,0.0,5.0 +14047,2023-04-08 13:10:00,0.0,5.0 +14048,2023-04-08 13:20:00,0.0,5.0 +14049,2023-04-08 13:30:00,0.0,5.0 +14050,2023-04-08 13:40:00,0.0,5.0 +14051,2023-04-08 13:50:00,0.0,5.0 +14052,2023-04-08 14:00:00,0.0,5.0 +14053,2023-04-08 14:10:00,0.0,5.0 +14054,2023-04-08 14:20:00,0.0,5.0 +14055,2023-04-08 14:30:00,0.0,5.0 +14056,2023-04-08 14:40:00,0.0,5.0 +14057,2023-04-08 14:50:00,0.0,5.0 +14058,2023-04-08 15:00:00,0.0,5.0 +14059,2023-04-08 15:10:00,0.0,5.0 +14060,2023-04-08 15:20:00,0.0,5.0 +14061,2023-04-08 15:30:00,0.0,5.0 +14062,2023-04-08 15:40:00,0.0,5.0 +14063,2023-04-08 15:50:00,0.0,5.0 +14076,2023-04-08 18:00:00,0.0,5.0 +14077,2023-04-08 18:10:00,0.0,5.0 +14078,2023-04-08 18:20:00,0.0,5.0 +14079,2023-04-08 18:30:00,0.0,5.0 +14080,2023-04-08 18:40:00,0.0,5.0 +14081,2023-04-08 18:50:00,0.0,5.0 +14088,2023-04-08 20:00:00,0.0,3.0 +14089,2023-04-08 20:10:00,0.0,3.0 +14090,2023-04-08 20:20:00,0.0,3.0 +14091,2023-04-08 20:30:00,0.0,3.0 +14092,2023-04-08 20:40:00,0.0,3.0 +14093,2023-04-08 20:50:00,0.0,3.0 +14094,2023-04-08 21:00:00,0.0,3.0 +14095,2023-04-08 21:10:00,0.0,3.0 +14096,2023-04-08 21:20:00,0.0,3.0 +14097,2023-04-08 21:30:00,0.0,3.0 +14098,2023-04-08 21:40:00,0.0,3.0 +14099,2023-04-08 21:50:00,0.0,3.0 +14106,2023-04-08 23:00:00,0.0,3.0 +14107,2023-04-08 23:10:00,0.0,3.0 +14108,2023-04-08 23:20:00,0.0,3.0 +14109,2023-04-08 23:30:00,0.0,3.0 +14110,2023-04-08 23:40:00,0.0,3.0 +14111,2023-04-08 23:50:00,0.0,3.0 +14130,2023-04-09 03:00:00,0.0,3.0 +14131,2023-04-09 03:10:00,0.0,3.0 +14132,2023-04-09 03:20:00,0.0,3.0 +14133,2023-04-09 03:30:00,0.0,3.0 +14134,2023-04-09 03:40:00,0.0,3.0 +14135,2023-04-09 03:50:00,0.0,3.0 +14148,2023-04-09 06:00:00,0.0,3.0 +14149,2023-04-09 06:10:00,0.0,3.0 +14150,2023-04-09 06:20:00,0.0,3.0 +14151,2023-04-09 06:30:00,0.0,3.0 +14152,2023-04-09 06:40:00,0.0,3.0 +14153,2023-04-09 06:50:00,0.0,3.0 +14154,2023-04-09 07:00:00,0.0,3.0 +14155,2023-04-09 07:10:00,0.0,3.0 +14156,2023-04-09 07:20:00,0.0,3.0 +14157,2023-04-09 07:30:00,0.0,3.0 +14158,2023-04-09 07:40:00,0.0,3.0 +14159,2023-04-09 07:50:00,0.0,3.0 +14160,2023-04-09 08:00:00,0.0,3.0 +14161,2023-04-09 08:10:00,0.0,3.0 +14162,2023-04-09 08:20:00,0.0,3.0 +14163,2023-04-09 08:30:00,0.0,3.0 +14164,2023-04-09 08:40:00,0.0,3.0 +14165,2023-04-09 08:50:00,0.0,3.0 +14166,2023-04-09 09:00:00,0.0,5.0 +14167,2023-04-09 09:10:00,0.0,5.0 +14168,2023-04-09 09:20:00,0.0,5.0 +14169,2023-04-09 09:30:00,0.0,5.0 +14170,2023-04-09 09:40:00,0.0,5.0 +14171,2023-04-09 09:50:00,0.0,5.0 +14172,2023-04-09 10:00:00,0.0,5.0 +14173,2023-04-09 10:10:00,0.0,5.0 +14174,2023-04-09 10:20:00,0.0,5.0 +14175,2023-04-09 10:30:00,0.0,5.0 +14176,2023-04-09 10:40:00,0.0,5.0 +14177,2023-04-09 10:50:00,0.0,5.0 +14190,2023-04-09 13:00:00,0.0,7.0 +14191,2023-04-09 13:10:00,0.0,7.0 +14192,2023-04-09 13:20:00,0.0,7.0 +14193,2023-04-09 13:30:00,0.0,7.0 +14194,2023-04-09 13:40:00,0.0,7.0 +14195,2023-04-09 13:50:00,0.0,7.0 +14196,2023-04-09 14:00:00,0.0,5.0 +14197,2023-04-09 14:10:00,0.0,5.0 +14198,2023-04-09 14:20:00,0.0,5.0 +14199,2023-04-09 14:30:00,0.0,5.0 +14200,2023-04-09 14:40:00,0.0,5.0 +14201,2023-04-09 14:50:00,0.0,5.0 +14202,2023-04-09 15:00:00,0.0,5.0 +14203,2023-04-09 15:10:00,0.0,5.0 +14204,2023-04-09 15:20:00,0.0,5.0 +14205,2023-04-09 15:30:00,0.0,5.0 +14206,2023-04-09 15:40:00,0.0,5.0 +14207,2023-04-09 15:50:00,0.0,5.0 +14208,2023-04-09 16:00:00,0.0,5.0 +14209,2023-04-09 16:10:00,0.0,5.0 +14210,2023-04-09 16:20:00,0.0,5.0 +14211,2023-04-09 16:30:00,0.0,5.0 +14212,2023-04-09 16:40:00,0.0,5.0 +14213,2023-04-09 16:50:00,0.0,5.0 +14220,2023-04-09 18:00:00,0.0,5.0 +14221,2023-04-09 18:10:00,0.0,5.0 +14222,2023-04-09 18:20:00,0.0,5.0 +14223,2023-04-09 18:30:00,0.0,5.0 +14224,2023-04-09 18:40:00,0.0,5.0 +14225,2023-04-09 18:50:00,0.0,5.0 +14226,2023-04-09 19:00:00,0.0,5.0 +14227,2023-04-09 19:10:00,0.0,5.0 +14228,2023-04-09 19:20:00,0.0,5.0 +14229,2023-04-09 19:30:00,0.0,5.0 +14230,2023-04-09 19:40:00,0.0,5.0 +14231,2023-04-09 19:50:00,0.0,5.0 +14232,2023-04-09 20:00:00,0.0,3.0 +14233,2023-04-09 20:10:00,0.0,3.0 +14234,2023-04-09 20:20:00,0.0,3.0 +14235,2023-04-09 20:30:00,0.0,3.0 +14236,2023-04-09 20:40:00,0.0,3.0 +14237,2023-04-09 20:50:00,0.0,3.0 +14238,2023-04-09 21:00:00,0.0,3.0 +14239,2023-04-09 21:10:00,0.0,3.0 +14240,2023-04-09 21:20:00,0.0,3.0 +14241,2023-04-09 21:30:00,0.0,3.0 +14242,2023-04-09 21:40:00,0.0,3.0 +14243,2023-04-09 21:50:00,0.0,3.0 +14244,2023-04-09 22:00:00,0.0,3.0 +14245,2023-04-09 22:10:00,0.0,3.0 +14246,2023-04-09 22:20:00,0.0,3.0 +14247,2023-04-09 22:30:00,0.0,3.0 +14248,2023-04-09 22:40:00,0.0,3.0 +14249,2023-04-09 22:50:00,0.0,3.0 +14250,2023-04-09 23:00:00,0.0,3.0 +14251,2023-04-09 23:10:00,0.0,3.0 +14252,2023-04-09 23:20:00,0.0,3.0 +14253,2023-04-09 23:30:00,0.0,3.0 +14254,2023-04-09 23:40:00,0.0,3.0 +14255,2023-04-09 23:50:00,0.0,3.0 +14262,2023-04-10 01:00:00,0.0,3.0 +14263,2023-04-10 01:10:00,0.0,3.0 +14264,2023-04-10 01:20:00,0.0,3.0 +14265,2023-04-10 01:30:00,0.0,3.0 +14266,2023-04-10 01:40:00,0.0,3.0 +14267,2023-04-10 01:50:00,0.0,3.0 +14268,2023-04-10 02:00:00,0.0,3.0 +14269,2023-04-10 02:10:00,0.0,3.0 +14270,2023-04-10 02:20:00,0.0,3.0 +14271,2023-04-10 02:30:00,0.0,3.0 +14272,2023-04-10 02:40:00,0.0,3.0 +14273,2023-04-10 02:50:00,0.0,3.0 +14274,2023-04-10 03:00:00,0.0,3.0 +14275,2023-04-10 03:10:00,0.0,3.0 +14276,2023-04-10 03:20:00,0.0,3.0 +14277,2023-04-10 03:30:00,0.0,3.0 +14278,2023-04-10 03:40:00,0.0,3.0 +14279,2023-04-10 03:50:00,0.0,3.0 +14280,2023-04-10 04:00:00,0.0,3.0 +14281,2023-04-10 04:10:00,0.0,3.0 +14282,2023-04-10 04:20:00,0.0,3.0 +14283,2023-04-10 04:30:00,0.0,3.0 +14284,2023-04-10 04:40:00,0.0,3.0 +14285,2023-04-10 04:50:00,0.0,3.0 +14292,2023-04-10 06:00:00,0.0,3.0 +14293,2023-04-10 06:10:00,0.0,3.0 +14294,2023-04-10 06:20:00,0.0,3.0 +14295,2023-04-10 06:30:00,0.0,3.0 +14296,2023-04-10 06:40:00,0.0,3.0 +14297,2023-04-10 06:50:00,0.0,3.0 +14322,2023-04-10 11:00:00,0.0,7.0 +14323,2023-04-10 11:10:00,0.0,7.0 +14324,2023-04-10 11:20:00,0.0,7.0 +14325,2023-04-10 11:30:00,0.0,7.0 +14326,2023-04-10 11:40:00,0.0,7.0 +14327,2023-04-10 11:50:00,0.0,7.0 +14340,2023-04-10 14:00:00,0.0,6.0 +14341,2023-04-10 14:10:00,0.0,6.0 +14342,2023-04-10 14:20:00,0.0,6.0 +14343,2023-04-10 14:30:00,0.0,6.0 +14344,2023-04-10 14:40:00,0.0,6.0 +14345,2023-04-10 14:50:00,0.0,6.0 +14370,2023-04-10 19:00:00,0.0,5.0 +14371,2023-04-10 19:10:00,0.0,5.0 +14372,2023-04-10 19:20:00,0.0,5.0 +14373,2023-04-10 19:30:00,0.0,5.0 +14374,2023-04-10 19:40:00,0.0,5.0 +14375,2023-04-10 19:50:00,0.0,5.0 +14382,2023-04-10 21:00:00,0.0,4.0 +14383,2023-04-10 21:10:00,0.0,4.0 +14384,2023-04-10 21:20:00,0.0,4.0 +14385,2023-04-10 21:30:00,0.0,4.0 +14386,2023-04-10 21:40:00,0.0,4.0 +14387,2023-04-10 21:50:00,0.0,4.0 +14388,2023-04-10 22:00:00,0.0,4.0 +14389,2023-04-10 22:10:00,0.0,4.0 +14390,2023-04-10 22:20:00,0.0,4.0 +14391,2023-04-10 22:30:00,0.0,4.0 +14392,2023-04-10 22:40:00,0.0,4.0 +14393,2023-04-10 22:50:00,0.0,4.0 +14418,2023-04-11 03:00:00,0.0,3.0 +14419,2023-04-11 03:10:00,0.0,3.0 +14420,2023-04-11 03:20:00,0.0,3.0 +14421,2023-04-11 03:30:00,0.0,3.0 +14422,2023-04-11 03:40:00,0.0,3.0 +14423,2023-04-11 03:50:00,0.0,3.0 +14424,2023-04-11 04:00:00,0.0,3.0 +14425,2023-04-11 04:10:00,0.0,3.0 +14426,2023-04-11 04:20:00,0.0,3.0 +14427,2023-04-11 04:30:00,0.0,3.0 +14428,2023-04-11 04:40:00,0.0,3.0 +14429,2023-04-11 04:50:00,0.0,3.0 +14430,2023-04-11 05:00:00,0.0,3.0 +14431,2023-04-11 05:10:00,0.0,3.0 +14432,2023-04-11 05:20:00,0.0,3.0 +14433,2023-04-11 05:30:00,0.0,3.0 +14434,2023-04-11 05:40:00,0.0,3.0 +14435,2023-04-11 05:50:00,0.0,3.0 +14466,2023-04-11 11:00:00,0.0,5.0 +14467,2023-04-11 11:10:00,0.0,5.0 +14468,2023-04-11 11:20:00,0.0,5.0 +14469,2023-04-11 11:30:00,0.0,5.0 +14470,2023-04-11 11:40:00,0.0,5.0 +14471,2023-04-11 11:50:00,0.0,5.0 +14478,2023-04-11 13:00:00,0.0,5.0 +14479,2023-04-11 13:10:00,0.0,5.0 +14480,2023-04-11 13:20:00,0.0,5.0 +14481,2023-04-11 13:30:00,0.0,5.0 +14482,2023-04-11 13:40:00,0.0,5.0 +14483,2023-04-11 13:50:00,0.0,5.0 +14490,2023-04-11 15:00:00,0.0,5.0 +14491,2023-04-11 15:10:00,0.0,5.0 +14492,2023-04-11 15:20:00,0.0,5.0 +14493,2023-04-11 15:30:00,0.0,5.0 +14494,2023-04-11 15:40:00,0.0,5.0 +14495,2023-04-11 15:50:00,0.0,5.0 +14496,2023-04-11 16:00:00,0.0,5.0 +14497,2023-04-11 16:10:00,0.0,5.0 +14498,2023-04-11 16:20:00,0.0,5.0 +14499,2023-04-11 16:30:00,0.0,5.0 +14500,2023-04-11 16:40:00,0.0,5.0 +14501,2023-04-11 16:50:00,0.0,5.0 +14502,2023-04-11 17:00:00,0.0,5.0 +14503,2023-04-11 17:10:00,0.0,5.0 +14504,2023-04-11 17:20:00,0.0,5.0 +14505,2023-04-11 17:30:00,0.0,5.0 +14506,2023-04-11 17:40:00,0.0,5.0 +14507,2023-04-11 17:50:00,0.0,5.0 +14508,2023-04-11 18:00:00,0.0,5.0 +14509,2023-04-11 18:10:00,0.0,5.0 +14510,2023-04-11 18:20:00,0.0,5.0 +14511,2023-04-11 18:30:00,0.0,5.0 +14512,2023-04-11 18:40:00,0.0,5.0 +14513,2023-04-11 18:50:00,0.0,5.0 +14514,2023-04-11 19:00:00,0.0,4.0 +14515,2023-04-11 19:10:00,0.0,4.0 +14516,2023-04-11 19:20:00,0.0,4.0 +14517,2023-04-11 19:30:00,0.0,4.0 +14518,2023-04-11 19:40:00,0.0,4.0 +14519,2023-04-11 19:50:00,0.0,4.0 +14532,2023-04-11 22:00:00,0.0,3.0 +14533,2023-04-11 22:10:00,0.0,3.0 +14534,2023-04-11 22:20:00,0.0,3.0 +14535,2023-04-11 22:30:00,0.0,3.0 +14536,2023-04-11 22:40:00,0.0,3.0 +14537,2023-04-11 22:50:00,0.0,3.0 +14538,2023-04-11 23:00:00,0.0,4.0 +14539,2023-04-11 23:10:00,0.0,4.0 +14540,2023-04-11 23:20:00,0.0,4.0 +14541,2023-04-11 23:30:00,0.0,4.0 +14542,2023-04-11 23:40:00,0.0,4.0 +14543,2023-04-11 23:50:00,0.0,4.0 +14544,2023-04-12 00:00:00,0.0,4.0 +14545,2023-04-12 00:10:00,0.0,4.0 +14546,2023-04-12 00:20:00,0.0,4.0 +14547,2023-04-12 00:30:00,0.0,4.0 +14548,2023-04-12 00:40:00,0.0,4.0 +14549,2023-04-12 00:50:00,0.0,4.0 +14550,2023-04-12 01:00:00,0.0,4.0 +14551,2023-04-12 01:10:00,0.0,4.0 +14552,2023-04-12 01:20:00,0.0,4.0 +14553,2023-04-12 01:30:00,0.0,4.0 +14554,2023-04-12 01:40:00,0.0,4.0 +14555,2023-04-12 01:50:00,0.0,4.0 +14562,2023-04-12 03:00:00,0.0,4.0 +14563,2023-04-12 03:10:00,0.0,4.0 +14564,2023-04-12 03:20:00,0.0,4.0 +14565,2023-04-12 03:30:00,0.0,4.0 +14566,2023-04-12 03:40:00,0.0,4.0 +14567,2023-04-12 03:50:00,0.0,4.0 +14574,2023-04-12 05:00:00,0.0,4.0 +14575,2023-04-12 05:10:00,0.0,4.0 +14576,2023-04-12 05:20:00,0.0,4.0 +14577,2023-04-12 05:30:00,0.0,4.0 +14578,2023-04-12 05:40:00,0.0,4.0 +14579,2023-04-12 05:50:00,0.0,4.0 +14580,2023-04-12 06:00:00,0.0,4.0 +14581,2023-04-12 06:10:00,0.0,4.0 +14582,2023-04-12 06:20:00,0.0,4.0 +14583,2023-04-12 06:30:00,0.0,4.0 +14584,2023-04-12 06:40:00,0.0,4.0 +14585,2023-04-12 06:50:00,0.0,4.0 +14598,2023-04-12 09:00:00,0.0,5.0 +14599,2023-04-12 09:10:00,0.0,5.0 +14600,2023-04-12 09:20:00,0.0,5.0 +14601,2023-04-12 09:30:00,0.0,5.0 +14602,2023-04-12 09:40:00,0.0,5.0 +14603,2023-04-12 09:50:00,0.0,5.0 +14610,2023-04-12 11:00:00,0.0,5.0 +14611,2023-04-12 11:10:00,0.0,5.0 +14612,2023-04-12 11:20:00,0.0,5.0 +14613,2023-04-12 11:30:00,0.0,5.0 +14614,2023-04-12 11:40:00,0.0,5.0 +14615,2023-04-12 11:50:00,0.0,5.0 +14616,2023-04-12 12:00:00,0.0,6.0 +14617,2023-04-12 12:10:00,0.0,6.0 +14618,2023-04-12 12:20:00,0.0,6.0 +14619,2023-04-12 12:30:00,0.0,6.0 +14620,2023-04-12 12:40:00,0.0,6.0 +14621,2023-04-12 12:50:00,0.0,6.0 +14646,2023-04-12 17:00:00,0.0,3.0 +14647,2023-04-12 17:10:00,0.0,3.0 +14648,2023-04-12 17:20:00,0.0,3.0 +14649,2023-04-12 17:30:00,0.0,3.0 +14650,2023-04-12 17:40:00,0.0,3.0 +14651,2023-04-12 17:50:00,0.0,3.0 +14658,2023-04-12 19:00:00,0.0,3.0 +14659,2023-04-12 19:10:00,0.0,3.0 +14660,2023-04-12 19:20:00,0.0,3.0 +14661,2023-04-12 19:30:00,0.0,3.0 +14662,2023-04-12 19:40:00,0.0,3.0 +14663,2023-04-12 19:50:00,0.0,3.0 +14670,2023-04-12 21:00:00,0.0,4.0 +14671,2023-04-12 21:10:00,0.0,4.0 +14672,2023-04-12 21:20:00,0.0,4.0 +14673,2023-04-12 21:30:00,0.0,4.0 +14674,2023-04-12 21:40:00,0.0,4.0 +14675,2023-04-12 21:50:00,0.0,4.0 +14688,2023-04-13 00:00:00,0.0,4.0 +14689,2023-04-13 00:10:00,0.0,4.0 +14690,2023-04-13 00:20:00,0.0,4.0 +14691,2023-04-13 00:30:00,0.0,4.0 +14692,2023-04-13 00:40:00,0.0,4.0 +14693,2023-04-13 00:50:00,0.0,4.0 +14700,2023-04-13 02:00:00,0.0,4.0 +14701,2023-04-13 02:10:00,0.0,4.0 +14702,2023-04-13 02:20:00,0.0,4.0 +14703,2023-04-13 02:30:00,0.0,4.0 +14704,2023-04-13 02:40:00,0.0,4.0 +14705,2023-04-13 02:50:00,0.0,4.0 +14706,2023-04-13 03:00:00,0.0,4.0 +14707,2023-04-13 03:10:00,0.0,4.0 +14708,2023-04-13 03:20:00,0.0,4.0 +14709,2023-04-13 03:30:00,0.0,4.0 +14710,2023-04-13 03:40:00,0.0,4.0 +14711,2023-04-13 03:50:00,0.0,4.0 +14712,2023-04-13 04:00:00,0.0,4.0 +14713,2023-04-13 04:10:00,0.0,4.0 +14714,2023-04-13 04:20:00,0.0,4.0 +14715,2023-04-13 04:30:00,0.0,4.0 +14716,2023-04-13 04:40:00,0.0,4.0 +14717,2023-04-13 04:50:00,0.0,4.0 +14718,2023-04-13 05:00:00,0.0,4.0 +14719,2023-04-13 05:10:00,0.0,4.0 +14720,2023-04-13 05:20:00,0.0,4.0 +14721,2023-04-13 05:30:00,0.0,4.0 +14722,2023-04-13 05:40:00,0.0,4.0 +14723,2023-04-13 05:50:00,0.0,4.0 +14730,2023-04-13 07:00:00,0.0,3.0 +14731,2023-04-13 07:10:00,0.0,3.0 +14732,2023-04-13 07:20:00,0.0,3.0 +14733,2023-04-13 07:30:00,0.0,3.0 +14734,2023-04-13 07:40:00,0.0,3.0 +14735,2023-04-13 07:50:00,0.0,3.0 +14748,2023-04-13 10:00:00,0.0,5.0 +14749,2023-04-13 10:10:00,0.0,5.0 +14750,2023-04-13 10:20:00,0.0,5.0 +14751,2023-04-13 10:30:00,0.0,5.0 +14752,2023-04-13 10:40:00,0.0,5.0 +14753,2023-04-13 10:50:00,0.0,5.0 +14760,2023-04-13 12:00:00,0.0,3.0 +14761,2023-04-13 12:10:00,0.0,3.0 +14762,2023-04-13 12:20:00,0.0,3.0 +14763,2023-04-13 12:30:00,0.0,3.0 +14764,2023-04-13 12:40:00,0.0,3.0 +14765,2023-04-13 12:50:00,0.0,3.0 +14772,2023-04-13 14:00:00,0.0,5.0 +14773,2023-04-13 14:10:00,0.0,5.0 +14774,2023-04-13 14:20:00,0.0,5.0 +14775,2023-04-13 14:30:00,0.0,5.0 +14776,2023-04-13 14:40:00,0.0,5.0 +14777,2023-04-13 14:50:00,0.0,5.0 +14778,2023-04-13 15:00:00,0.0,5.0 +14779,2023-04-13 15:10:00,0.0,5.0 +14780,2023-04-13 15:20:00,0.0,5.0 +14781,2023-04-13 15:30:00,0.0,5.0 +14782,2023-04-13 15:40:00,0.0,5.0 +14783,2023-04-13 15:50:00,0.0,5.0 +14784,2023-04-13 16:00:00,0.0,5.0 +14785,2023-04-13 16:10:00,0.0,5.0 +14786,2023-04-13 16:20:00,0.0,5.0 +14787,2023-04-13 16:30:00,0.0,5.0 +14788,2023-04-13 16:40:00,0.0,5.0 +14789,2023-04-13 16:50:00,0.0,5.0 +14790,2023-04-13 17:00:00,0.0,3.0 +14791,2023-04-13 17:10:00,0.0,3.0 +14792,2023-04-13 17:20:00,0.0,3.0 +14793,2023-04-13 17:30:00,0.0,3.0 +14794,2023-04-13 17:40:00,0.0,3.0 +14795,2023-04-13 17:50:00,0.0,3.0 +14796,2023-04-13 18:00:00,0.0,3.0 +14797,2023-04-13 18:10:00,0.0,3.0 +14798,2023-04-13 18:20:00,0.0,3.0 +14799,2023-04-13 18:30:00,0.0,3.0 +14800,2023-04-13 18:40:00,0.0,3.0 +14801,2023-04-13 18:50:00,0.0,3.0 +14802,2023-04-13 19:00:00,0.0,3.0 +14803,2023-04-13 19:10:00,0.0,3.0 +14804,2023-04-13 19:20:00,0.0,3.0 +14805,2023-04-13 19:30:00,0.0,3.0 +14806,2023-04-13 19:40:00,0.0,3.0 +14807,2023-04-13 19:50:00,0.0,3.0 +14808,2023-04-13 20:00:00,0.0,3.0 +14809,2023-04-13 20:10:00,0.0,3.0 +14810,2023-04-13 20:20:00,0.0,3.0 +14811,2023-04-13 20:30:00,0.0,3.0 +14812,2023-04-13 20:40:00,0.0,3.0 +14813,2023-04-13 20:50:00,0.0,3.0 +14820,2023-04-13 22:00:00,0.0,3.0 +14821,2023-04-13 22:10:00,0.0,3.0 +14822,2023-04-13 22:20:00,0.0,3.0 +14823,2023-04-13 22:30:00,0.0,3.0 +14824,2023-04-13 22:40:00,0.0,3.0 +14825,2023-04-13 22:50:00,0.0,3.0 +14844,2023-04-14 02:00:00,0.0,3.0 +14845,2023-04-14 02:10:00,0.0,3.0 +14846,2023-04-14 02:20:00,0.0,3.0 +14847,2023-04-14 02:30:00,0.0,3.0 +14848,2023-04-14 02:40:00,0.0,3.0 +14849,2023-04-14 02:50:00,0.0,3.0 +14856,2023-04-14 04:00:00,0.0,3.0 +14857,2023-04-14 04:10:00,0.0,3.0 +14858,2023-04-14 04:20:00,0.0,3.0 +14859,2023-04-14 04:30:00,0.0,3.0 +14860,2023-04-14 04:40:00,0.0,3.0 +14861,2023-04-14 04:50:00,0.0,3.0 +14874,2023-04-14 07:00:00,0.0,3.0 +14875,2023-04-14 07:10:00,0.0,3.0 +14876,2023-04-14 07:20:00,0.0,3.0 +14877,2023-04-14 07:30:00,0.0,3.0 +14878,2023-04-14 07:40:00,0.0,3.0 +14879,2023-04-14 07:50:00,0.0,3.0 +14898,2023-04-14 11:00:00,0.0,5.0 +14899,2023-04-14 11:10:00,0.0,5.0 +14900,2023-04-14 11:20:00,0.0,5.0 +14901,2023-04-14 11:30:00,0.0,5.0 +14902,2023-04-14 11:40:00,0.0,5.0 +14903,2023-04-14 11:50:00,0.0,5.0 +14904,2023-04-14 12:00:00,0.0,5.0 +14905,2023-04-14 12:10:00,0.0,5.0 +14906,2023-04-14 12:20:00,0.0,5.0 +14907,2023-04-14 12:30:00,0.0,5.0 +14908,2023-04-14 12:40:00,0.0,5.0 +14909,2023-04-14 12:50:00,0.0,5.0 +14916,2023-04-14 14:00:00,0.0,5.0 +14917,2023-04-14 14:10:00,0.0,5.0 +14918,2023-04-14 14:20:00,0.0,5.0 +14919,2023-04-14 14:30:00,0.0,5.0 +14920,2023-04-14 14:40:00,0.0,5.0 +14921,2023-04-14 14:50:00,0.0,5.0 +14934,2023-04-14 17:00:00,0.0,5.0 +14935,2023-04-14 17:10:00,0.0,5.0 +14936,2023-04-14 17:20:00,0.0,5.0 +14937,2023-04-14 17:30:00,0.0,5.0 +14938,2023-04-14 17:40:00,0.0,5.0 +14939,2023-04-14 17:50:00,0.0,5.0 +14952,2023-04-14 20:00:00,0.0,3.0 +14953,2023-04-14 20:10:00,0.0,3.0 +14954,2023-04-14 20:20:00,0.0,3.0 +14955,2023-04-14 20:30:00,0.0,3.0 +14956,2023-04-14 20:40:00,0.0,3.0 +14957,2023-04-14 20:50:00,0.0,3.0 +14958,2023-04-14 21:00:00,0.0,3.0 +14959,2023-04-14 21:10:00,0.0,3.0 +14960,2023-04-14 21:20:00,0.0,3.0 +14961,2023-04-14 21:30:00,0.0,3.0 +14962,2023-04-14 21:40:00,0.0,3.0 +14963,2023-04-14 21:50:00,0.0,3.0 +14964,2023-04-14 22:00:00,0.0,3.0 +14965,2023-04-14 22:10:00,0.0,3.0 +14966,2023-04-14 22:20:00,0.0,3.0 +14967,2023-04-14 22:30:00,0.0,3.0 +14968,2023-04-14 22:40:00,0.0,3.0 +14969,2023-04-14 22:50:00,0.0,3.0 +14970,2023-04-14 23:00:00,0.0,3.0 +14971,2023-04-14 23:10:00,0.0,3.0 +14972,2023-04-14 23:20:00,0.0,3.0 +14973,2023-04-14 23:30:00,0.0,3.0 +14974,2023-04-14 23:40:00,0.0,3.0 +14975,2023-04-14 23:50:00,0.0,3.0 +14988,2023-04-15 02:00:00,0.0,3.0 +14989,2023-04-15 02:10:00,0.0,3.0 +14990,2023-04-15 02:20:00,0.0,3.0 +14991,2023-04-15 02:30:00,0.0,3.0 +14992,2023-04-15 02:40:00,0.0,3.0 +14993,2023-04-15 02:50:00,0.0,3.0 +14994,2023-04-15 03:00:00,0.0,3.0 +14995,2023-04-15 03:10:00,0.0,3.0 +14996,2023-04-15 03:20:00,0.0,3.0 +14997,2023-04-15 03:30:00,0.0,3.0 +14998,2023-04-15 03:40:00,0.0,3.0 +14999,2023-04-15 03:50:00,0.0,3.0 +15006,2023-04-15 05:00:00,0.0,3.0 +15007,2023-04-15 05:10:00,0.0,3.0 +15008,2023-04-15 05:20:00,0.0,3.0 +15009,2023-04-15 05:30:00,0.0,3.0 +15010,2023-04-15 05:40:00,0.0,3.0 +15011,2023-04-15 05:50:00,0.0,3.0 +15018,2023-04-15 07:00:00,0.0,5.0 +15019,2023-04-15 07:10:00,0.0,5.0 +15020,2023-04-15 07:20:00,0.0,5.0 +15021,2023-04-15 07:30:00,0.0,5.0 +15022,2023-04-15 07:40:00,0.0,5.0 +15023,2023-04-15 07:50:00,0.0,5.0 +15048,2023-04-15 12:00:00,0.0,5.0 +15049,2023-04-15 12:10:00,0.0,5.0 +15050,2023-04-15 12:20:00,0.0,5.0 +15051,2023-04-15 12:30:00,0.0,5.0 +15052,2023-04-15 12:40:00,0.0,5.0 +15053,2023-04-15 12:50:00,0.0,5.0 +15054,2023-04-15 13:00:00,0.0,5.0 +15055,2023-04-15 13:10:00,0.0,5.0 +15056,2023-04-15 13:20:00,0.0,5.0 +15057,2023-04-15 13:30:00,0.0,5.0 +15058,2023-04-15 13:40:00,0.0,5.0 +15059,2023-04-15 13:50:00,0.0,5.0 +15066,2023-04-15 15:00:00,0.0,5.0 +15067,2023-04-15 15:10:00,0.0,5.0 +15068,2023-04-15 15:20:00,0.0,5.0 +15069,2023-04-15 15:30:00,0.0,5.0 +15070,2023-04-15 15:40:00,0.0,5.0 +15071,2023-04-15 15:50:00,0.0,5.0 +15072,2023-04-15 16:00:00,0.0,3.0 +15073,2023-04-15 16:10:00,0.0,3.0 +15074,2023-04-15 16:20:00,0.0,3.0 +15075,2023-04-15 16:30:00,0.0,3.0 +15076,2023-04-15 16:40:00,0.0,3.0 +15077,2023-04-15 16:50:00,0.0,3.0 +15084,2023-04-15 18:00:00,0.0,3.0 +15085,2023-04-15 18:10:00,0.0,3.0 +15086,2023-04-15 18:20:00,0.0,3.0 +15087,2023-04-15 18:30:00,0.0,3.0 +15088,2023-04-15 18:40:00,0.0,3.0 +15089,2023-04-15 18:50:00,0.0,3.0 +15090,2023-04-15 19:00:00,0.0,3.0 +15091,2023-04-15 19:10:00,0.0,3.0 +15092,2023-04-15 19:20:00,0.0,3.0 +15093,2023-04-15 19:30:00,0.0,3.0 +15094,2023-04-15 19:40:00,0.0,3.0 +15095,2023-04-15 19:50:00,0.0,3.0 +15114,2023-04-15 23:00:00,0.0,3.0 +15115,2023-04-15 23:10:00,0.0,3.0 +15116,2023-04-15 23:20:00,0.0,3.0 +15117,2023-04-15 23:30:00,0.0,3.0 +15118,2023-04-15 23:40:00,0.0,3.0 +15119,2023-04-15 23:50:00,0.0,3.0 +15120,2023-04-16 00:00:00,0.0,3.0 +15121,2023-04-16 00:10:00,0.0,3.0 +15122,2023-04-16 00:20:00,0.0,3.0 +15123,2023-04-16 00:30:00,0.0,3.0 +15124,2023-04-16 00:40:00,0.0,3.0 +15125,2023-04-16 00:50:00,0.0,3.0 +15132,2023-04-16 02:00:00,0.0,3.0 +15133,2023-04-16 02:10:00,0.0,3.0 +15134,2023-04-16 02:20:00,0.0,3.0 +15135,2023-04-16 02:30:00,0.0,3.0 +15136,2023-04-16 02:40:00,0.0,3.0 +15137,2023-04-16 02:50:00,0.0,3.0 +15162,2023-04-16 07:00:00,0.0,3.0 +15163,2023-04-16 07:10:00,0.0,3.0 +15164,2023-04-16 07:20:00,0.0,3.0 +15165,2023-04-16 07:30:00,0.0,3.0 +15166,2023-04-16 07:40:00,0.0,3.0 +15167,2023-04-16 07:50:00,0.0,3.0 +15174,2023-04-16 09:00:00,0.0,3.0 +15175,2023-04-16 09:10:00,0.0,3.0 +15176,2023-04-16 09:20:00,0.0,3.0 +15177,2023-04-16 09:30:00,0.0,3.0 +15178,2023-04-16 09:40:00,0.0,3.0 +15179,2023-04-16 09:50:00,0.0,3.0 +15180,2023-04-16 10:00:00,0.0,3.0 +15181,2023-04-16 10:10:00,0.0,3.0 +15182,2023-04-16 10:20:00,0.0,3.0 +15183,2023-04-16 10:30:00,0.0,3.0 +15184,2023-04-16 10:40:00,0.0,3.0 +15185,2023-04-16 10:50:00,0.0,3.0 +15186,2023-04-16 11:00:00,0.0,5.0 +15187,2023-04-16 11:10:00,0.0,5.0 +15188,2023-04-16 11:20:00,0.0,5.0 +15189,2023-04-16 11:30:00,0.0,5.0 +15190,2023-04-16 11:40:00,0.0,5.0 +15191,2023-04-16 11:50:00,0.0,5.0 +15198,2023-04-16 13:00:00,0.0,5.0 +15199,2023-04-16 13:10:00,0.0,5.0 +15200,2023-04-16 13:20:00,0.0,5.0 +15201,2023-04-16 13:30:00,0.0,5.0 +15202,2023-04-16 13:40:00,0.0,5.0 +15203,2023-04-16 13:50:00,0.0,5.0 +15216,2023-04-16 16:00:00,0.0,5.0 +15217,2023-04-16 16:10:00,0.0,5.0 +15218,2023-04-16 16:20:00,0.0,5.0 +15219,2023-04-16 16:30:00,0.0,5.0 +15220,2023-04-16 16:40:00,0.0,5.0 +15221,2023-04-16 16:50:00,0.0,5.0 +15222,2023-04-16 17:00:00,0.0,3.0 +15223,2023-04-16 17:10:00,0.0,3.0 +15224,2023-04-16 17:20:00,0.0,3.0 +15225,2023-04-16 17:30:00,0.0,3.0 +15226,2023-04-16 17:40:00,0.0,3.0 +15227,2023-04-16 17:50:00,0.0,3.0 +15228,2023-04-16 18:00:00,0.0,3.0 +15229,2023-04-16 18:10:00,0.0,3.0 +15230,2023-04-16 18:20:00,0.0,3.0 +15231,2023-04-16 18:30:00,0.0,3.0 +15232,2023-04-16 18:40:00,0.0,3.0 +15233,2023-04-16 18:50:00,0.0,3.0 +15234,2023-04-16 19:00:00,0.0,3.0 +15235,2023-04-16 19:10:00,0.0,3.0 +15236,2023-04-16 19:20:00,0.0,3.0 +15237,2023-04-16 19:30:00,0.0,3.0 +15238,2023-04-16 19:40:00,0.0,3.0 +15239,2023-04-16 19:50:00,0.0,3.0 +15246,2023-04-16 21:00:00,0.0,3.0 +15247,2023-04-16 21:10:00,0.0,3.0 +15248,2023-04-16 21:20:00,0.0,3.0 +15249,2023-04-16 21:30:00,0.0,3.0 +15250,2023-04-16 21:40:00,0.0,3.0 +15251,2023-04-16 21:50:00,0.0,3.0 +15258,2023-04-16 23:00:00,0.0,3.0 +15259,2023-04-16 23:10:00,0.0,3.0 +15260,2023-04-16 23:20:00,0.0,3.0 +15261,2023-04-16 23:30:00,0.0,3.0 +15262,2023-04-16 23:40:00,0.0,3.0 +15263,2023-04-16 23:50:00,0.0,3.0 +15264,2023-04-17 00:00:00,0.0,3.0 +15265,2023-04-17 00:10:00,0.0,3.0 +15266,2023-04-17 00:20:00,0.0,3.0 +15267,2023-04-17 00:30:00,0.0,3.0 +15268,2023-04-17 00:40:00,0.0,3.0 +15269,2023-04-17 00:50:00,0.0,3.0 +15276,2023-04-17 02:00:00,0.0,3.0 +15277,2023-04-17 02:10:00,0.0,3.0 +15278,2023-04-17 02:20:00,0.0,3.0 +15279,2023-04-17 02:30:00,0.0,3.0 +15280,2023-04-17 02:40:00,0.0,3.0 +15281,2023-04-17 02:50:00,0.0,3.0 +15288,2023-04-17 04:00:00,0.0,3.0 +15289,2023-04-17 04:10:00,0.0,3.0 +15290,2023-04-17 04:20:00,0.0,3.0 +15291,2023-04-17 04:30:00,0.0,3.0 +15292,2023-04-17 04:40:00,0.0,3.0 +15293,2023-04-17 04:50:00,0.0,3.0 +15294,2023-04-17 05:00:00,0.0,3.0 +15295,2023-04-17 05:10:00,0.0,3.0 +15296,2023-04-17 05:20:00,0.0,3.0 +15297,2023-04-17 05:30:00,0.0,3.0 +15298,2023-04-17 05:40:00,0.0,3.0 +15299,2023-04-17 05:50:00,0.0,3.0 +15306,2023-04-17 07:00:00,0.0,3.0 +15307,2023-04-17 07:10:00,0.0,3.0 +15308,2023-04-17 07:20:00,0.0,3.0 +15309,2023-04-17 07:30:00,0.0,3.0 +15310,2023-04-17 07:40:00,0.0,3.0 +15311,2023-04-17 07:50:00,0.0,3.0 +15318,2023-04-17 09:00:00,0.0,5.0 +15319,2023-04-17 09:10:00,0.0,5.0 +15320,2023-04-17 09:20:00,0.0,5.0 +15321,2023-04-17 09:30:00,0.0,5.0 +15322,2023-04-17 09:40:00,0.0,5.0 +15323,2023-04-17 09:50:00,0.0,5.0 +15330,2023-04-17 11:00:00,0.0,5.0 +15331,2023-04-17 11:10:00,0.0,5.0 +15332,2023-04-17 11:20:00,0.0,5.0 +15333,2023-04-17 11:30:00,0.0,5.0 +15334,2023-04-17 11:40:00,0.0,5.0 +15335,2023-04-17 11:50:00,0.0,5.0 +15342,2023-04-17 13:00:00,0.0,5.0 +15343,2023-04-17 13:10:00,0.0,5.0 +15344,2023-04-17 13:20:00,0.0,5.0 +15345,2023-04-17 13:30:00,0.0,5.0 +15346,2023-04-17 13:40:00,0.0,5.0 +15347,2023-04-17 13:50:00,0.0,5.0 +15348,2023-04-17 14:00:00,0.0,7.0 +15349,2023-04-17 14:10:00,0.0,7.0 +15350,2023-04-17 14:20:00,0.0,7.0 +15351,2023-04-17 14:30:00,0.0,7.0 +15352,2023-04-17 14:40:00,0.0,7.0 +15353,2023-04-17 14:50:00,0.0,7.0 +15354,2023-04-17 15:00:00,0.0,5.0 +15355,2023-04-17 15:10:00,0.0,5.0 +15356,2023-04-17 15:20:00,0.0,5.0 +15357,2023-04-17 15:30:00,0.0,5.0 +15358,2023-04-17 15:40:00,0.0,5.0 +15359,2023-04-17 15:50:00,0.0,5.0 +15378,2023-04-17 19:00:00,0.0,5.0 +15379,2023-04-17 19:10:00,0.0,5.0 +15380,2023-04-17 19:20:00,0.0,5.0 +15381,2023-04-17 19:30:00,0.0,5.0 +15382,2023-04-17 19:40:00,0.0,5.0 +15383,2023-04-17 19:50:00,0.0,5.0 +15384,2023-04-17 20:00:00,0.0,3.0 +15385,2023-04-17 20:10:00,0.0,3.0 +15386,2023-04-17 20:20:00,0.0,3.0 +15387,2023-04-17 20:30:00,0.0,3.0 +15388,2023-04-17 20:40:00,0.0,3.0 +15389,2023-04-17 20:50:00,0.0,3.0 +15390,2023-04-17 21:00:00,0.0,3.0 +15391,2023-04-17 21:10:00,0.0,3.0 +15392,2023-04-17 21:20:00,0.0,3.0 +15393,2023-04-17 21:30:00,0.0,3.0 +15394,2023-04-17 21:40:00,0.0,3.0 +15395,2023-04-17 21:50:00,0.0,3.0 +15402,2023-04-17 23:00:00,0.0,3.0 +15403,2023-04-17 23:10:00,0.0,3.0 +15404,2023-04-17 23:20:00,0.0,3.0 +15405,2023-04-17 23:30:00,0.0,3.0 +15406,2023-04-17 23:40:00,0.0,3.0 +15407,2023-04-17 23:50:00,0.0,3.0 +15414,2023-04-18 01:00:00,0.0,3.0 +15415,2023-04-18 01:10:00,0.0,3.0 +15416,2023-04-18 01:20:00,0.0,3.0 +15417,2023-04-18 01:30:00,0.0,3.0 +15418,2023-04-18 01:40:00,0.0,3.0 +15419,2023-04-18 01:50:00,0.0,3.0 +15426,2023-04-18 03:00:00,0.0,3.0 +15427,2023-04-18 03:10:00,0.0,3.0 +15428,2023-04-18 03:20:00,0.0,3.0 +15429,2023-04-18 03:30:00,0.0,3.0 +15430,2023-04-18 03:40:00,0.0,3.0 +15431,2023-04-18 03:50:00,0.0,3.0 +15432,2023-04-18 04:00:00,0.0,3.0 +15433,2023-04-18 04:10:00,0.0,3.0 +15434,2023-04-18 04:20:00,0.0,3.0 +15435,2023-04-18 04:30:00,0.0,3.0 +15436,2023-04-18 04:40:00,0.0,3.0 +15437,2023-04-18 04:50:00,0.0,3.0 +15450,2023-04-18 07:00:00,0.0,3.0 +15451,2023-04-18 07:10:00,0.0,3.0 +15452,2023-04-18 07:20:00,0.0,3.0 +15453,2023-04-18 07:30:00,0.0,3.0 +15454,2023-04-18 07:40:00,0.0,3.0 +15455,2023-04-18 07:50:00,0.0,3.0 +15456,2023-04-18 08:00:00,0.0,3.0 +15457,2023-04-18 08:10:00,0.0,3.0 +15458,2023-04-18 08:20:00,0.0,3.0 +15459,2023-04-18 08:30:00,0.0,3.0 +15460,2023-04-18 08:40:00,0.0,3.0 +15461,2023-04-18 08:50:00,0.0,3.0 +15468,2023-04-18 10:00:00,0.0,5.0 +15469,2023-04-18 10:10:00,0.0,5.0 +15470,2023-04-18 10:20:00,0.0,5.0 +15471,2023-04-18 10:30:00,0.0,5.0 +15472,2023-04-18 10:40:00,0.0,5.0 +15473,2023-04-18 10:50:00,0.0,5.0 +15486,2023-04-18 13:00:00,0.0,5.0 +15487,2023-04-18 13:10:00,0.0,5.0 +15488,2023-04-18 13:20:00,0.0,5.0 +15489,2023-04-18 13:30:00,0.0,5.0 +15490,2023-04-18 13:40:00,0.0,5.0 +15491,2023-04-18 13:50:00,0.0,5.0 +15492,2023-04-18 14:00:00,0.0,5.0 +15493,2023-04-18 14:10:00,0.0,5.0 +15494,2023-04-18 14:20:00,0.0,5.0 +15495,2023-04-18 14:30:00,0.0,5.0 +15496,2023-04-18 14:40:00,0.0,5.0 +15497,2023-04-18 14:50:00,0.0,5.0 +15504,2023-04-18 16:00:00,0.0,5.0 +15505,2023-04-18 16:10:00,0.0,5.0 +15506,2023-04-18 16:20:00,0.0,5.0 +15507,2023-04-18 16:30:00,0.0,5.0 +15508,2023-04-18 16:40:00,0.0,5.0 +15509,2023-04-18 16:50:00,0.0,5.0 +15510,2023-04-18 17:00:00,0.0,3.0 +15511,2023-04-18 17:10:00,0.0,3.0 +15512,2023-04-18 17:20:00,0.0,3.0 +15513,2023-04-18 17:30:00,0.0,3.0 +15514,2023-04-18 17:40:00,0.0,3.0 +15515,2023-04-18 17:50:00,0.0,3.0 +15522,2023-04-18 19:00:00,0.0,5.0 +15523,2023-04-18 19:10:00,0.0,5.0 +15524,2023-04-18 19:20:00,0.0,5.0 +15525,2023-04-18 19:30:00,0.0,5.0 +15526,2023-04-18 19:40:00,0.0,5.0 +15527,2023-04-18 19:50:00,0.0,5.0 +15528,2023-04-18 20:00:00,0.0,3.0 +15529,2023-04-18 20:10:00,0.0,3.0 +15530,2023-04-18 20:20:00,0.0,3.0 +15531,2023-04-18 20:30:00,0.0,3.0 +15532,2023-04-18 20:40:00,0.0,3.0 +15533,2023-04-18 20:50:00,0.0,3.0 +15540,2023-04-18 22:00:00,0.0,3.0 +15541,2023-04-18 22:10:00,0.0,3.0 +15542,2023-04-18 22:20:00,0.0,3.0 +15543,2023-04-18 22:30:00,0.0,3.0 +15544,2023-04-18 22:40:00,0.0,3.0 +15545,2023-04-18 22:50:00,0.0,3.0 +15546,2023-04-18 23:00:00,0.0,3.0 +15547,2023-04-18 23:10:00,0.0,3.0 +15548,2023-04-18 23:20:00,0.0,3.0 +15549,2023-04-18 23:30:00,0.0,3.0 +15550,2023-04-18 23:40:00,0.0,3.0 +15551,2023-04-18 23:50:00,0.0,3.0 +15552,2023-04-19 00:00:00,0.0,3.0 +15553,2023-04-19 00:10:00,0.0,3.0 +15554,2023-04-19 00:20:00,0.0,3.0 +15555,2023-04-19 00:30:00,0.0,3.0 +15556,2023-04-19 00:40:00,0.0,3.0 +15557,2023-04-19 00:50:00,0.0,3.0 +15558,2023-04-19 01:00:00,0.0,3.0 +15559,2023-04-19 01:10:00,0.0,3.0 +15560,2023-04-19 01:20:00,0.0,3.0 +15561,2023-04-19 01:30:00,0.0,3.0 +15562,2023-04-19 01:40:00,0.0,3.0 +15563,2023-04-19 01:50:00,0.0,3.0 +15576,2023-04-19 04:00:00,0.0,3.0 +15577,2023-04-19 04:10:00,0.0,3.0 +15578,2023-04-19 04:20:00,0.0,3.0 +15579,2023-04-19 04:30:00,0.0,3.0 +15580,2023-04-19 04:40:00,0.0,3.0 +15581,2023-04-19 04:50:00,0.0,3.0 +15582,2023-04-19 05:00:00,0.0,3.0 +15583,2023-04-19 05:10:00,0.0,3.0 +15584,2023-04-19 05:20:00,0.0,3.0 +15585,2023-04-19 05:30:00,0.0,3.0 +15586,2023-04-19 05:40:00,0.0,3.0 +15587,2023-04-19 05:50:00,0.0,3.0 +15588,2023-04-19 06:00:00,0.0,5.0 +15589,2023-04-19 06:10:00,0.0,5.0 +15590,2023-04-19 06:20:00,0.0,5.0 +15591,2023-04-19 06:30:00,0.0,5.0 +15592,2023-04-19 06:40:00,0.0,5.0 +15593,2023-04-19 06:50:00,0.0,5.0 +15606,2023-04-19 09:00:00,0.0,5.0 +15607,2023-04-19 09:10:00,0.0,5.0 +15608,2023-04-19 09:20:00,0.0,5.0 +15609,2023-04-19 09:30:00,0.0,5.0 +15610,2023-04-19 09:40:00,0.0,5.0 +15611,2023-04-19 09:50:00,0.0,5.0 +15630,2023-04-19 13:00:00,0.0,5.0 +15631,2023-04-19 13:10:00,0.0,5.0 +15632,2023-04-19 13:20:00,0.0,5.0 +15633,2023-04-19 13:30:00,0.0,5.0 +15634,2023-04-19 13:40:00,0.0,5.0 +15635,2023-04-19 13:50:00,0.0,5.0 +15636,2023-04-19 14:00:00,0.0,5.0 +15637,2023-04-19 14:10:00,0.0,5.0 +15638,2023-04-19 14:20:00,0.0,5.0 +15639,2023-04-19 14:30:00,0.0,5.0 +15640,2023-04-19 14:40:00,0.0,5.0 +15641,2023-04-19 14:50:00,0.0,5.0 +15648,2023-04-19 16:00:00,0.0,5.0 +15649,2023-04-19 16:10:00,0.0,5.0 +15650,2023-04-19 16:20:00,0.0,5.0 +15651,2023-04-19 16:30:00,0.0,5.0 +15652,2023-04-19 16:40:00,0.0,5.0 +15653,2023-04-19 16:50:00,0.0,5.0 +15654,2023-04-19 17:00:00,0.0,5.0 +15655,2023-04-19 17:10:00,0.0,5.0 +15656,2023-04-19 17:20:00,0.0,5.0 +15657,2023-04-19 17:30:00,0.0,5.0 +15658,2023-04-19 17:40:00,0.0,5.0 +15659,2023-04-19 17:50:00,0.0,5.0 +15660,2023-04-19 18:00:00,0.0,3.0 +15661,2023-04-19 18:10:00,0.0,3.0 +15662,2023-04-19 18:20:00,0.0,3.0 +15663,2023-04-19 18:30:00,0.0,3.0 +15664,2023-04-19 18:40:00,0.0,3.0 +15665,2023-04-19 18:50:00,0.0,3.0 +15672,2023-04-19 20:00:00,0.0,3.0 +15673,2023-04-19 20:10:00,0.0,3.0 +15674,2023-04-19 20:20:00,0.0,3.0 +15675,2023-04-19 20:30:00,0.0,3.0 +15676,2023-04-19 20:40:00,0.0,3.0 +15677,2023-04-19 20:50:00,0.0,3.0 +15696,2023-04-20 00:00:00,0.0,3.0 +15697,2023-04-20 00:10:00,0.0,3.0 +15698,2023-04-20 00:20:00,0.0,3.0 +15699,2023-04-20 00:30:00,0.0,3.0 +15700,2023-04-20 00:40:00,0.0,3.0 +15701,2023-04-20 00:50:00,0.0,3.0 +15702,2023-04-20 01:00:00,0.0,3.0 +15703,2023-04-20 01:10:00,0.0,3.0 +15704,2023-04-20 01:20:00,0.0,3.0 +15705,2023-04-20 01:30:00,0.0,3.0 +15706,2023-04-20 01:40:00,0.0,3.0 +15707,2023-04-20 01:50:00,0.0,3.0 +15720,2023-04-20 04:00:00,0.0,3.0 +15721,2023-04-20 04:10:00,0.0,3.0 +15722,2023-04-20 04:20:00,0.0,3.0 +15723,2023-04-20 04:30:00,0.0,3.0 +15724,2023-04-20 04:40:00,0.0,3.0 +15725,2023-04-20 04:50:00,0.0,3.0 +15732,2023-04-20 06:00:00,0.0,4.0 +15733,2023-04-20 06:10:00,0.0,4.0 +15734,2023-04-20 06:20:00,0.0,4.0 +15735,2023-04-20 06:30:00,0.0,4.0 +15736,2023-04-20 06:40:00,0.0,4.0 +15737,2023-04-20 06:50:00,0.0,4.0 +15762,2023-04-20 11:00:00,0.0,3.0 +15763,2023-04-20 11:10:00,0.0,3.0 +15764,2023-04-20 11:20:00,0.0,3.0 +15765,2023-04-20 11:30:00,0.0,3.0 +15766,2023-04-20 11:40:00,0.0,3.0 +15767,2023-04-20 11:50:00,0.0,3.0 +15774,2023-04-20 13:00:00,0.0,5.0 +15775,2023-04-20 13:10:00,0.0,5.0 +15776,2023-04-20 13:20:00,0.0,5.0 +15777,2023-04-20 13:30:00,0.0,5.0 +15778,2023-04-20 13:40:00,0.0,5.0 +15779,2023-04-20 13:50:00,0.0,5.0 +15798,2023-04-20 17:00:00,0.0,3.0 +15799,2023-04-20 17:10:00,0.0,3.0 +15800,2023-04-20 17:20:00,0.0,3.0 +15801,2023-04-20 17:30:00,0.0,3.0 +15802,2023-04-20 17:40:00,0.0,3.0 +15803,2023-04-20 17:50:00,0.0,3.0 +15804,2023-04-20 18:00:00,0.0,4.0 +15805,2023-04-20 18:10:00,0.0,4.0 +15806,2023-04-20 18:20:00,0.0,4.0 +15807,2023-04-20 18:30:00,0.0,4.0 +15808,2023-04-20 18:40:00,0.0,4.0 +15809,2023-04-20 18:50:00,0.0,4.0 +15810,2023-04-20 19:00:00,0.0,3.0 +15811,2023-04-20 19:10:00,0.0,3.0 +15812,2023-04-20 19:20:00,0.0,3.0 +15813,2023-04-20 19:30:00,0.0,3.0 +15814,2023-04-20 19:40:00,0.0,3.0 +15815,2023-04-20 19:50:00,0.0,3.0 +15816,2023-04-20 20:00:00,0.0,3.0 +15817,2023-04-20 20:10:00,0.0,3.0 +15818,2023-04-20 20:20:00,0.0,3.0 +15819,2023-04-20 20:30:00,0.0,3.0 +15820,2023-04-20 20:40:00,0.0,3.0 +15821,2023-04-20 20:50:00,0.0,3.0 +15822,2023-04-20 21:00:00,0.0,4.0 +15823,2023-04-20 21:10:00,0.0,4.0 +15824,2023-04-20 21:20:00,0.0,4.0 +15825,2023-04-20 21:30:00,0.0,4.0 +15826,2023-04-20 21:40:00,0.0,4.0 +15827,2023-04-20 21:50:00,0.0,4.0 +15834,2023-04-20 23:00:00,0.0,4.0 +15835,2023-04-20 23:10:00,0.0,4.0 +15836,2023-04-20 23:20:00,0.0,4.0 +15837,2023-04-20 23:30:00,0.0,4.0 +15838,2023-04-20 23:40:00,0.0,4.0 +15839,2023-04-20 23:50:00,0.0,4.0 +15840,2023-04-21 00:00:00,0.0,3.0 +15841,2023-04-21 00:10:00,0.0,3.0 +15842,2023-04-21 00:20:00,0.0,3.0 +15843,2023-04-21 00:30:00,0.0,3.0 +15844,2023-04-21 00:40:00,0.0,3.0 +15845,2023-04-21 00:50:00,0.0,3.0 +15858,2023-04-21 03:00:00,0.0,4.0 +15859,2023-04-21 03:10:00,0.0,4.0 +15860,2023-04-21 03:20:00,0.0,4.0 +15861,2023-04-21 03:30:00,0.0,4.0 +15862,2023-04-21 03:40:00,0.0,4.0 +15863,2023-04-21 03:50:00,0.0,4.0 +15864,2023-04-21 04:00:00,0.0,3.0 +15865,2023-04-21 04:10:00,0.0,3.0 +15866,2023-04-21 04:20:00,0.0,3.0 +15867,2023-04-21 04:30:00,0.0,3.0 +15868,2023-04-21 04:40:00,0.0,3.0 +15869,2023-04-21 04:50:00,0.0,3.0 +15870,2023-04-21 05:00:00,0.0,3.0 +15871,2023-04-21 05:10:00,0.0,3.0 +15872,2023-04-21 05:20:00,0.0,3.0 +15873,2023-04-21 05:30:00,0.0,3.0 +15874,2023-04-21 05:40:00,0.0,3.0 +15875,2023-04-21 05:50:00,0.0,3.0 +15882,2023-04-21 07:00:00,0.0,5.0 +15883,2023-04-21 07:10:00,0.0,5.0 +15884,2023-04-21 07:20:00,0.0,5.0 +15885,2023-04-21 07:30:00,0.0,5.0 +15886,2023-04-21 07:40:00,0.0,5.0 +15887,2023-04-21 07:50:00,0.0,5.0 +15912,2023-04-21 12:00:00,0.0,5.0 +15913,2023-04-21 12:10:00,0.0,5.0 +15914,2023-04-21 12:20:00,0.0,5.0 +15915,2023-04-21 12:30:00,0.0,5.0 +15916,2023-04-21 12:40:00,0.0,5.0 +15917,2023-04-21 12:50:00,0.0,5.0 +15918,2023-04-21 13:00:00,0.0,7.0 +15919,2023-04-21 13:10:00,0.0,7.0 +15920,2023-04-21 13:20:00,0.0,7.0 +15921,2023-04-21 13:30:00,0.0,7.0 +15922,2023-04-21 13:40:00,0.0,7.0 +15923,2023-04-21 13:50:00,0.0,7.0 +15930,2023-04-21 15:00:00,0.0,7.0 +15931,2023-04-21 15:10:00,0.0,7.0 +15932,2023-04-21 15:20:00,0.0,7.0 +15933,2023-04-21 15:30:00,0.0,7.0 +15934,2023-04-21 15:40:00,0.0,7.0 +15935,2023-04-21 15:50:00,0.0,7.0 +15948,2023-04-21 18:00:00,0.0,6.0 +15949,2023-04-21 18:10:00,0.0,6.0 +15950,2023-04-21 18:20:00,0.0,6.0 +15951,2023-04-21 18:30:00,0.0,6.0 +15952,2023-04-21 18:40:00,0.0,6.0 +15953,2023-04-21 18:50:00,0.0,6.0 +15954,2023-04-21 19:00:00,0.0,3.0 +15955,2023-04-21 19:10:00,0.0,3.0 +15956,2023-04-21 19:20:00,0.0,3.0 +15957,2023-04-21 19:30:00,0.0,3.0 +15958,2023-04-21 19:40:00,0.0,3.0 +15959,2023-04-21 19:50:00,0.0,3.0 +15984,2023-04-22 00:00:00,0.0,3.0 +15985,2023-04-22 00:10:00,0.0,3.0 +15986,2023-04-22 00:20:00,0.0,3.0 +15987,2023-04-22 00:30:00,0.0,3.0 +15988,2023-04-22 00:40:00,0.0,3.0 +15989,2023-04-22 00:50:00,0.0,3.0 +15996,2023-04-22 02:00:00,0.0,3.0 +15997,2023-04-22 02:10:00,0.0,3.0 +15998,2023-04-22 02:20:00,0.0,3.0 +15999,2023-04-22 02:30:00,0.0,3.0 +16000,2023-04-22 02:40:00,0.0,3.0 +16001,2023-04-22 02:50:00,0.0,3.0 +16002,2023-04-22 03:00:00,0.0,3.0 +16003,2023-04-22 03:10:00,0.0,3.0 +16004,2023-04-22 03:20:00,0.0,3.0 +16005,2023-04-22 03:30:00,0.0,3.0 +16006,2023-04-22 03:40:00,0.0,3.0 +16007,2023-04-22 03:50:00,0.0,3.0 +16026,2023-04-22 07:00:00,0.0,5.0 +16027,2023-04-22 07:10:00,0.0,5.0 +16028,2023-04-22 07:20:00,0.0,5.0 +16029,2023-04-22 07:30:00,0.0,5.0 +16030,2023-04-22 07:40:00,0.0,5.0 +16031,2023-04-22 07:50:00,0.0,5.0 +16038,2023-04-22 09:00:00,0.0,7.0 +16039,2023-04-22 09:10:00,0.0,7.0 +16040,2023-04-22 09:20:00,0.0,7.0 +16041,2023-04-22 09:30:00,0.0,7.0 +16042,2023-04-22 09:40:00,0.0,7.0 +16043,2023-04-22 09:50:00,0.0,7.0 +16068,2023-04-22 14:00:00,0.0,6.0 +16069,2023-04-22 14:10:00,0.0,6.0 +16070,2023-04-22 14:20:00,0.0,6.0 +16071,2023-04-22 14:30:00,0.0,6.0 +16072,2023-04-22 14:40:00,0.0,6.0 +16073,2023-04-22 14:50:00,0.0,6.0 +16086,2023-04-22 17:00:00,0.0,6.0 +16087,2023-04-22 17:10:00,0.0,6.0 +16088,2023-04-22 17:20:00,0.0,6.0 +16089,2023-04-22 17:30:00,0.0,6.0 +16090,2023-04-22 17:40:00,0.0,6.0 +16091,2023-04-22 17:50:00,0.0,6.0 +16098,2023-04-22 19:00:00,0.0,3.0 +16099,2023-04-22 19:10:00,0.0,3.0 +16100,2023-04-22 19:20:00,0.0,3.0 +16101,2023-04-22 19:30:00,0.0,3.0 +16102,2023-04-22 19:40:00,0.0,3.0 +16103,2023-04-22 19:50:00,0.0,3.0 +16104,2023-04-22 20:00:00,0.0,3.0 +16105,2023-04-22 20:10:00,0.0,3.0 +16106,2023-04-22 20:20:00,0.0,3.0 +16107,2023-04-22 20:30:00,0.0,3.0 +16108,2023-04-22 20:40:00,0.0,3.0 +16109,2023-04-22 20:50:00,0.0,3.0 +16116,2023-04-22 22:00:00,0.0,3.0 +16117,2023-04-22 22:10:00,0.0,3.0 +16118,2023-04-22 22:20:00,0.0,3.0 +16119,2023-04-22 22:30:00,0.0,3.0 +16120,2023-04-22 22:40:00,0.0,3.0 +16121,2023-04-22 22:50:00,0.0,3.0 +16122,2023-04-22 23:00:00,0.0,3.0 +16123,2023-04-22 23:10:00,0.0,3.0 +16124,2023-04-22 23:20:00,0.0,3.0 +16125,2023-04-22 23:30:00,0.0,3.0 +16126,2023-04-22 23:40:00,0.0,3.0 +16127,2023-04-22 23:50:00,0.0,3.0 +16128,2023-04-23 00:00:00,0.0,3.0 +16129,2023-04-23 00:10:00,0.0,3.0 +16130,2023-04-23 00:20:00,0.0,3.0 +16131,2023-04-23 00:30:00,0.0,3.0 +16132,2023-04-23 00:40:00,0.0,3.0 +16133,2023-04-23 00:50:00,0.0,3.0 +16134,2023-04-23 01:00:00,0.0,3.0 +16135,2023-04-23 01:10:00,0.0,3.0 +16136,2023-04-23 01:20:00,0.0,3.0 +16137,2023-04-23 01:30:00,0.0,3.0 +16138,2023-04-23 01:40:00,0.0,3.0 +16139,2023-04-23 01:50:00,0.0,3.0 +16140,2023-04-23 02:00:00,0.0,3.0 +16141,2023-04-23 02:10:00,0.0,3.0 +16142,2023-04-23 02:20:00,0.0,3.0 +16143,2023-04-23 02:30:00,0.0,3.0 +16144,2023-04-23 02:40:00,0.0,3.0 +16145,2023-04-23 02:50:00,0.0,3.0 +16152,2023-04-23 04:00:00,0.0,3.0 +16153,2023-04-23 04:10:00,0.0,3.0 +16154,2023-04-23 04:20:00,0.0,3.0 +16155,2023-04-23 04:30:00,0.0,3.0 +16156,2023-04-23 04:40:00,0.0,3.0 +16157,2023-04-23 04:50:00,0.0,3.0 +16170,2023-04-23 07:00:00,0.0,5.0 +16171,2023-04-23 07:10:00,0.0,5.0 +16172,2023-04-23 07:20:00,0.0,5.0 +16173,2023-04-23 07:30:00,0.0,5.0 +16174,2023-04-23 07:40:00,0.0,5.0 +16175,2023-04-23 07:50:00,0.0,5.0 +16176,2023-04-23 08:00:00,0.0,5.0 +16177,2023-04-23 08:10:00,0.0,5.0 +16178,2023-04-23 08:20:00,0.0,5.0 +16179,2023-04-23 08:30:00,0.0,5.0 +16180,2023-04-23 08:40:00,0.0,5.0 +16181,2023-04-23 08:50:00,0.0,5.0 +16182,2023-04-23 09:00:00,0.0,7.0 +16183,2023-04-23 09:10:00,0.0,7.0 +16184,2023-04-23 09:20:00,0.0,7.0 +16185,2023-04-23 09:30:00,0.0,7.0 +16186,2023-04-23 09:40:00,0.0,7.0 +16187,2023-04-23 09:50:00,0.0,7.0 +16194,2023-04-23 11:00:00,0.0,7.0 +16195,2023-04-23 11:10:00,0.0,7.0 +16196,2023-04-23 11:20:00,0.0,7.0 +16197,2023-04-23 11:30:00,0.0,7.0 +16198,2023-04-23 11:40:00,0.0,7.0 +16199,2023-04-23 11:50:00,0.0,7.0 +16206,2023-04-23 13:00:00,0.0,6.0 +16207,2023-04-23 13:10:00,0.0,6.0 +16208,2023-04-23 13:20:00,0.0,6.0 +16209,2023-04-23 13:30:00,0.0,6.0 +16210,2023-04-23 13:40:00,0.0,6.0 +16211,2023-04-23 13:50:00,0.0,6.0 +16224,2023-04-23 16:00:00,0.0,6.0 +16225,2023-04-23 16:10:00,0.0,6.0 +16226,2023-04-23 16:20:00,0.0,6.0 +16227,2023-04-23 16:30:00,0.0,6.0 +16228,2023-04-23 16:40:00,0.0,6.0 +16229,2023-04-23 16:50:00,0.0,6.0 +16230,2023-04-23 17:00:00,0.0,6.0 +16231,2023-04-23 17:10:00,0.0,6.0 +16232,2023-04-23 17:20:00,0.0,6.0 +16233,2023-04-23 17:30:00,0.0,6.0 +16234,2023-04-23 17:40:00,0.0,6.0 +16235,2023-04-23 17:50:00,0.0,6.0 +16254,2023-04-23 21:00:00,0.0,4.0 +16255,2023-04-23 21:10:00,0.0,4.0 +16256,2023-04-23 21:20:00,0.0,4.0 +16257,2023-04-23 21:30:00,0.0,4.0 +16258,2023-04-23 21:40:00,0.0,4.0 +16259,2023-04-23 21:50:00,0.0,4.0 +16260,2023-04-23 22:00:00,0.0,5.0 +16261,2023-04-23 22:10:00,0.0,5.0 +16262,2023-04-23 22:20:00,0.0,5.0 +16263,2023-04-23 22:30:00,0.0,5.0 +16264,2023-04-23 22:40:00,0.0,5.0 +16265,2023-04-23 22:50:00,0.0,5.0 +16266,2023-04-23 23:00:00,0.0,4.0 +16267,2023-04-23 23:10:00,0.0,4.0 +16268,2023-04-23 23:20:00,0.0,4.0 +16269,2023-04-23 23:30:00,0.0,4.0 +16270,2023-04-23 23:40:00,0.0,4.0 +16271,2023-04-23 23:50:00,0.0,4.0 +16272,2023-04-24 00:00:00,0.0,4.0 +16273,2023-04-24 00:10:00,0.0,4.0 +16274,2023-04-24 00:20:00,0.0,4.0 +16275,2023-04-24 00:30:00,0.0,4.0 +16276,2023-04-24 00:40:00,0.0,4.0 +16277,2023-04-24 00:50:00,0.0,4.0 +16278,2023-04-24 01:00:00,0.0,4.0 +16279,2023-04-24 01:10:00,0.0,4.0 +16280,2023-04-24 01:20:00,0.0,4.0 +16281,2023-04-24 01:30:00,0.0,4.0 +16282,2023-04-24 01:40:00,0.0,4.0 +16283,2023-04-24 01:50:00,0.0,4.0 +16284,2023-04-24 02:00:00,0.0,4.0 +16285,2023-04-24 02:10:00,0.0,4.0 +16286,2023-04-24 02:20:00,0.0,4.0 +16287,2023-04-24 02:30:00,0.0,4.0 +16288,2023-04-24 02:40:00,0.0,4.0 +16289,2023-04-24 02:50:00,0.0,4.0 +16296,2023-04-24 04:00:00,0.0,4.0 +16297,2023-04-24 04:10:00,0.0,4.0 +16298,2023-04-24 04:20:00,0.0,4.0 +16299,2023-04-24 04:30:00,0.0,4.0 +16300,2023-04-24 04:40:00,0.0,4.0 +16301,2023-04-24 04:50:00,0.0,4.0 +16320,2023-04-24 08:00:00,0.0,4.0 +16321,2023-04-24 08:10:00,0.0,4.0 +16322,2023-04-24 08:20:00,0.0,4.0 +16323,2023-04-24 08:30:00,0.0,4.0 +16324,2023-04-24 08:40:00,0.0,4.0 +16325,2023-04-24 08:50:00,0.0,4.0 +16332,2023-04-24 10:00:00,0.0,4.0 +16333,2023-04-24 10:10:00,0.0,4.0 +16334,2023-04-24 10:20:00,0.0,4.0 +16335,2023-04-24 10:30:00,0.0,4.0 +16336,2023-04-24 10:40:00,0.0,4.0 +16337,2023-04-24 10:50:00,0.0,4.0 +16344,2023-04-24 12:00:00,0.0,3.0 +16345,2023-04-24 12:10:00,0.0,3.0 +16346,2023-04-24 12:20:00,0.0,3.0 +16347,2023-04-24 12:30:00,0.0,3.0 +16348,2023-04-24 12:40:00,0.0,3.0 +16349,2023-04-24 12:50:00,0.0,3.0 +16350,2023-04-24 13:00:00,0.0,5.0 +16351,2023-04-24 13:10:00,0.0,5.0 +16352,2023-04-24 13:20:00,0.0,5.0 +16353,2023-04-24 13:30:00,0.0,5.0 +16354,2023-04-24 13:40:00,0.0,5.0 +16355,2023-04-24 13:50:00,0.0,5.0 +16356,2023-04-24 14:00:00,0.0,4.0 +16357,2023-04-24 14:10:00,0.0,4.0 +16358,2023-04-24 14:20:00,0.0,4.0 +16359,2023-04-24 14:30:00,0.0,4.0 +16360,2023-04-24 14:40:00,0.0,4.0 +16361,2023-04-24 14:50:00,0.0,4.0 +16362,2023-04-24 15:00:00,0.0,4.0 +16363,2023-04-24 15:10:00,0.0,4.0 +16364,2023-04-24 15:20:00,0.0,4.0 +16365,2023-04-24 15:30:00,0.0,4.0 +16366,2023-04-24 15:40:00,0.0,4.0 +16367,2023-04-24 15:50:00,0.0,4.0 +16392,2023-04-24 20:00:00,0.0,3.0 +16393,2023-04-24 20:10:00,0.0,3.0 +16394,2023-04-24 20:20:00,0.0,3.0 +16395,2023-04-24 20:30:00,0.0,3.0 +16396,2023-04-24 20:40:00,0.0,3.0 +16397,2023-04-24 20:50:00,0.0,3.0 +16416,2023-04-25 00:00:00,0.0,3.0 +16417,2023-04-25 00:10:00,0.0,3.0 +16418,2023-04-25 00:20:00,0.0,3.0 +16419,2023-04-25 00:30:00,0.0,3.0 +16420,2023-04-25 00:40:00,0.0,3.0 +16421,2023-04-25 00:50:00,0.0,3.0 +16428,2023-04-25 02:00:00,0.0,4.0 +16429,2023-04-25 02:10:00,0.0,4.0 +16430,2023-04-25 02:20:00,0.0,4.0 +16431,2023-04-25 02:30:00,0.0,4.0 +16432,2023-04-25 02:40:00,0.0,4.0 +16433,2023-04-25 02:50:00,0.0,4.0 +16434,2023-04-25 03:00:00,0.0,4.0 +16435,2023-04-25 03:10:00,0.0,4.0 +16436,2023-04-25 03:20:00,0.0,4.0 +16437,2023-04-25 03:30:00,0.0,4.0 +16438,2023-04-25 03:40:00,0.0,4.0 +16439,2023-04-25 03:50:00,0.0,4.0 +16440,2023-04-25 04:00:00,0.0,3.0 +16441,2023-04-25 04:10:00,0.0,3.0 +16442,2023-04-25 04:20:00,0.0,3.0 +16443,2023-04-25 04:30:00,0.0,3.0 +16444,2023-04-25 04:40:00,0.0,3.0 +16445,2023-04-25 04:50:00,0.0,3.0 +16452,2023-04-25 06:00:00,0.0,3.0 +16453,2023-04-25 06:10:00,0.0,3.0 +16454,2023-04-25 06:20:00,0.0,3.0 +16455,2023-04-25 06:30:00,0.0,3.0 +16456,2023-04-25 06:40:00,0.0,3.0 +16457,2023-04-25 06:50:00,0.0,3.0 +16458,2023-04-25 07:00:00,0.0,3.0 +16459,2023-04-25 07:10:00,0.0,3.0 +16460,2023-04-25 07:20:00,0.0,3.0 +16461,2023-04-25 07:30:00,0.0,3.0 +16462,2023-04-25 07:40:00,0.0,3.0 +16463,2023-04-25 07:50:00,0.0,3.0 +16476,2023-04-25 10:00:00,0.0,4.0 +16477,2023-04-25 10:10:00,0.0,4.0 +16478,2023-04-25 10:20:00,0.0,4.0 +16479,2023-04-25 10:30:00,0.0,4.0 +16480,2023-04-25 10:40:00,0.0,4.0 +16481,2023-04-25 10:50:00,0.0,4.0 +16494,2023-04-25 13:00:00,0.0,5.0 +16495,2023-04-25 13:10:00,0.0,5.0 +16496,2023-04-25 13:20:00,0.0,5.0 +16497,2023-04-25 13:30:00,0.0,5.0 +16498,2023-04-25 13:40:00,0.0,5.0 +16499,2023-04-25 13:50:00,0.0,5.0 +16506,2023-04-25 15:00:00,0.0,3.0 +16507,2023-04-25 15:10:00,0.0,3.0 +16508,2023-04-25 15:20:00,0.0,3.0 +16509,2023-04-25 15:30:00,0.0,3.0 +16510,2023-04-25 15:40:00,0.0,3.0 +16511,2023-04-25 15:50:00,0.0,3.0 +16512,2023-04-25 16:00:00,0.0,3.0 +16513,2023-04-25 16:10:00,0.0,3.0 +16514,2023-04-25 16:20:00,0.0,3.0 +16515,2023-04-25 16:30:00,0.0,3.0 +16516,2023-04-25 16:40:00,0.0,3.0 +16517,2023-04-25 16:50:00,0.0,3.0 +16518,2023-04-25 17:00:00,0.0,3.0 +16519,2023-04-25 17:10:00,0.0,3.0 +16520,2023-04-25 17:20:00,0.0,3.0 +16521,2023-04-25 17:30:00,0.0,3.0 +16522,2023-04-25 17:40:00,0.0,3.0 +16523,2023-04-25 17:50:00,0.0,3.0 +16524,2023-04-25 18:00:00,0.0,3.0 +16525,2023-04-25 18:10:00,0.0,3.0 +16526,2023-04-25 18:20:00,0.0,3.0 +16527,2023-04-25 18:30:00,0.0,3.0 +16528,2023-04-25 18:40:00,0.0,3.0 +16529,2023-04-25 18:50:00,0.0,3.0 +16548,2023-04-25 22:00:00,0.0,3.0 +16549,2023-04-25 22:10:00,0.0,3.0 +16550,2023-04-25 22:20:00,0.0,3.0 +16551,2023-04-25 22:30:00,0.0,3.0 +16552,2023-04-25 22:40:00,0.0,3.0 +16553,2023-04-25 22:50:00,0.0,3.0 +16554,2023-04-25 23:00:00,0.0,3.0 +16555,2023-04-25 23:10:00,0.0,3.0 +16556,2023-04-25 23:20:00,0.0,3.0 +16557,2023-04-25 23:30:00,0.0,3.0 +16558,2023-04-25 23:40:00,0.0,3.0 +16559,2023-04-25 23:50:00,0.0,3.0 +16614,2023-04-26 09:00:00,0.0,3.0 +16615,2023-04-26 09:10:00,0.0,3.0 +16616,2023-04-26 09:20:00,0.0,3.0 +16617,2023-04-26 09:30:00,0.0,3.0 +16618,2023-04-26 09:40:00,0.0,3.0 +16619,2023-04-26 09:50:00,0.0,3.0 +16644,2023-04-26 14:00:00,0.0,3.0 +16645,2023-04-26 14:10:00,0.0,3.0 +16646,2023-04-26 14:20:00,0.0,3.0 +16647,2023-04-26 14:30:00,0.0,3.0 +16648,2023-04-26 14:40:00,0.0,3.0 +16649,2023-04-26 14:50:00,0.0,3.0 +16656,2023-04-26 16:00:00,0.0,3.0 +16657,2023-04-26 16:10:00,0.0,3.0 +16658,2023-04-26 16:20:00,0.0,3.0 +16659,2023-04-26 16:30:00,0.0,3.0 +16660,2023-04-26 16:40:00,0.0,3.0 +16661,2023-04-26 16:50:00,0.0,3.0 +16674,2023-04-26 19:00:00,0.0,3.0 +16675,2023-04-26 19:10:00,0.0,3.0 +16676,2023-04-26 19:20:00,0.0,3.0 +16677,2023-04-26 19:30:00,0.0,3.0 +16678,2023-04-26 19:40:00,0.0,3.0 +16679,2023-04-26 19:50:00,0.0,3.0 +16710,2023-04-27 01:00:00,0.0,3.0 +16711,2023-04-27 01:10:00,0.0,3.0 +16712,2023-04-27 01:20:00,0.0,3.0 +16713,2023-04-27 01:30:00,0.0,3.0 +16714,2023-04-27 01:40:00,0.0,3.0 +16715,2023-04-27 01:50:00,0.0,3.0 +16716,2023-04-27 02:00:00,0.0,3.0 +16717,2023-04-27 02:10:00,0.0,3.0 +16718,2023-04-27 02:20:00,0.0,3.0 +16719,2023-04-27 02:30:00,0.0,3.0 +16720,2023-04-27 02:40:00,0.0,3.0 +16721,2023-04-27 02:50:00,0.0,3.0 +16722,2023-04-27 03:00:00,0.0,1.0 +16723,2023-04-27 03:10:00,0.0,1.0 +16724,2023-04-27 03:20:00,0.0,1.0 +16725,2023-04-27 03:30:00,0.0,1.0 +16726,2023-04-27 03:40:00,0.0,1.0 +16727,2023-04-27 03:50:00,0.0,1.0 +16734,2023-04-27 05:00:00,0.0,3.0 +16735,2023-04-27 05:10:00,0.0,3.0 +16736,2023-04-27 05:20:00,0.0,3.0 +16737,2023-04-27 05:30:00,0.0,3.0 +16738,2023-04-27 05:40:00,0.0,3.0 +16739,2023-04-27 05:50:00,0.0,3.0 +16740,2023-04-27 06:00:00,0.0,3.0 +16741,2023-04-27 06:10:00,0.0,3.0 +16742,2023-04-27 06:20:00,0.0,3.0 +16743,2023-04-27 06:30:00,0.0,3.0 +16744,2023-04-27 06:40:00,0.0,3.0 +16745,2023-04-27 06:50:00,0.0,3.0 +16746,2023-04-27 07:00:00,0.0,3.0 +16747,2023-04-27 07:10:00,0.0,3.0 +16748,2023-04-27 07:20:00,0.0,3.0 +16749,2023-04-27 07:30:00,0.0,3.0 +16750,2023-04-27 07:40:00,0.0,3.0 +16751,2023-04-27 07:50:00,0.0,3.0 +16770,2023-04-27 11:00:00,0.0,5.0 +16771,2023-04-27 11:10:00,0.0,5.0 +16772,2023-04-27 11:20:00,0.0,5.0 +16773,2023-04-27 11:30:00,0.0,5.0 +16774,2023-04-27 11:40:00,0.0,5.0 +16775,2023-04-27 11:50:00,0.0,5.0 +16776,2023-04-27 12:00:00,0.0,5.0 +16777,2023-04-27 12:10:00,0.0,5.0 +16778,2023-04-27 12:20:00,0.0,5.0 +16779,2023-04-27 12:30:00,0.0,5.0 +16780,2023-04-27 12:40:00,0.0,5.0 +16781,2023-04-27 12:50:00,0.0,5.0 +16782,2023-04-27 13:00:00,0.0,5.0 +16783,2023-04-27 13:10:00,0.0,5.0 +16784,2023-04-27 13:20:00,0.0,5.0 +16785,2023-04-27 13:30:00,0.0,5.0 +16786,2023-04-27 13:40:00,0.0,5.0 +16787,2023-04-27 13:50:00,0.0,5.0 +16806,2023-04-27 17:00:00,0.0,3.0 +16807,2023-04-27 17:10:00,0.0,3.0 +16808,2023-04-27 17:20:00,0.0,3.0 +16809,2023-04-27 17:30:00,0.0,3.0 +16810,2023-04-27 17:40:00,0.0,3.0 +16811,2023-04-27 17:50:00,0.0,3.0 +16812,2023-04-27 18:00:00,0.0,3.0 +16813,2023-04-27 18:10:00,0.0,3.0 +16814,2023-04-27 18:20:00,0.0,3.0 +16815,2023-04-27 18:30:00,0.0,3.0 +16816,2023-04-27 18:40:00,0.0,3.0 +16817,2023-04-27 18:50:00,0.0,3.0 +16818,2023-04-27 19:00:00,0.0,5.0 +16819,2023-04-27 19:10:00,0.0,5.0 +16820,2023-04-27 19:20:00,0.0,5.0 +16821,2023-04-27 19:30:00,0.0,5.0 +16822,2023-04-27 19:40:00,0.0,5.0 +16823,2023-04-27 19:50:00,0.0,5.0 +16836,2023-04-27 22:00:00,0.0,4.0 +16837,2023-04-27 22:10:00,0.0,4.0 +16838,2023-04-27 22:20:00,0.0,4.0 +16839,2023-04-27 22:30:00,0.0,4.0 +16840,2023-04-27 22:40:00,0.0,4.0 +16841,2023-04-27 22:50:00,0.0,4.0 +16842,2023-04-27 23:00:00,0.0,4.0 +16843,2023-04-27 23:10:00,0.0,4.0 +16844,2023-04-27 23:20:00,0.0,4.0 +16845,2023-04-27 23:30:00,0.0,4.0 +16846,2023-04-27 23:40:00,0.0,4.0 +16847,2023-04-27 23:50:00,0.0,4.0 +16848,2023-04-28 00:00:00,0.0,4.0 +16849,2023-04-28 00:10:00,0.0,4.0 +16850,2023-04-28 00:20:00,0.0,4.0 +16851,2023-04-28 00:30:00,0.0,4.0 +16852,2023-04-28 00:40:00,0.0,4.0 +16853,2023-04-28 00:50:00,0.0,4.0 +16854,2023-04-28 01:00:00,0.0,3.0 +16855,2023-04-28 01:10:00,0.0,3.0 +16856,2023-04-28 01:20:00,0.0,3.0 +16857,2023-04-28 01:30:00,0.0,3.0 +16858,2023-04-28 01:40:00,0.0,3.0 +16859,2023-04-28 01:50:00,0.0,3.0 +16866,2023-04-28 03:00:00,0.0,3.0 +16867,2023-04-28 03:10:00,0.0,3.0 +16868,2023-04-28 03:20:00,0.0,3.0 +16869,2023-04-28 03:30:00,0.0,3.0 +16870,2023-04-28 03:40:00,0.0,3.0 +16871,2023-04-28 03:50:00,0.0,3.0 +16884,2023-04-28 06:00:00,0.0,4.0 +16885,2023-04-28 06:10:00,0.0,4.0 +16886,2023-04-28 06:20:00,0.0,4.0 +16887,2023-04-28 06:30:00,0.0,4.0 +16888,2023-04-28 06:40:00,0.0,4.0 +16889,2023-04-28 06:50:00,0.0,4.0 +16914,2023-04-28 11:00:00,0.0,6.0 +16915,2023-04-28 11:10:00,0.0,6.0 +16916,2023-04-28 11:20:00,0.0,6.0 +16917,2023-04-28 11:30:00,0.0,6.0 +16918,2023-04-28 11:40:00,0.0,6.0 +16919,2023-04-28 11:50:00,0.0,6.0 +16932,2023-04-28 14:00:00,0.0,7.0 +16933,2023-04-28 14:10:00,0.0,7.0 +16934,2023-04-28 14:20:00,0.0,7.0 +16935,2023-04-28 14:30:00,0.0,7.0 +16936,2023-04-28 14:40:00,0.0,7.0 +16937,2023-04-28 14:50:00,0.0,7.0 +16938,2023-04-28 15:00:00,0.0,6.0 +16939,2023-04-28 15:10:00,0.0,6.0 +16940,2023-04-28 15:20:00,0.0,6.0 +16941,2023-04-28 15:30:00,0.0,6.0 +16942,2023-04-28 15:40:00,0.0,6.0 +16943,2023-04-28 15:50:00,0.0,6.0 +16944,2023-04-28 16:00:00,0.0,6.0 +16945,2023-04-28 16:10:00,0.0,6.0 +16946,2023-04-28 16:20:00,0.0,6.0 +16947,2023-04-28 16:30:00,0.0,6.0 +16948,2023-04-28 16:40:00,0.0,6.0 +16949,2023-04-28 16:50:00,0.0,6.0 +16974,2023-04-28 21:00:00,0.0,3.0 +16975,2023-04-28 21:10:00,0.0,3.0 +16976,2023-04-28 21:20:00,0.0,3.0 +16977,2023-04-28 21:30:00,0.0,3.0 +16978,2023-04-28 21:40:00,0.0,3.0 +16979,2023-04-28 21:50:00,0.0,3.0 +16980,2023-04-28 22:00:00,0.0,3.0 +16981,2023-04-28 22:10:00,0.0,3.0 +16982,2023-04-28 22:20:00,0.0,3.0 +16983,2023-04-28 22:30:00,0.0,3.0 +16984,2023-04-28 22:40:00,0.0,3.0 +16985,2023-04-28 22:50:00,0.0,3.0 +16986,2023-04-28 23:00:00,0.0,3.0 +16987,2023-04-28 23:10:00,0.0,3.0 +16988,2023-04-28 23:20:00,0.0,3.0 +16989,2023-04-28 23:30:00,0.0,3.0 +16990,2023-04-28 23:40:00,0.0,3.0 +16991,2023-04-28 23:50:00,0.0,3.0 +16998,2023-04-29 01:00:00,0.0,3.0 +16999,2023-04-29 01:10:00,0.0,3.0 +17000,2023-04-29 01:20:00,0.0,3.0 +17001,2023-04-29 01:30:00,0.0,3.0 +17002,2023-04-29 01:40:00,0.0,3.0 +17003,2023-04-29 01:50:00,0.0,3.0 +17010,2023-04-29 03:00:00,0.0,4.0 +17011,2023-04-29 03:10:00,0.0,4.0 +17012,2023-04-29 03:20:00,0.0,4.0 +17013,2023-04-29 03:30:00,0.0,4.0 +17014,2023-04-29 03:40:00,0.0,4.0 +17015,2023-04-29 03:50:00,0.0,4.0 +17016,2023-04-29 04:00:00,0.0,4.0 +17017,2023-04-29 04:10:00,0.0,4.0 +17018,2023-04-29 04:20:00,0.0,4.0 +17019,2023-04-29 04:30:00,0.0,4.0 +17020,2023-04-29 04:40:00,0.0,4.0 +17021,2023-04-29 04:50:00,0.0,4.0 +17022,2023-04-29 05:00:00,0.0,3.0 +17023,2023-04-29 05:10:00,0.0,3.0 +17024,2023-04-29 05:20:00,0.0,3.0 +17025,2023-04-29 05:30:00,0.0,3.0 +17026,2023-04-29 05:40:00,0.0,3.0 +17027,2023-04-29 05:50:00,0.0,3.0 +17058,2023-04-29 11:00:00,0.0,5.0 +17059,2023-04-29 11:10:00,0.0,5.0 +17060,2023-04-29 11:20:00,0.0,5.0 +17061,2023-04-29 11:30:00,0.0,5.0 +17062,2023-04-29 11:40:00,0.0,5.0 +17063,2023-04-29 11:50:00,0.0,5.0 +17070,2023-04-29 13:00:00,0.0,7.0 +17071,2023-04-29 13:10:00,0.0,7.0 +17072,2023-04-29 13:20:00,0.0,7.0 +17073,2023-04-29 13:30:00,0.0,7.0 +17074,2023-04-29 13:40:00,0.0,7.0 +17075,2023-04-29 13:50:00,0.0,7.0 +17082,2023-04-29 15:00:00,0.0,7.0 +17083,2023-04-29 15:10:00,0.0,7.0 +17084,2023-04-29 15:20:00,0.0,7.0 +17085,2023-04-29 15:30:00,0.0,7.0 +17086,2023-04-29 15:40:00,0.0,7.0 +17087,2023-04-29 15:50:00,0.0,7.0 +17094,2023-04-29 17:00:00,0.0,5.0 +17095,2023-04-29 17:10:00,0.0,5.0 +17096,2023-04-29 17:20:00,0.0,5.0 +17097,2023-04-29 17:30:00,0.0,5.0 +17098,2023-04-29 17:40:00,0.0,5.0 +17099,2023-04-29 17:50:00,0.0,5.0 +17106,2023-04-29 19:00:00,0.0,3.0 +17107,2023-04-29 19:10:00,0.0,3.0 +17108,2023-04-29 19:20:00,0.0,3.0 +17109,2023-04-29 19:30:00,0.0,3.0 +17110,2023-04-29 19:40:00,0.0,3.0 +17111,2023-04-29 19:50:00,0.0,3.0 +17112,2023-04-29 20:00:00,0.0,3.0 +17113,2023-04-29 20:10:00,0.0,3.0 +17114,2023-04-29 20:20:00,0.0,3.0 +17115,2023-04-29 20:30:00,0.0,3.0 +17116,2023-04-29 20:40:00,0.0,3.0 +17117,2023-04-29 20:50:00,0.0,3.0 +17118,2023-04-29 21:00:00,0.0,3.0 +17119,2023-04-29 21:10:00,0.0,3.0 +17120,2023-04-29 21:20:00,0.0,3.0 +17121,2023-04-29 21:30:00,0.0,3.0 +17122,2023-04-29 21:40:00,0.0,3.0 +17123,2023-04-29 21:50:00,0.0,3.0 +17130,2023-04-29 23:00:00,0.0,3.0 +17131,2023-04-29 23:10:00,0.0,3.0 +17132,2023-04-29 23:20:00,0.0,3.0 +17133,2023-04-29 23:30:00,0.0,3.0 +17134,2023-04-29 23:40:00,0.0,3.0 +17135,2023-04-29 23:50:00,0.0,3.0 +17136,2023-04-30 00:00:00,0.0,3.0 +17137,2023-04-30 00:10:00,0.0,3.0 +17138,2023-04-30 00:20:00,0.0,3.0 +17139,2023-04-30 00:30:00,0.0,3.0 +17140,2023-04-30 00:40:00,0.0,3.0 +17141,2023-04-30 00:50:00,0.0,3.0 +17142,2023-04-30 01:00:00,0.0,3.0 +17143,2023-04-30 01:10:00,0.0,3.0 +17144,2023-04-30 01:20:00,0.0,3.0 +17145,2023-04-30 01:30:00,0.0,3.0 +17146,2023-04-30 01:40:00,0.0,3.0 +17147,2023-04-30 01:50:00,0.0,3.0 +17148,2023-04-30 02:00:00,0.0,3.0 +17149,2023-04-30 02:10:00,0.0,3.0 +17150,2023-04-30 02:20:00,0.0,3.0 +17151,2023-04-30 02:30:00,0.0,3.0 +17152,2023-04-30 02:40:00,0.0,3.0 +17153,2023-04-30 02:50:00,0.0,3.0 +17154,2023-04-30 03:00:00,0.0,3.0 +17155,2023-04-30 03:10:00,0.0,3.0 +17156,2023-04-30 03:20:00,0.0,3.0 +17157,2023-04-30 03:30:00,0.0,3.0 +17158,2023-04-30 03:40:00,0.0,3.0 +17159,2023-04-30 03:50:00,0.0,3.0 +17166,2023-04-30 05:00:00,0.0,3.0 +17167,2023-04-30 05:10:00,0.0,3.0 +17168,2023-04-30 05:20:00,0.0,3.0 +17169,2023-04-30 05:30:00,0.0,3.0 +17170,2023-04-30 05:40:00,0.0,3.0 +17171,2023-04-30 05:50:00,0.0,3.0 +17172,2023-04-30 06:00:00,0.0,5.0 +17173,2023-04-30 06:10:00,0.0,5.0 +17174,2023-04-30 06:20:00,0.0,5.0 +17175,2023-04-30 06:30:00,0.0,5.0 +17176,2023-04-30 06:40:00,0.0,5.0 +17177,2023-04-30 06:50:00,0.0,5.0 +17184,2023-04-30 08:00:00,0.0,5.0 +17185,2023-04-30 08:10:00,0.0,5.0 +17186,2023-04-30 08:20:00,0.0,5.0 +17187,2023-04-30 08:30:00,0.0,5.0 +17188,2023-04-30 08:40:00,0.0,5.0 +17189,2023-04-30 08:50:00,0.0,5.0 +17190,2023-04-30 09:00:00,0.0,5.0 +17191,2023-04-30 09:10:00,0.0,5.0 +17192,2023-04-30 09:20:00,0.0,5.0 +17193,2023-04-30 09:30:00,0.0,5.0 +17194,2023-04-30 09:40:00,0.0,5.0 +17195,2023-04-30 09:50:00,0.0,5.0 +17202,2023-04-30 11:00:00,0.0,7.0 +17203,2023-04-30 11:10:00,0.0,7.0 +17204,2023-04-30 11:20:00,0.0,7.0 +17205,2023-04-30 11:30:00,0.0,7.0 +17206,2023-04-30 11:40:00,0.0,7.0 +17207,2023-04-30 11:50:00,0.0,7.0 +17208,2023-04-30 12:00:00,0.0,7.0 +17209,2023-04-30 12:10:00,0.0,7.0 +17210,2023-04-30 12:20:00,0.0,7.0 +17211,2023-04-30 12:30:00,0.0,7.0 +17212,2023-04-30 12:40:00,0.0,7.0 +17213,2023-04-30 12:50:00,0.0,7.0 +17220,2023-04-30 14:00:00,0.0,7.0 +17221,2023-04-30 14:10:00,0.0,7.0 +17222,2023-04-30 14:20:00,0.0,7.0 +17223,2023-04-30 14:30:00,0.0,7.0 +17224,2023-04-30 14:40:00,0.0,7.0 +17225,2023-04-30 14:50:00,0.0,7.0 +17226,2023-04-30 15:00:00,0.0,7.0 +17227,2023-04-30 15:10:00,0.0,7.0 +17228,2023-04-30 15:20:00,0.0,7.0 +17229,2023-04-30 15:30:00,0.0,7.0 +17230,2023-04-30 15:40:00,0.0,7.0 +17231,2023-04-30 15:50:00,0.0,7.0 +17232,2023-04-30 16:00:00,0.0,7.0 +17233,2023-04-30 16:10:00,0.0,7.0 +17234,2023-04-30 16:20:00,0.0,7.0 +17235,2023-04-30 16:30:00,0.0,7.0 +17236,2023-04-30 16:40:00,0.0,7.0 +17237,2023-04-30 16:50:00,0.0,7.0 +17250,2023-04-30 19:00:00,0.0,3.0 +17251,2023-04-30 19:10:00,0.0,3.0 +17252,2023-04-30 19:20:00,0.0,3.0 +17253,2023-04-30 19:30:00,0.0,3.0 +17254,2023-04-30 19:40:00,0.0,3.0 +17255,2023-04-30 19:50:00,0.0,3.0 +17256,2023-04-30 20:00:00,0.0,5.0 +17257,2023-04-30 20:10:00,0.0,5.0 +17258,2023-04-30 20:20:00,0.0,5.0 +17259,2023-04-30 20:30:00,0.0,5.0 +17260,2023-04-30 20:40:00,0.0,5.0 +17261,2023-04-30 20:50:00,0.0,5.0 +17262,2023-04-30 21:00:00,0.0,5.0 +17263,2023-04-30 21:10:00,0.0,5.0 +17264,2023-04-30 21:20:00,0.0,5.0 +17265,2023-04-30 21:30:00,0.0,5.0 +17266,2023-04-30 21:40:00,0.0,5.0 +17267,2023-04-30 21:50:00,0.0,5.0 +17274,2023-04-30 23:00:00,0.0,3.0 +17275,2023-04-30 23:10:00,0.0,3.0 +17276,2023-04-30 23:20:00,0.0,3.0 +17277,2023-04-30 23:30:00,0.0,3.0 +17278,2023-04-30 23:40:00,0.0,3.0 +17279,2023-04-30 23:50:00,0.0,3.0 +17280,2023-05-01 00:00:00,0.0,3.0 +17281,2023-05-01 00:10:00,0.0,3.0 +17282,2023-05-01 00:20:00,0.0,3.0 +17283,2023-05-01 00:30:00,0.0,3.0 +17284,2023-05-01 00:40:00,0.0,3.0 +17285,2023-05-01 00:50:00,0.0,3.0 +17292,2023-05-01 02:00:00,0.0,3.0 +17293,2023-05-01 02:10:00,0.0,3.0 +17294,2023-05-01 02:20:00,0.0,3.0 +17295,2023-05-01 02:30:00,0.0,3.0 +17296,2023-05-01 02:40:00,0.0,3.0 +17297,2023-05-01 02:50:00,0.0,3.0 +17310,2023-05-01 05:00:00,0.0,3.0 +17311,2023-05-01 05:10:00,0.0,3.0 +17312,2023-05-01 05:20:00,0.0,3.0 +17313,2023-05-01 05:30:00,0.0,3.0 +17314,2023-05-01 05:40:00,0.0,3.0 +17315,2023-05-01 05:50:00,0.0,3.0 +17352,2023-05-01 12:00:00,0.0,6.0 +17353,2023-05-01 12:10:00,0.0,6.0 +17354,2023-05-01 12:20:00,0.0,6.0 +17355,2023-05-01 12:30:00,0.0,6.0 +17356,2023-05-01 12:40:00,0.0,6.0 +17357,2023-05-01 12:50:00,0.0,6.0 +17358,2023-05-01 13:00:00,0.0,7.0 +17359,2023-05-01 13:10:00,0.0,7.0 +17360,2023-05-01 13:20:00,0.0,7.0 +17361,2023-05-01 13:30:00,0.0,7.0 +17362,2023-05-01 13:40:00,0.0,7.0 +17363,2023-05-01 13:50:00,0.0,7.0 +17382,2023-05-01 17:00:00,0.0,7.0 +17383,2023-05-01 17:10:00,0.0,7.0 +17384,2023-05-01 17:20:00,0.0,7.0 +17385,2023-05-01 17:30:00,0.0,7.0 +17386,2023-05-01 17:40:00,0.0,7.0 +17387,2023-05-01 17:50:00,0.0,7.0 +17388,2023-05-01 18:00:00,0.0,5.0 +17389,2023-05-01 18:10:00,0.0,5.0 +17390,2023-05-01 18:20:00,0.0,5.0 +17391,2023-05-01 18:30:00,0.0,5.0 +17392,2023-05-01 18:40:00,0.0,5.0 +17393,2023-05-01 18:50:00,0.0,5.0 +17394,2023-05-01 19:00:00,0.0,5.0 +17395,2023-05-01 19:10:00,0.0,5.0 +17396,2023-05-01 19:20:00,0.0,5.0 +17397,2023-05-01 19:30:00,0.0,5.0 +17398,2023-05-01 19:40:00,0.0,5.0 +17399,2023-05-01 19:50:00,0.0,5.0 +17406,2023-05-01 21:00:00,0.0,5.0 +17407,2023-05-01 21:10:00,0.0,5.0 +17408,2023-05-01 21:20:00,0.0,5.0 +17409,2023-05-01 21:30:00,0.0,5.0 +17410,2023-05-01 21:40:00,0.0,5.0 +17411,2023-05-01 21:50:00,0.0,5.0 +17418,2023-05-01 23:00:00,0.0,5.0 +17419,2023-05-01 23:10:00,0.0,5.0 +17420,2023-05-01 23:20:00,0.0,5.0 +17421,2023-05-01 23:30:00,0.0,5.0 +17422,2023-05-01 23:40:00,0.0,5.0 +17423,2023-05-01 23:50:00,0.0,5.0 +17430,2023-05-02 01:00:00,0.0,3.0 +17431,2023-05-02 01:10:00,0.0,3.0 +17432,2023-05-02 01:20:00,0.0,3.0 +17433,2023-05-02 01:30:00,0.0,3.0 +17434,2023-05-02 01:40:00,0.0,3.0 +17435,2023-05-02 01:50:00,0.0,3.0 +17436,2023-05-02 02:00:00,0.0,4.0 +17437,2023-05-02 02:10:00,0.0,4.0 +17438,2023-05-02 02:20:00,0.0,4.0 +17439,2023-05-02 02:30:00,0.0,4.0 +17440,2023-05-02 02:40:00,0.0,4.0 +17441,2023-05-02 02:50:00,0.0,4.0 +17442,2023-05-02 03:00:00,0.0,3.0 +17443,2023-05-02 03:10:00,0.0,3.0 +17444,2023-05-02 03:20:00,0.0,3.0 +17445,2023-05-02 03:30:00,0.0,3.0 +17446,2023-05-02 03:40:00,0.0,3.0 +17447,2023-05-02 03:50:00,0.0,3.0 +17448,2023-05-02 04:00:00,0.0,3.0 +17449,2023-05-02 04:10:00,0.0,3.0 +17450,2023-05-02 04:20:00,0.0,3.0 +17451,2023-05-02 04:30:00,0.0,3.0 +17452,2023-05-02 04:40:00,0.0,3.0 +17453,2023-05-02 04:50:00,0.0,3.0 +17454,2023-05-02 05:00:00,0.0,3.0 +17455,2023-05-02 05:10:00,0.0,3.0 +17456,2023-05-02 05:20:00,0.0,3.0 +17457,2023-05-02 05:30:00,0.0,3.0 +17458,2023-05-02 05:40:00,0.0,3.0 +17459,2023-05-02 05:50:00,0.0,3.0 +17466,2023-05-02 07:00:00,0.0,5.0 +17467,2023-05-02 07:10:00,0.0,5.0 +17468,2023-05-02 07:20:00,0.0,5.0 +17469,2023-05-02 07:30:00,0.0,5.0 +17470,2023-05-02 07:40:00,0.0,5.0 +17471,2023-05-02 07:50:00,0.0,5.0 +17514,2023-05-02 15:00:00,0.0,3.0 +17515,2023-05-02 15:10:00,0.0,3.0 +17516,2023-05-02 15:20:00,0.0,3.0 +17517,2023-05-02 15:30:00,0.0,3.0 +17518,2023-05-02 15:40:00,0.0,3.0 +17519,2023-05-02 15:50:00,0.0,3.0 +17520,2023-05-02 16:00:00,0.0,5.0 +17521,2023-05-02 16:10:00,0.0,5.0 +17522,2023-05-02 16:20:00,0.0,5.0 +17523,2023-05-02 16:30:00,0.0,5.0 +17524,2023-05-02 16:40:00,0.0,5.0 +17525,2023-05-02 16:50:00,0.0,5.0 +17532,2023-05-02 18:00:00,0.0,3.0 +17533,2023-05-02 18:10:00,0.0,3.0 +17534,2023-05-02 18:20:00,0.0,3.0 +17535,2023-05-02 18:30:00,0.0,3.0 +17536,2023-05-02 18:40:00,0.0,3.0 +17537,2023-05-02 18:50:00,0.0,3.0 +17544,2023-05-02 20:00:00,0.0,3.0 +17545,2023-05-02 20:10:00,0.0,3.0 +17546,2023-05-02 20:20:00,0.0,3.0 +17547,2023-05-02 20:30:00,0.0,3.0 +17548,2023-05-02 20:40:00,0.0,3.0 +17549,2023-05-02 20:50:00,0.0,3.0 +17550,2023-05-02 21:00:00,0.0,3.0 +17551,2023-05-02 21:10:00,0.0,3.0 +17552,2023-05-02 21:20:00,0.0,3.0 +17553,2023-05-02 21:30:00,0.0,3.0 +17554,2023-05-02 21:40:00,0.0,3.0 +17555,2023-05-02 21:50:00,0.0,3.0 +17556,2023-05-02 22:00:00,0.0,3.0 +17557,2023-05-02 22:10:00,0.0,3.0 +17558,2023-05-02 22:20:00,0.0,3.0 +17559,2023-05-02 22:30:00,0.0,3.0 +17560,2023-05-02 22:40:00,0.0,3.0 +17561,2023-05-02 22:50:00,0.0,3.0 +17562,2023-05-02 23:00:00,0.0,3.0 +17563,2023-05-02 23:10:00,0.0,3.0 +17564,2023-05-02 23:20:00,0.0,3.0 +17565,2023-05-02 23:30:00,0.0,3.0 +17566,2023-05-02 23:40:00,0.0,3.0 +17567,2023-05-02 23:50:00,0.0,3.0 +17580,2023-05-03 02:00:00,0.0,3.0 +17581,2023-05-03 02:10:00,0.0,3.0 +17582,2023-05-03 02:20:00,0.0,3.0 +17583,2023-05-03 02:30:00,0.0,3.0 +17584,2023-05-03 02:40:00,0.0,3.0 +17585,2023-05-03 02:50:00,0.0,3.0 +17586,2023-05-03 03:00:00,0.0,3.0 +17587,2023-05-03 03:10:00,0.0,3.0 +17588,2023-05-03 03:20:00,0.0,3.0 +17589,2023-05-03 03:30:00,0.0,3.0 +17590,2023-05-03 03:40:00,0.0,3.0 +17591,2023-05-03 03:50:00,0.0,3.0 +17592,2023-05-03 04:00:00,0.0,3.0 +17593,2023-05-03 04:10:00,0.0,3.0 +17594,2023-05-03 04:20:00,0.0,3.0 +17595,2023-05-03 04:30:00,0.0,3.0 +17596,2023-05-03 04:40:00,0.0,3.0 +17597,2023-05-03 04:50:00,0.0,3.0 +17598,2023-05-03 05:00:00,0.0,3.0 +17599,2023-05-03 05:10:00,0.0,3.0 +17600,2023-05-03 05:20:00,0.0,3.0 +17601,2023-05-03 05:30:00,0.0,3.0 +17602,2023-05-03 05:40:00,0.0,3.0 +17603,2023-05-03 05:50:00,0.0,3.0 +17610,2023-05-03 07:00:00,0.0,3.0 +17611,2023-05-03 07:10:00,0.0,3.0 +17612,2023-05-03 07:20:00,0.0,3.0 +17613,2023-05-03 07:30:00,0.0,3.0 +17614,2023-05-03 07:40:00,0.0,3.0 +17615,2023-05-03 07:50:00,0.0,3.0 +17634,2023-05-03 11:00:00,0.0,5.0 +17635,2023-05-03 11:10:00,0.0,5.0 +17636,2023-05-03 11:20:00,0.0,5.0 +17637,2023-05-03 11:30:00,0.0,5.0 +17638,2023-05-03 11:40:00,0.0,5.0 +17639,2023-05-03 11:50:00,0.0,5.0 +17640,2023-05-03 12:00:00,0.0,5.0 +17641,2023-05-03 12:10:00,0.0,5.0 +17642,2023-05-03 12:20:00,0.0,5.0 +17643,2023-05-03 12:30:00,0.0,5.0 +17644,2023-05-03 12:40:00,0.0,5.0 +17645,2023-05-03 12:50:00,0.0,5.0 +17652,2023-05-03 14:00:00,0.0,3.0 +17653,2023-05-03 14:10:00,0.0,3.0 +17654,2023-05-03 14:20:00,0.0,3.0 +17655,2023-05-03 14:30:00,0.0,3.0 +17656,2023-05-03 14:40:00,0.0,3.0 +17657,2023-05-03 14:50:00,0.0,3.0 +17682,2023-05-03 19:00:00,0.0,3.0 +17683,2023-05-03 19:10:00,0.0,3.0 +17684,2023-05-03 19:20:00,0.0,3.0 +17685,2023-05-03 19:30:00,0.0,3.0 +17686,2023-05-03 19:40:00,0.0,3.0 +17687,2023-05-03 19:50:00,0.0,3.0 +17688,2023-05-03 20:00:00,0.0,3.0 +17689,2023-05-03 20:10:00,0.0,3.0 +17690,2023-05-03 20:20:00,0.0,3.0 +17691,2023-05-03 20:30:00,0.0,3.0 +17692,2023-05-03 20:40:00,0.0,3.0 +17693,2023-05-03 20:50:00,0.0,3.0 +17694,2023-05-03 21:00:00,0.0,5.0 +17695,2023-05-03 21:10:00,0.0,5.0 +17696,2023-05-03 21:20:00,0.0,5.0 +17697,2023-05-03 21:30:00,0.0,5.0 +17698,2023-05-03 21:40:00,0.0,5.0 +17699,2023-05-03 21:50:00,0.0,5.0 +17700,2023-05-03 22:00:00,0.0,3.0 +17701,2023-05-03 22:10:00,0.0,3.0 +17702,2023-05-03 22:20:00,0.0,3.0 +17703,2023-05-03 22:30:00,0.0,3.0 +17704,2023-05-03 22:40:00,0.0,3.0 +17705,2023-05-03 22:50:00,0.0,3.0 +17706,2023-05-03 23:00:00,0.0,5.0 +17707,2023-05-03 23:10:00,0.0,5.0 +17708,2023-05-03 23:20:00,0.0,5.0 +17709,2023-05-03 23:30:00,0.0,5.0 +17710,2023-05-03 23:40:00,0.0,5.0 +17711,2023-05-03 23:50:00,0.0,5.0 +17712,2023-05-04 00:00:00,0.0,3.0 +17713,2023-05-04 00:10:00,0.0,3.0 +17714,2023-05-04 00:20:00,0.0,3.0 +17715,2023-05-04 00:30:00,0.0,3.0 +17716,2023-05-04 00:40:00,0.0,3.0 +17717,2023-05-04 00:50:00,0.0,3.0 +17730,2023-05-04 03:00:00,0.0,3.0 +17731,2023-05-04 03:10:00,0.0,3.0 +17732,2023-05-04 03:20:00,0.0,3.0 +17733,2023-05-04 03:30:00,0.0,3.0 +17734,2023-05-04 03:40:00,0.0,3.0 +17735,2023-05-04 03:50:00,0.0,3.0 +17736,2023-05-04 04:00:00,0.0,3.0 +17737,2023-05-04 04:10:00,0.0,3.0 +17738,2023-05-04 04:20:00,0.0,3.0 +17739,2023-05-04 04:30:00,0.0,3.0 +17740,2023-05-04 04:40:00,0.0,3.0 +17741,2023-05-04 04:50:00,0.0,3.0 +17742,2023-05-04 05:00:00,0.0,3.0 +17743,2023-05-04 05:10:00,0.0,3.0 +17744,2023-05-04 05:20:00,0.0,3.0 +17745,2023-05-04 05:30:00,0.0,3.0 +17746,2023-05-04 05:40:00,0.0,3.0 +17747,2023-05-04 05:50:00,0.0,3.0 +17748,2023-05-04 06:00:00,0.0,5.0 +17749,2023-05-04 06:10:00,0.0,5.0 +17750,2023-05-04 06:20:00,0.0,5.0 +17751,2023-05-04 06:30:00,0.0,5.0 +17752,2023-05-04 06:40:00,0.0,5.0 +17753,2023-05-04 06:50:00,0.0,5.0 +17766,2023-05-04 09:00:00,0.0,7.0 +17767,2023-05-04 09:10:00,0.0,7.0 +17768,2023-05-04 09:20:00,0.0,7.0 +17769,2023-05-04 09:30:00,0.0,7.0 +17770,2023-05-04 09:40:00,0.0,7.0 +17771,2023-05-04 09:50:00,0.0,7.0 +17772,2023-05-04 10:00:00,0.0,7.0 +17773,2023-05-04 10:10:00,0.0,7.0 +17774,2023-05-04 10:20:00,0.0,7.0 +17775,2023-05-04 10:30:00,0.0,7.0 +17776,2023-05-04 10:40:00,0.0,7.0 +17777,2023-05-04 10:50:00,0.0,7.0 +17778,2023-05-04 11:00:00,0.0,7.0 +17779,2023-05-04 11:10:00,0.0,7.0 +17780,2023-05-04 11:20:00,0.0,7.0 +17781,2023-05-04 11:30:00,0.0,7.0 +17782,2023-05-04 11:40:00,0.0,7.0 +17783,2023-05-04 11:50:00,0.0,7.0 +17784,2023-05-04 12:00:00,0.0,5.0 +17785,2023-05-04 12:10:00,0.0,5.0 +17786,2023-05-04 12:20:00,0.0,5.0 +17787,2023-05-04 12:30:00,0.0,5.0 +17788,2023-05-04 12:40:00,0.0,5.0 +17789,2023-05-04 12:50:00,0.0,5.0 +17814,2023-05-04 17:00:00,0.0,5.0 +17815,2023-05-04 17:10:00,0.0,5.0 +17816,2023-05-04 17:20:00,0.0,5.0 +17817,2023-05-04 17:30:00,0.0,5.0 +17818,2023-05-04 17:40:00,0.0,5.0 +17819,2023-05-04 17:50:00,0.0,5.0 +17820,2023-05-04 18:00:00,0.0,7.0 +17821,2023-05-04 18:10:00,0.0,7.0 +17822,2023-05-04 18:20:00,0.0,7.0 +17823,2023-05-04 18:30:00,0.0,7.0 +17824,2023-05-04 18:40:00,0.0,7.0 +17825,2023-05-04 18:50:00,0.0,7.0 +17856,2023-05-05 00:00:00,0.0,5.0 +17857,2023-05-05 00:10:00,0.0,5.0 +17858,2023-05-05 00:20:00,0.0,5.0 +17859,2023-05-05 00:30:00,0.0,5.0 +17860,2023-05-05 00:40:00,0.0,5.0 +17861,2023-05-05 00:50:00,0.0,5.0 +17898,2023-05-05 07:00:00,0.0,7.0 +17899,2023-05-05 07:10:00,0.0,7.0 +17900,2023-05-05 07:20:00,0.0,7.0 +17901,2023-05-05 07:30:00,0.0,7.0 +17902,2023-05-05 07:40:00,0.0,7.0 +17903,2023-05-05 07:50:00,0.0,7.0 +17904,2023-05-05 08:00:00,0.0,7.0 +17905,2023-05-05 08:10:00,0.0,7.0 +17906,2023-05-05 08:20:00,0.0,7.0 +17907,2023-05-05 08:30:00,0.0,7.0 +17908,2023-05-05 08:40:00,0.0,7.0 +17909,2023-05-05 08:50:00,0.0,7.0 +17916,2023-05-05 10:00:00,0.0,8.0 +17917,2023-05-05 10:10:00,0.0,8.0 +17918,2023-05-05 10:20:00,0.0,8.0 +17919,2023-05-05 10:30:00,0.0,8.0 +17920,2023-05-05 10:40:00,0.0,8.0 +17921,2023-05-05 10:50:00,0.0,8.0 +17922,2023-05-05 11:00:00,0.0,6.0 +17923,2023-05-05 11:10:00,0.0,6.0 +17924,2023-05-05 11:20:00,0.0,6.0 +17925,2023-05-05 11:30:00,0.0,6.0 +17926,2023-05-05 11:40:00,0.0,6.0 +17927,2023-05-05 11:50:00,0.0,6.0 +17928,2023-05-05 12:00:00,0.0,6.0 +17929,2023-05-05 12:10:00,0.0,6.0 +17930,2023-05-05 12:20:00,0.0,6.0 +17931,2023-05-05 12:30:00,0.0,6.0 +17932,2023-05-05 12:40:00,0.0,6.0 +17933,2023-05-05 12:50:00,0.0,6.0 +17934,2023-05-05 13:00:00,0.0,6.0 +17935,2023-05-05 13:10:00,0.0,6.0 +17936,2023-05-05 13:20:00,0.0,6.0 +17937,2023-05-05 13:30:00,0.0,6.0 +17938,2023-05-05 13:40:00,0.0,6.0 +17939,2023-05-05 13:50:00,0.0,6.0 +17940,2023-05-05 14:00:00,0.0,6.0 +17941,2023-05-05 14:10:00,0.0,6.0 +17942,2023-05-05 14:20:00,0.0,6.0 +17943,2023-05-05 14:30:00,0.0,6.0 +17944,2023-05-05 14:40:00,0.0,6.0 +17945,2023-05-05 14:50:00,0.0,6.0 +17946,2023-05-05 15:00:00,0.0,7.0 +17947,2023-05-05 15:10:00,0.0,7.0 +17948,2023-05-05 15:20:00,0.0,7.0 +17949,2023-05-05 15:30:00,0.0,7.0 +17950,2023-05-05 15:40:00,0.0,7.0 +17951,2023-05-05 15:50:00,0.0,7.0 +17952,2023-05-05 16:00:00,0.0,7.0 +17953,2023-05-05 16:10:00,0.0,7.0 +17954,2023-05-05 16:20:00,0.0,7.0 +17955,2023-05-05 16:30:00,0.0,7.0 +17956,2023-05-05 16:40:00,0.0,7.0 +17957,2023-05-05 16:50:00,0.0,7.0 +17964,2023-05-05 18:00:00,0.0,5.0 +17965,2023-05-05 18:10:00,0.0,5.0 +17966,2023-05-05 18:20:00,0.0,5.0 +17967,2023-05-05 18:30:00,0.0,5.0 +17968,2023-05-05 18:40:00,0.0,5.0 +17969,2023-05-05 18:50:00,0.0,5.0 +17970,2023-05-05 19:00:00,0.0,5.0 +17971,2023-05-05 19:10:00,0.0,5.0 +17972,2023-05-05 19:20:00,0.0,5.0 +17973,2023-05-05 19:30:00,0.0,5.0 +17974,2023-05-05 19:40:00,0.0,5.0 +17975,2023-05-05 19:50:00,0.0,5.0 +17976,2023-05-05 20:00:00,0.0,5.0 +17977,2023-05-05 20:10:00,0.0,5.0 +17978,2023-05-05 20:20:00,0.0,5.0 +17979,2023-05-05 20:30:00,0.0,5.0 +17980,2023-05-05 20:40:00,0.0,5.0 +17981,2023-05-05 20:50:00,0.0,5.0 +17982,2023-05-05 21:00:00,0.0,5.0 +17983,2023-05-05 21:10:00,0.0,5.0 +17984,2023-05-05 21:20:00,0.0,5.0 +17985,2023-05-05 21:30:00,0.0,5.0 +17986,2023-05-05 21:40:00,0.0,5.0 +17987,2023-05-05 21:50:00,0.0,5.0 +17988,2023-05-05 22:00:00,0.0,5.0 +17989,2023-05-05 22:10:00,0.0,5.0 +17990,2023-05-05 22:20:00,0.0,5.0 +17991,2023-05-05 22:30:00,0.0,5.0 +17992,2023-05-05 22:40:00,0.0,5.0 +17993,2023-05-05 22:50:00,0.0,5.0 +18006,2023-05-06 01:00:00,0.0,3.0 +18007,2023-05-06 01:10:00,0.0,3.0 +18008,2023-05-06 01:20:00,0.0,3.0 +18009,2023-05-06 01:30:00,0.0,3.0 +18010,2023-05-06 01:40:00,0.0,3.0 +18011,2023-05-06 01:50:00,0.0,3.0 +18012,2023-05-06 02:00:00,0.0,3.0 +18013,2023-05-06 02:10:00,0.0,3.0 +18014,2023-05-06 02:20:00,0.0,3.0 +18015,2023-05-06 02:30:00,0.0,3.0 +18016,2023-05-06 02:40:00,0.0,3.0 +18017,2023-05-06 02:50:00,0.0,3.0 +18030,2023-05-06 05:00:00,0.0,5.0 +18031,2023-05-06 05:10:00,0.0,5.0 +18032,2023-05-06 05:20:00,0.0,5.0 +18033,2023-05-06 05:30:00,0.0,5.0 +18034,2023-05-06 05:40:00,0.0,5.0 +18035,2023-05-06 05:50:00,0.0,5.0 +18036,2023-05-06 06:00:00,0.0,5.0 +18037,2023-05-06 06:10:00,0.0,5.0 +18038,2023-05-06 06:20:00,0.0,5.0 +18039,2023-05-06 06:30:00,0.0,5.0 +18040,2023-05-06 06:40:00,0.0,5.0 +18041,2023-05-06 06:50:00,0.0,5.0 +18048,2023-05-06 08:00:00,0.0,7.0 +18049,2023-05-06 08:10:00,0.0,7.0 +18050,2023-05-06 08:20:00,0.0,7.0 +18051,2023-05-06 08:30:00,0.0,7.0 +18052,2023-05-06 08:40:00,0.0,7.0 +18053,2023-05-06 08:50:00,0.0,7.0 +18060,2023-05-06 10:00:00,0.0,7.0 +18061,2023-05-06 10:10:00,0.0,7.0 +18062,2023-05-06 10:20:00,0.0,7.0 +18063,2023-05-06 10:30:00,0.0,7.0 +18064,2023-05-06 10:40:00,0.0,7.0 +18065,2023-05-06 10:50:00,0.0,7.0 +18090,2023-05-06 15:00:00,0.0,9.0 +18091,2023-05-06 15:10:00,0.0,9.0 +18092,2023-05-06 15:20:00,0.0,9.0 +18093,2023-05-06 15:30:00,0.0,9.0 +18094,2023-05-06 15:40:00,0.0,9.0 +18095,2023-05-06 15:50:00,0.0,9.0 +18096,2023-05-06 16:00:00,0.0,7.0 +18097,2023-05-06 16:10:00,0.0,7.0 +18098,2023-05-06 16:20:00,0.0,7.0 +18099,2023-05-06 16:30:00,0.0,7.0 +18100,2023-05-06 16:40:00,0.0,7.0 +18101,2023-05-06 16:50:00,0.0,7.0 +18108,2023-05-06 18:00:00,0.0,7.0 +18109,2023-05-06 18:10:00,0.0,7.0 +18110,2023-05-06 18:20:00,0.0,7.0 +18111,2023-05-06 18:30:00,0.0,7.0 +18112,2023-05-06 18:40:00,0.0,7.0 +18113,2023-05-06 18:50:00,0.0,7.0 +18114,2023-05-06 19:00:00,0.0,5.0 +18115,2023-05-06 19:10:00,0.0,5.0 +18116,2023-05-06 19:20:00,0.0,5.0 +18117,2023-05-06 19:30:00,0.0,5.0 +18118,2023-05-06 19:40:00,0.0,5.0 +18119,2023-05-06 19:50:00,0.0,5.0 +18132,2023-05-06 22:00:00,0.0,5.0 +18133,2023-05-06 22:10:00,0.0,5.0 +18134,2023-05-06 22:20:00,0.0,5.0 +18135,2023-05-06 22:30:00,0.0,5.0 +18136,2023-05-06 22:40:00,0.0,5.0 +18137,2023-05-06 22:50:00,0.0,5.0 +18144,2023-05-07 00:00:00,0.0,5.0 +18145,2023-05-07 00:10:00,0.0,5.0 +18146,2023-05-07 00:20:00,0.0,5.0 +18147,2023-05-07 00:30:00,0.0,5.0 +18148,2023-05-07 00:40:00,0.0,5.0 +18149,2023-05-07 00:50:00,0.0,5.0 +18150,2023-05-07 01:00:00,0.0,5.0 +18151,2023-05-07 01:10:00,0.0,5.0 +18152,2023-05-07 01:20:00,0.0,5.0 +18153,2023-05-07 01:30:00,0.0,5.0 +18154,2023-05-07 01:40:00,0.0,5.0 +18155,2023-05-07 01:50:00,0.0,5.0 +18162,2023-05-07 03:00:00,0.0,5.0 +18163,2023-05-07 03:10:00,0.0,5.0 +18164,2023-05-07 03:20:00,0.0,5.0 +18165,2023-05-07 03:30:00,0.0,5.0 +18166,2023-05-07 03:40:00,0.0,5.0 +18167,2023-05-07 03:50:00,0.0,5.0 +18174,2023-05-07 05:00:00,0.0,6.0 +18175,2023-05-07 05:10:00,0.0,6.0 +18176,2023-05-07 05:20:00,0.0,6.0 +18177,2023-05-07 05:30:00,0.0,6.0 +18178,2023-05-07 05:40:00,0.0,6.0 +18179,2023-05-07 05:50:00,0.0,6.0 +18180,2023-05-07 06:00:00,0.0,6.0 +18181,2023-05-07 06:10:00,0.0,6.0 +18182,2023-05-07 06:20:00,0.0,6.0 +18183,2023-05-07 06:30:00,0.0,6.0 +18184,2023-05-07 06:40:00,0.0,6.0 +18185,2023-05-07 06:50:00,0.0,6.0 +18186,2023-05-07 07:00:00,0.0,5.0 +18187,2023-05-07 07:10:00,0.0,5.0 +18188,2023-05-07 07:20:00,0.0,5.0 +18189,2023-05-07 07:30:00,0.0,5.0 +18190,2023-05-07 07:40:00,0.0,5.0 +18191,2023-05-07 07:50:00,0.0,5.0 +18192,2023-05-07 08:00:00,0.0,7.0 +18193,2023-05-07 08:10:00,0.0,7.0 +18194,2023-05-07 08:20:00,0.0,7.0 +18195,2023-05-07 08:30:00,0.0,7.0 +18196,2023-05-07 08:40:00,0.0,7.0 +18197,2023-05-07 08:50:00,0.0,7.0 +18198,2023-05-07 09:00:00,0.0,7.0 +18199,2023-05-07 09:10:00,0.0,7.0 +18200,2023-05-07 09:20:00,0.0,7.0 +18201,2023-05-07 09:30:00,0.0,7.0 +18202,2023-05-07 09:40:00,0.0,7.0 +18203,2023-05-07 09:50:00,0.0,7.0 +18204,2023-05-07 10:00:00,0.0,7.0 +18205,2023-05-07 10:10:00,0.0,7.0 +18206,2023-05-07 10:20:00,0.0,7.0 +18207,2023-05-07 10:30:00,0.0,7.0 +18208,2023-05-07 10:40:00,0.0,7.0 +18209,2023-05-07 10:50:00,0.0,7.0 +18210,2023-05-07 11:00:00,0.0,7.0 +18211,2023-05-07 11:10:00,0.0,7.0 +18212,2023-05-07 11:20:00,0.0,7.0 +18213,2023-05-07 11:30:00,0.0,7.0 +18214,2023-05-07 11:40:00,0.0,7.0 +18215,2023-05-07 11:50:00,0.0,7.0 +18228,2023-05-07 14:00:00,0.0,7.0 +18229,2023-05-07 14:10:00,0.0,7.0 +18230,2023-05-07 14:20:00,0.0,7.0 +18231,2023-05-07 14:30:00,0.0,7.0 +18232,2023-05-07 14:40:00,0.0,7.0 +18233,2023-05-07 14:50:00,0.0,7.0 +18246,2023-05-07 17:00:00,0.0,7.0 +18247,2023-05-07 17:10:00,0.0,7.0 +18248,2023-05-07 17:20:00,0.0,7.0 +18249,2023-05-07 17:30:00,0.0,7.0 +18250,2023-05-07 17:40:00,0.0,7.0 +18251,2023-05-07 17:50:00,0.0,7.0 +18252,2023-05-07 18:00:00,0.0,7.0 +18253,2023-05-07 18:10:00,0.0,7.0 +18254,2023-05-07 18:20:00,0.0,7.0 +18255,2023-05-07 18:30:00,0.0,7.0 +18256,2023-05-07 18:40:00,0.0,7.0 +18257,2023-05-07 18:50:00,0.0,7.0 +18270,2023-05-07 21:00:00,0.0,5.0 +18271,2023-05-07 21:10:00,0.0,5.0 +18272,2023-05-07 21:20:00,0.0,5.0 +18273,2023-05-07 21:30:00,0.0,5.0 +18274,2023-05-07 21:40:00,0.0,5.0 +18275,2023-05-07 21:50:00,0.0,5.0 +18288,2023-05-08 00:00:00,0.0,5.0 +18289,2023-05-08 00:10:00,0.0,5.0 +18290,2023-05-08 00:20:00,0.0,5.0 +18291,2023-05-08 00:30:00,0.0,5.0 +18292,2023-05-08 00:40:00,0.0,5.0 +18293,2023-05-08 00:50:00,0.0,5.0 +18294,2023-05-08 01:00:00,0.0,5.0 +18295,2023-05-08 01:10:00,0.0,5.0 +18296,2023-05-08 01:20:00,0.0,5.0 +18297,2023-05-08 01:30:00,0.0,5.0 +18298,2023-05-08 01:40:00,0.0,5.0 +18299,2023-05-08 01:50:00,0.0,5.0 +18300,2023-05-08 02:00:00,0.0,5.0 +18301,2023-05-08 02:10:00,0.0,5.0 +18302,2023-05-08 02:20:00,0.0,5.0 +18303,2023-05-08 02:30:00,0.0,5.0 +18304,2023-05-08 02:40:00,0.0,5.0 +18305,2023-05-08 02:50:00,0.0,5.0 +18318,2023-05-08 05:00:00,0.0,5.0 +18319,2023-05-08 05:10:00,0.0,5.0 +18320,2023-05-08 05:20:00,0.0,5.0 +18321,2023-05-08 05:30:00,0.0,5.0 +18322,2023-05-08 05:40:00,0.0,5.0 +18323,2023-05-08 05:50:00,0.0,5.0 +18336,2023-05-08 08:00:00,0.0,5.0 +18337,2023-05-08 08:10:00,0.0,5.0 +18338,2023-05-08 08:20:00,0.0,5.0 +18339,2023-05-08 08:30:00,0.0,5.0 +18340,2023-05-08 08:40:00,0.0,5.0 +18341,2023-05-08 08:50:00,0.0,5.0 +18354,2023-05-08 11:00:00,0.0,5.0 +18355,2023-05-08 11:10:00,0.0,5.0 +18356,2023-05-08 11:20:00,0.0,5.0 +18357,2023-05-08 11:30:00,0.0,5.0 +18358,2023-05-08 11:40:00,0.0,5.0 +18359,2023-05-08 11:50:00,0.0,5.0 +18360,2023-05-08 12:00:00,0.0,9.0 +18361,2023-05-08 12:10:00,0.0,9.0 +18362,2023-05-08 12:20:00,0.0,9.0 +18363,2023-05-08 12:30:00,0.0,9.0 +18364,2023-05-08 12:40:00,0.0,9.0 +18365,2023-05-08 12:50:00,0.0,9.0 +18372,2023-05-08 14:00:00,0.0,7.0 +18373,2023-05-08 14:10:00,0.0,7.0 +18374,2023-05-08 14:20:00,0.0,7.0 +18375,2023-05-08 14:30:00,0.0,7.0 +18376,2023-05-08 14:40:00,0.0,7.0 +18377,2023-05-08 14:50:00,0.0,7.0 +18378,2023-05-08 15:00:00,0.0,9.0 +18379,2023-05-08 15:10:00,0.0,9.0 +18380,2023-05-08 15:20:00,0.0,9.0 +18381,2023-05-08 15:30:00,0.0,9.0 +18382,2023-05-08 15:40:00,0.0,9.0 +18383,2023-05-08 15:50:00,0.0,9.0 +18396,2023-05-08 18:00:00,0.0,7.0 +18397,2023-05-08 18:10:00,0.0,7.0 +18398,2023-05-08 18:20:00,0.0,7.0 +18399,2023-05-08 18:30:00,0.0,7.0 +18400,2023-05-08 18:40:00,0.0,7.0 +18401,2023-05-08 18:50:00,0.0,7.0 +18402,2023-05-08 19:00:00,0.0,5.0 +18403,2023-05-08 19:10:00,0.0,5.0 +18404,2023-05-08 19:20:00,0.0,5.0 +18405,2023-05-08 19:30:00,0.0,5.0 +18406,2023-05-08 19:40:00,0.0,5.0 +18407,2023-05-08 19:50:00,0.0,5.0 +18426,2023-05-08 23:00:00,0.0,5.0 +18427,2023-05-08 23:10:00,0.0,5.0 +18428,2023-05-08 23:20:00,0.0,5.0 +18429,2023-05-08 23:30:00,0.0,5.0 +18430,2023-05-08 23:40:00,0.0,5.0 +18431,2023-05-08 23:50:00,0.0,5.0 +18438,2023-05-09 01:00:00,0.0,5.0 +18439,2023-05-09 01:10:00,0.0,5.0 +18440,2023-05-09 01:20:00,0.0,5.0 +18441,2023-05-09 01:30:00,0.0,5.0 +18442,2023-05-09 01:40:00,0.0,5.0 +18443,2023-05-09 01:50:00,0.0,5.0 +18450,2023-05-09 03:00:00,0.0,5.0 +18451,2023-05-09 03:10:00,0.0,5.0 +18452,2023-05-09 03:20:00,0.0,5.0 +18453,2023-05-09 03:30:00,0.0,5.0 +18454,2023-05-09 03:40:00,0.0,5.0 +18455,2023-05-09 03:50:00,0.0,5.0 +18456,2023-05-09 04:00:00,0.0,5.0 +18457,2023-05-09 04:10:00,0.0,5.0 +18458,2023-05-09 04:20:00,0.0,5.0 +18459,2023-05-09 04:30:00,0.0,5.0 +18460,2023-05-09 04:40:00,0.0,5.0 +18461,2023-05-09 04:50:00,0.0,5.0 +18474,2023-05-09 07:00:00,0.0,6.0 +18475,2023-05-09 07:10:00,0.0,6.0 +18476,2023-05-09 07:20:00,0.0,6.0 +18477,2023-05-09 07:30:00,0.0,6.0 +18478,2023-05-09 07:40:00,0.0,6.0 +18479,2023-05-09 07:50:00,0.0,6.0 +18480,2023-05-09 08:00:00,0.0,6.0 +18481,2023-05-09 08:10:00,0.0,6.0 +18482,2023-05-09 08:20:00,0.0,6.0 +18483,2023-05-09 08:30:00,0.0,6.0 +18484,2023-05-09 08:40:00,0.0,6.0 +18485,2023-05-09 08:50:00,0.0,6.0 +18504,2023-05-09 12:00:00,0.0,6.0 +18505,2023-05-09 12:10:00,0.0,6.0 +18506,2023-05-09 12:20:00,0.0,6.0 +18507,2023-05-09 12:30:00,0.0,6.0 +18508,2023-05-09 12:40:00,0.0,6.0 +18509,2023-05-09 12:50:00,0.0,6.0 +18540,2023-05-09 18:00:00,0.0,6.0 +18541,2023-05-09 18:10:00,0.0,6.0 +18542,2023-05-09 18:20:00,0.0,6.0 +18543,2023-05-09 18:30:00,0.0,6.0 +18544,2023-05-09 18:40:00,0.0,6.0 +18545,2023-05-09 18:50:00,0.0,6.0 +18546,2023-05-09 19:00:00,0.0,6.0 +18547,2023-05-09 19:10:00,0.0,6.0 +18548,2023-05-09 19:20:00,0.0,6.0 +18549,2023-05-09 19:30:00,0.0,6.0 +18550,2023-05-09 19:40:00,0.0,6.0 +18551,2023-05-09 19:50:00,0.0,6.0 +18552,2023-05-09 20:00:00,0.0,5.0 +18553,2023-05-09 20:10:00,0.0,5.0 +18554,2023-05-09 20:20:00,0.0,5.0 +18555,2023-05-09 20:30:00,0.0,5.0 +18556,2023-05-09 20:40:00,0.0,5.0 +18557,2023-05-09 20:50:00,0.0,5.0 +18558,2023-05-09 21:00:00,0.0,5.0 +18559,2023-05-09 21:10:00,0.0,5.0 +18560,2023-05-09 21:20:00,0.0,5.0 +18561,2023-05-09 21:30:00,0.0,5.0 +18562,2023-05-09 21:40:00,0.0,5.0 +18563,2023-05-09 21:50:00,0.0,5.0 +18564,2023-05-09 22:00:00,0.0,5.0 +18565,2023-05-09 22:10:00,0.0,5.0 +18566,2023-05-09 22:20:00,0.0,5.0 +18567,2023-05-09 22:30:00,0.0,5.0 +18568,2023-05-09 22:40:00,0.0,5.0 +18569,2023-05-09 22:50:00,0.0,5.0 +18582,2023-05-10 01:00:00,0.0,5.0 +18583,2023-05-10 01:10:00,0.0,5.0 +18584,2023-05-10 01:20:00,0.0,5.0 +18585,2023-05-10 01:30:00,0.0,5.0 +18586,2023-05-10 01:40:00,0.0,5.0 +18587,2023-05-10 01:50:00,0.0,5.0 +18588,2023-05-10 02:00:00,0.0,5.0 +18589,2023-05-10 02:10:00,0.0,5.0 +18590,2023-05-10 02:20:00,0.0,5.0 +18591,2023-05-10 02:30:00,0.0,5.0 +18592,2023-05-10 02:40:00,0.0,5.0 +18593,2023-05-10 02:50:00,0.0,5.0 +18600,2023-05-10 04:00:00,0.0,5.0 +18601,2023-05-10 04:10:00,0.0,5.0 +18602,2023-05-10 04:20:00,0.0,5.0 +18603,2023-05-10 04:30:00,0.0,5.0 +18604,2023-05-10 04:40:00,0.0,5.0 +18605,2023-05-10 04:50:00,0.0,5.0 +18606,2023-05-10 05:00:00,0.0,6.0 +18607,2023-05-10 05:10:00,0.0,6.0 +18608,2023-05-10 05:20:00,0.0,6.0 +18609,2023-05-10 05:30:00,0.0,6.0 +18610,2023-05-10 05:40:00,0.0,6.0 +18611,2023-05-10 05:50:00,0.0,6.0 +18612,2023-05-10 06:00:00,0.0,5.0 +18613,2023-05-10 06:10:00,0.0,5.0 +18614,2023-05-10 06:20:00,0.0,5.0 +18615,2023-05-10 06:30:00,0.0,5.0 +18616,2023-05-10 06:40:00,0.0,5.0 +18617,2023-05-10 06:50:00,0.0,5.0 +18618,2023-05-10 07:00:00,0.0,6.0 +18619,2023-05-10 07:10:00,0.0,6.0 +18620,2023-05-10 07:20:00,0.0,6.0 +18621,2023-05-10 07:30:00,0.0,6.0 +18622,2023-05-10 07:40:00,0.0,6.0 +18623,2023-05-10 07:50:00,0.0,6.0 +18624,2023-05-10 08:00:00,0.0,5.0 +18625,2023-05-10 08:10:00,0.0,5.0 +18626,2023-05-10 08:20:00,0.0,5.0 +18627,2023-05-10 08:30:00,0.0,5.0 +18628,2023-05-10 08:40:00,0.0,5.0 +18629,2023-05-10 08:50:00,0.0,5.0 +18636,2023-05-10 10:00:00,0.0,5.0 +18637,2023-05-10 10:10:00,0.0,5.0 +18638,2023-05-10 10:20:00,0.0,5.0 +18639,2023-05-10 10:30:00,0.0,5.0 +18640,2023-05-10 10:40:00,0.0,5.0 +18641,2023-05-10 10:50:00,0.0,5.0 +18642,2023-05-10 11:00:00,0.0,8.0 +18643,2023-05-10 11:10:00,0.0,8.0 +18644,2023-05-10 11:20:00,0.0,8.0 +18645,2023-05-10 11:30:00,0.0,8.0 +18646,2023-05-10 11:40:00,0.0,8.0 +18647,2023-05-10 11:50:00,0.0,8.0 +18654,2023-05-10 13:00:00,0.0,7.0 +18655,2023-05-10 13:10:00,0.0,7.0 +18656,2023-05-10 13:20:00,0.0,7.0 +18657,2023-05-10 13:30:00,0.0,7.0 +18658,2023-05-10 13:40:00,0.0,7.0 +18659,2023-05-10 13:50:00,0.0,7.0 +18660,2023-05-10 14:00:00,0.0,7.0 +18661,2023-05-10 14:10:00,0.0,7.0 +18662,2023-05-10 14:20:00,0.0,7.0 +18663,2023-05-10 14:30:00,0.0,7.0 +18664,2023-05-10 14:40:00,0.0,7.0 +18665,2023-05-10 14:50:00,0.0,7.0 +18684,2023-05-10 18:00:00,0.0,5.0 +18685,2023-05-10 18:10:00,0.0,5.0 +18686,2023-05-10 18:20:00,0.0,5.0 +18687,2023-05-10 18:30:00,0.0,5.0 +18688,2023-05-10 18:40:00,0.0,5.0 +18689,2023-05-10 18:50:00,0.0,5.0 +18708,2023-05-10 22:00:00,0.0,5.0 +18709,2023-05-10 22:10:00,0.0,5.0 +18710,2023-05-10 22:20:00,0.0,5.0 +18711,2023-05-10 22:30:00,0.0,5.0 +18712,2023-05-10 22:40:00,0.0,5.0 +18713,2023-05-10 22:50:00,0.0,5.0 +18714,2023-05-10 23:00:00,0.0,6.0 +18715,2023-05-10 23:10:00,0.0,6.0 +18716,2023-05-10 23:20:00,0.0,6.0 +18717,2023-05-10 23:30:00,0.0,6.0 +18718,2023-05-10 23:40:00,0.0,6.0 +18719,2023-05-10 23:50:00,0.0,6.0 +18720,2023-05-11 00:00:00,0.0,5.0 +18721,2023-05-11 00:10:00,0.0,5.0 +18722,2023-05-11 00:20:00,0.0,5.0 +18723,2023-05-11 00:30:00,0.0,5.0 +18724,2023-05-11 00:40:00,0.0,5.0 +18725,2023-05-11 00:50:00,0.0,5.0 +18738,2023-05-11 03:00:00,0.0,3.0 +18739,2023-05-11 03:10:00,0.0,3.0 +18740,2023-05-11 03:20:00,0.0,3.0 +18741,2023-05-11 03:30:00,0.0,3.0 +18742,2023-05-11 03:40:00,0.0,3.0 +18743,2023-05-11 03:50:00,0.0,3.0 +18756,2023-05-11 06:00:00,0.0,5.0 +18757,2023-05-11 06:10:00,0.0,5.0 +18758,2023-05-11 06:20:00,0.0,5.0 +18759,2023-05-11 06:30:00,0.0,5.0 +18760,2023-05-11 06:40:00,0.0,5.0 +18761,2023-05-11 06:50:00,0.0,5.0 +18762,2023-05-11 07:00:00,0.0,6.0 +18763,2023-05-11 07:10:00,0.0,6.0 +18764,2023-05-11 07:20:00,0.0,6.0 +18765,2023-05-11 07:30:00,0.0,6.0 +18766,2023-05-11 07:40:00,0.0,6.0 +18767,2023-05-11 07:50:00,0.0,6.0 +18768,2023-05-11 08:00:00,0.0,5.0 +18769,2023-05-11 08:10:00,0.0,5.0 +18770,2023-05-11 08:20:00,0.0,5.0 +18771,2023-05-11 08:30:00,0.0,5.0 +18772,2023-05-11 08:40:00,0.0,5.0 +18773,2023-05-11 08:50:00,0.0,5.0 +18774,2023-05-11 09:00:00,0.0,6.0 +18775,2023-05-11 09:10:00,0.0,6.0 +18776,2023-05-11 09:20:00,0.0,6.0 +18777,2023-05-11 09:30:00,0.0,6.0 +18778,2023-05-11 09:40:00,0.0,6.0 +18779,2023-05-11 09:50:00,0.0,6.0 +18780,2023-05-11 10:00:00,0.0,7.0 +18781,2023-05-11 10:10:00,0.0,7.0 +18782,2023-05-11 10:20:00,0.0,7.0 +18783,2023-05-11 10:30:00,0.0,7.0 +18784,2023-05-11 10:40:00,0.0,7.0 +18785,2023-05-11 10:50:00,0.0,7.0 +18798,2023-05-11 13:00:00,0.0,7.0 +18799,2023-05-11 13:10:00,0.0,7.0 +18800,2023-05-11 13:20:00,0.0,7.0 +18801,2023-05-11 13:30:00,0.0,7.0 +18802,2023-05-11 13:40:00,0.0,7.0 +18803,2023-05-11 13:50:00,0.0,7.0 +18810,2023-05-11 15:00:00,0.0,5.0 +18811,2023-05-11 15:10:00,0.0,5.0 +18812,2023-05-11 15:20:00,0.0,5.0 +18813,2023-05-11 15:30:00,0.0,5.0 +18814,2023-05-11 15:40:00,0.0,5.0 +18815,2023-05-11 15:50:00,0.0,5.0 +18816,2023-05-11 16:00:00,0.0,7.0 +18817,2023-05-11 16:10:00,0.0,7.0 +18818,2023-05-11 16:20:00,0.0,7.0 +18819,2023-05-11 16:30:00,0.0,7.0 +18820,2023-05-11 16:40:00,0.0,7.0 +18821,2023-05-11 16:50:00,0.0,7.0 +18822,2023-05-11 17:00:00,0.0,6.0 +18823,2023-05-11 17:10:00,0.0,6.0 +18824,2023-05-11 17:20:00,0.0,6.0 +18825,2023-05-11 17:30:00,0.0,6.0 +18826,2023-05-11 17:40:00,0.0,6.0 +18827,2023-05-11 17:50:00,0.0,6.0 +18834,2023-05-11 19:00:00,0.0,6.0 +18835,2023-05-11 19:10:00,0.0,6.0 +18836,2023-05-11 19:20:00,0.0,6.0 +18837,2023-05-11 19:30:00,0.0,6.0 +18838,2023-05-11 19:40:00,0.0,6.0 +18839,2023-05-11 19:50:00,0.0,6.0 +18852,2023-05-11 22:00:00,0.0,5.0 +18853,2023-05-11 22:10:00,0.0,5.0 +18854,2023-05-11 22:20:00,0.0,5.0 +18855,2023-05-11 22:30:00,0.0,5.0 +18856,2023-05-11 22:40:00,0.0,5.0 +18857,2023-05-11 22:50:00,0.0,5.0 +18858,2023-05-11 23:00:00,0.0,6.0 +18859,2023-05-11 23:10:00,0.0,6.0 +18860,2023-05-11 23:20:00,0.0,6.0 +18861,2023-05-11 23:30:00,0.0,6.0 +18862,2023-05-11 23:40:00,0.0,6.0 +18863,2023-05-11 23:50:00,0.0,6.0 +18864,2023-05-12 00:00:00,0.0,6.0 +18865,2023-05-12 00:10:00,0.0,6.0 +18866,2023-05-12 00:20:00,0.0,6.0 +18867,2023-05-12 00:30:00,0.0,6.0 +18868,2023-05-12 00:40:00,0.0,6.0 +18869,2023-05-12 00:50:00,0.0,6.0 +18870,2023-05-12 01:00:00,0.0,6.0 +18871,2023-05-12 01:10:00,0.0,6.0 +18872,2023-05-12 01:20:00,0.0,6.0 +18873,2023-05-12 01:30:00,0.0,6.0 +18874,2023-05-12 01:40:00,0.0,6.0 +18875,2023-05-12 01:50:00,0.0,6.0 +18882,2023-05-12 03:00:00,0.0,6.0 +18883,2023-05-12 03:10:00,0.0,6.0 +18884,2023-05-12 03:20:00,0.0,6.0 +18885,2023-05-12 03:30:00,0.0,6.0 +18886,2023-05-12 03:40:00,0.0,6.0 +18887,2023-05-12 03:50:00,0.0,6.0 +18894,2023-05-12 05:00:00,0.0,5.0 +18895,2023-05-12 05:10:00,0.0,5.0 +18896,2023-05-12 05:20:00,0.0,5.0 +18897,2023-05-12 05:30:00,0.0,5.0 +18898,2023-05-12 05:40:00,0.0,5.0 +18899,2023-05-12 05:50:00,0.0,5.0 +18906,2023-05-12 07:00:00,0.0,5.0 +18907,2023-05-12 07:10:00,0.0,5.0 +18908,2023-05-12 07:20:00,0.0,5.0 +18909,2023-05-12 07:30:00,0.0,5.0 +18910,2023-05-12 07:40:00,0.0,5.0 +18911,2023-05-12 07:50:00,0.0,5.0 +18924,2023-05-12 10:00:00,0.0,5.0 +18925,2023-05-12 10:10:00,0.0,5.0 +18926,2023-05-12 10:20:00,0.0,5.0 +18927,2023-05-12 10:30:00,0.0,5.0 +18928,2023-05-12 10:40:00,0.0,5.0 +18929,2023-05-12 10:50:00,0.0,5.0 +18942,2023-05-12 13:00:00,0.0,9.0 +18943,2023-05-12 13:10:00,0.0,9.0 +18944,2023-05-12 13:20:00,0.0,9.0 +18945,2023-05-12 13:30:00,0.0,9.0 +18946,2023-05-12 13:40:00,0.0,9.0 +18947,2023-05-12 13:50:00,0.0,9.0 +18960,2023-05-12 16:00:00,0.0,8.0 +18961,2023-05-12 16:10:00,0.0,8.0 +18962,2023-05-12 16:20:00,0.0,8.0 +18963,2023-05-12 16:30:00,0.0,8.0 +18964,2023-05-12 16:40:00,0.0,8.0 +18965,2023-05-12 16:50:00,0.0,8.0 +18966,2023-05-12 17:00:00,0.0,7.0 +18967,2023-05-12 17:10:00,0.0,7.0 +18968,2023-05-12 17:20:00,0.0,7.0 +18969,2023-05-12 17:30:00,0.0,7.0 +18970,2023-05-12 17:40:00,0.0,7.0 +18971,2023-05-12 17:50:00,0.0,7.0 +18978,2023-05-12 19:00:00,0.0,7.0 +18979,2023-05-12 19:10:00,0.0,7.0 +18980,2023-05-12 19:20:00,0.0,7.0 +18981,2023-05-12 19:30:00,0.0,7.0 +18982,2023-05-12 19:40:00,0.0,7.0 +18983,2023-05-12 19:50:00,0.0,7.0 +18984,2023-05-12 20:00:00,0.0,5.0 +18985,2023-05-12 20:10:00,0.0,5.0 +18986,2023-05-12 20:20:00,0.0,5.0 +18987,2023-05-12 20:30:00,0.0,5.0 +18988,2023-05-12 20:40:00,0.0,5.0 +18989,2023-05-12 20:50:00,0.0,5.0 +18996,2023-05-12 22:00:00,0.0,5.0 +18997,2023-05-12 22:10:00,0.0,5.0 +18998,2023-05-12 22:20:00,0.0,5.0 +18999,2023-05-12 22:30:00,0.0,5.0 +19000,2023-05-12 22:40:00,0.0,5.0 +19001,2023-05-12 22:50:00,0.0,5.0 +19002,2023-05-12 23:00:00,0.0,5.0 +19003,2023-05-12 23:10:00,0.0,5.0 +19004,2023-05-12 23:20:00,0.0,5.0 +19005,2023-05-12 23:30:00,0.0,5.0 +19006,2023-05-12 23:40:00,0.0,5.0 +19007,2023-05-12 23:50:00,0.0,5.0 +19014,2023-05-13 01:00:00,0.0,5.0 +19015,2023-05-13 01:10:00,0.0,5.0 +19016,2023-05-13 01:20:00,0.0,5.0 +19017,2023-05-13 01:30:00,0.0,5.0 +19018,2023-05-13 01:40:00,0.0,5.0 +19019,2023-05-13 01:50:00,0.0,5.0 +19026,2023-05-13 03:00:00,0.0,3.0 +19027,2023-05-13 03:10:00,0.0,3.0 +19028,2023-05-13 03:20:00,0.0,3.0 +19029,2023-05-13 03:30:00,0.0,3.0 +19030,2023-05-13 03:40:00,0.0,3.0 +19031,2023-05-13 03:50:00,0.0,3.0 +19038,2023-05-13 05:00:00,0.0,5.0 +19039,2023-05-13 05:10:00,0.0,5.0 +19040,2023-05-13 05:20:00,0.0,5.0 +19041,2023-05-13 05:30:00,0.0,5.0 +19042,2023-05-13 05:40:00,0.0,5.0 +19043,2023-05-13 05:50:00,0.0,5.0 +19044,2023-05-13 06:00:00,0.0,7.0 +19045,2023-05-13 06:10:00,0.0,7.0 +19046,2023-05-13 06:20:00,0.0,7.0 +19047,2023-05-13 06:30:00,0.0,7.0 +19048,2023-05-13 06:40:00,0.0,7.0 +19049,2023-05-13 06:50:00,0.0,7.0 +19050,2023-05-13 07:00:00,0.0,7.0 +19051,2023-05-13 07:10:00,0.0,7.0 +19052,2023-05-13 07:20:00,0.0,7.0 +19053,2023-05-13 07:30:00,0.0,7.0 +19054,2023-05-13 07:40:00,0.0,7.0 +19055,2023-05-13 07:50:00,0.0,7.0 +19080,2023-05-13 12:00:00,0.0,9.0 +19081,2023-05-13 12:10:00,0.0,9.0 +19082,2023-05-13 12:20:00,0.0,9.0 +19083,2023-05-13 12:30:00,0.0,9.0 +19084,2023-05-13 12:40:00,0.0,9.0 +19085,2023-05-13 12:50:00,0.0,9.0 +19104,2023-05-13 16:00:00,0.0,9.0 +19105,2023-05-13 16:10:00,0.0,9.0 +19106,2023-05-13 16:20:00,0.0,9.0 +19107,2023-05-13 16:30:00,0.0,9.0 +19108,2023-05-13 16:40:00,0.0,9.0 +19109,2023-05-13 16:50:00,0.0,9.0 +19110,2023-05-13 17:00:00,0.0,7.0 +19111,2023-05-13 17:10:00,0.0,7.0 +19112,2023-05-13 17:20:00,0.0,7.0 +19113,2023-05-13 17:30:00,0.0,7.0 +19114,2023-05-13 17:40:00,0.0,7.0 +19115,2023-05-13 17:50:00,0.0,7.0 +19116,2023-05-13 18:00:00,0.0,5.0 +19117,2023-05-13 18:10:00,0.0,5.0 +19118,2023-05-13 18:20:00,0.0,5.0 +19119,2023-05-13 18:30:00,0.0,5.0 +19120,2023-05-13 18:40:00,0.0,5.0 +19121,2023-05-13 18:50:00,0.0,5.0 +19122,2023-05-13 19:00:00,0.0,5.0 +19123,2023-05-13 19:10:00,0.0,5.0 +19124,2023-05-13 19:20:00,0.0,5.0 +19125,2023-05-13 19:30:00,0.0,5.0 +19126,2023-05-13 19:40:00,0.0,5.0 +19127,2023-05-13 19:50:00,0.0,5.0 +19128,2023-05-13 20:00:00,0.0,5.0 +19129,2023-05-13 20:10:00,0.0,5.0 +19130,2023-05-13 20:20:00,0.0,5.0 +19131,2023-05-13 20:30:00,0.0,5.0 +19132,2023-05-13 20:40:00,0.0,5.0 +19133,2023-05-13 20:50:00,0.0,5.0 +19134,2023-05-13 21:00:00,0.0,5.0 +19135,2023-05-13 21:10:00,0.0,5.0 +19136,2023-05-13 21:20:00,0.0,5.0 +19137,2023-05-13 21:30:00,0.0,5.0 +19138,2023-05-13 21:40:00,0.0,5.0 +19139,2023-05-13 21:50:00,0.0,5.0 +19140,2023-05-13 22:00:00,0.0,5.0 +19141,2023-05-13 22:10:00,0.0,5.0 +19142,2023-05-13 22:20:00,0.0,5.0 +19143,2023-05-13 22:30:00,0.0,5.0 +19144,2023-05-13 22:40:00,0.0,5.0 +19145,2023-05-13 22:50:00,0.0,5.0 +19146,2023-05-13 23:00:00,0.0,5.0 +19147,2023-05-13 23:10:00,0.0,5.0 +19148,2023-05-13 23:20:00,0.0,5.0 +19149,2023-05-13 23:30:00,0.0,5.0 +19150,2023-05-13 23:40:00,0.0,5.0 +19151,2023-05-13 23:50:00,0.0,5.0 +19152,2023-05-14 00:00:00,0.0,5.0 +19153,2023-05-14 00:10:00,0.0,5.0 +19154,2023-05-14 00:20:00,0.0,5.0 +19155,2023-05-14 00:30:00,0.0,5.0 +19156,2023-05-14 00:40:00,0.0,5.0 +19157,2023-05-14 00:50:00,0.0,5.0 +19158,2023-05-14 01:00:00,0.0,5.0 +19159,2023-05-14 01:10:00,0.0,5.0 +19160,2023-05-14 01:20:00,0.0,5.0 +19161,2023-05-14 01:30:00,0.0,5.0 +19162,2023-05-14 01:40:00,0.0,5.0 +19163,2023-05-14 01:50:00,0.0,5.0 +19170,2023-05-14 03:00:00,0.0,3.0 +19171,2023-05-14 03:10:00,0.0,3.0 +19172,2023-05-14 03:20:00,0.0,3.0 +19173,2023-05-14 03:30:00,0.0,3.0 +19174,2023-05-14 03:40:00,0.0,3.0 +19175,2023-05-14 03:50:00,0.0,3.0 +19176,2023-05-14 04:00:00,0.0,5.0 +19177,2023-05-14 04:10:00,0.0,5.0 +19178,2023-05-14 04:20:00,0.0,5.0 +19179,2023-05-14 04:30:00,0.0,5.0 +19180,2023-05-14 04:40:00,0.0,5.0 +19181,2023-05-14 04:50:00,0.0,5.0 +19182,2023-05-14 05:00:00,0.0,5.0 +19183,2023-05-14 05:10:00,0.0,5.0 +19184,2023-05-14 05:20:00,0.0,5.0 +19185,2023-05-14 05:30:00,0.0,5.0 +19186,2023-05-14 05:40:00,0.0,5.0 +19187,2023-05-14 05:50:00,0.0,5.0 +19194,2023-05-14 07:00:00,0.0,5.0 +19195,2023-05-14 07:10:00,0.0,5.0 +19196,2023-05-14 07:20:00,0.0,5.0 +19197,2023-05-14 07:30:00,0.0,5.0 +19198,2023-05-14 07:40:00,0.0,5.0 +19199,2023-05-14 07:50:00,0.0,5.0 +19206,2023-05-14 09:00:00,0.0,7.0 +19207,2023-05-14 09:10:00,0.0,7.0 +19208,2023-05-14 09:20:00,0.0,7.0 +19209,2023-05-14 09:30:00,0.0,7.0 +19210,2023-05-14 09:40:00,0.0,7.0 +19211,2023-05-14 09:50:00,0.0,7.0 +19218,2023-05-14 11:00:00,0.0,9.0 +19219,2023-05-14 11:10:00,0.0,9.0 +19220,2023-05-14 11:20:00,0.0,9.0 +19221,2023-05-14 11:30:00,0.0,9.0 +19222,2023-05-14 11:40:00,0.0,9.0 +19223,2023-05-14 11:50:00,0.0,9.0 +19224,2023-05-14 12:00:00,0.0,9.0 +19225,2023-05-14 12:10:00,0.0,9.0 +19226,2023-05-14 12:20:00,0.0,9.0 +19227,2023-05-14 12:30:00,0.0,9.0 +19228,2023-05-14 12:40:00,0.0,9.0 +19229,2023-05-14 12:50:00,0.0,9.0 +19230,2023-05-14 13:00:00,0.0,7.0 +19231,2023-05-14 13:10:00,0.0,7.0 +19232,2023-05-14 13:20:00,0.0,7.0 +19233,2023-05-14 13:30:00,0.0,7.0 +19234,2023-05-14 13:40:00,0.0,7.0 +19235,2023-05-14 13:50:00,0.0,7.0 +19236,2023-05-14 14:00:00,0.0,7.0 +19237,2023-05-14 14:10:00,0.0,7.0 +19238,2023-05-14 14:20:00,0.0,7.0 +19239,2023-05-14 14:30:00,0.0,7.0 +19240,2023-05-14 14:40:00,0.0,7.0 +19241,2023-05-14 14:50:00,0.0,7.0 +19242,2023-05-14 15:00:00,0.0,7.0 +19243,2023-05-14 15:10:00,0.0,7.0 +19244,2023-05-14 15:20:00,0.0,7.0 +19245,2023-05-14 15:30:00,0.0,7.0 +19246,2023-05-14 15:40:00,0.0,7.0 +19247,2023-05-14 15:50:00,0.0,7.0 +19248,2023-05-14 16:00:00,0.0,7.0 +19249,2023-05-14 16:10:00,0.0,7.0 +19250,2023-05-14 16:20:00,0.0,7.0 +19251,2023-05-14 16:30:00,0.0,7.0 +19252,2023-05-14 16:40:00,0.0,7.0 +19253,2023-05-14 16:50:00,0.0,7.0 +19254,2023-05-14 17:00:00,0.0,5.0 +19255,2023-05-14 17:10:00,0.0,5.0 +19256,2023-05-14 17:20:00,0.0,5.0 +19257,2023-05-14 17:30:00,0.0,5.0 +19258,2023-05-14 17:40:00,0.0,5.0 +19259,2023-05-14 17:50:00,0.0,5.0 +19260,2023-05-14 18:00:00,0.0,5.0 +19261,2023-05-14 18:10:00,0.0,5.0 +19262,2023-05-14 18:20:00,0.0,5.0 +19263,2023-05-14 18:30:00,0.0,5.0 +19264,2023-05-14 18:40:00,0.0,5.0 +19265,2023-05-14 18:50:00,0.0,5.0 +19266,2023-05-14 19:00:00,0.0,5.0 +19267,2023-05-14 19:10:00,0.0,5.0 +19268,2023-05-14 19:20:00,0.0,5.0 +19269,2023-05-14 19:30:00,0.0,5.0 +19270,2023-05-14 19:40:00,0.0,5.0 +19271,2023-05-14 19:50:00,0.0,5.0 +19290,2023-05-14 23:00:00,0.0,3.0 +19291,2023-05-14 23:10:00,0.0,3.0 +19292,2023-05-14 23:20:00,0.0,3.0 +19293,2023-05-14 23:30:00,0.0,3.0 +19294,2023-05-14 23:40:00,0.0,3.0 +19295,2023-05-14 23:50:00,0.0,3.0 +19332,2023-05-15 06:00:00,0.0,5.0 +19333,2023-05-15 06:10:00,0.0,5.0 +19334,2023-05-15 06:20:00,0.0,5.0 +19335,2023-05-15 06:30:00,0.0,5.0 +19336,2023-05-15 06:40:00,0.0,5.0 +19337,2023-05-15 06:50:00,0.0,5.0 +19338,2023-05-15 07:00:00,0.0,5.0 +19339,2023-05-15 07:10:00,0.0,5.0 +19340,2023-05-15 07:20:00,0.0,5.0 +19341,2023-05-15 07:30:00,0.0,5.0 +19342,2023-05-15 07:40:00,0.0,5.0 +19343,2023-05-15 07:50:00,0.0,5.0 +19350,2023-05-15 09:00:00,0.0,5.0 +19351,2023-05-15 09:10:00,0.0,5.0 +19352,2023-05-15 09:20:00,0.0,5.0 +19353,2023-05-15 09:30:00,0.0,5.0 +19354,2023-05-15 09:40:00,0.0,5.0 +19355,2023-05-15 09:50:00,0.0,5.0 +19380,2023-05-15 14:00:00,0.0,7.0 +19381,2023-05-15 14:10:00,0.0,7.0 +19382,2023-05-15 14:20:00,0.0,7.0 +19383,2023-05-15 14:30:00,0.0,7.0 +19384,2023-05-15 14:40:00,0.0,7.0 +19385,2023-05-15 14:50:00,0.0,7.0 +19410,2023-05-15 19:00:00,0.0,5.0 +19411,2023-05-15 19:10:00,0.0,5.0 +19412,2023-05-15 19:20:00,0.0,5.0 +19413,2023-05-15 19:30:00,0.0,5.0 +19414,2023-05-15 19:40:00,0.0,5.0 +19415,2023-05-15 19:50:00,0.0,5.0 +19416,2023-05-15 20:00:00,0.0,6.0 +19417,2023-05-15 20:10:00,0.0,6.0 +19418,2023-05-15 20:20:00,0.0,6.0 +19419,2023-05-15 20:30:00,0.0,6.0 +19420,2023-05-15 20:40:00,0.0,6.0 +19421,2023-05-15 20:50:00,0.0,6.0 +19434,2023-05-15 23:00:00,0.0,3.0 +19435,2023-05-15 23:10:00,0.0,3.0 +19436,2023-05-15 23:20:00,0.0,3.0 +19437,2023-05-15 23:30:00,0.0,3.0 +19438,2023-05-15 23:40:00,0.0,3.0 +19439,2023-05-15 23:50:00,0.0,3.0 +19440,2023-05-16 00:00:00,0.0,3.0 +19441,2023-05-16 00:10:00,0.0,3.0 +19442,2023-05-16 00:20:00,0.0,3.0 +19443,2023-05-16 00:30:00,0.0,3.0 +19444,2023-05-16 00:40:00,0.0,3.0 +19445,2023-05-16 00:50:00,0.0,3.0 +19452,2023-05-16 02:00:00,0.0,3.0 +19453,2023-05-16 02:10:00,0.0,3.0 +19454,2023-05-16 02:20:00,0.0,3.0 +19455,2023-05-16 02:30:00,0.0,3.0 +19456,2023-05-16 02:40:00,0.0,3.0 +19457,2023-05-16 02:50:00,0.0,3.0 +19464,2023-05-16 04:00:00,0.0,3.0 +19465,2023-05-16 04:10:00,0.0,3.0 +19466,2023-05-16 04:20:00,0.0,3.0 +19467,2023-05-16 04:30:00,0.0,3.0 +19468,2023-05-16 04:40:00,0.0,3.0 +19469,2023-05-16 04:50:00,0.0,3.0 +19470,2023-05-16 05:00:00,0.0,5.0 +19471,2023-05-16 05:10:00,0.0,5.0 +19472,2023-05-16 05:20:00,0.0,5.0 +19473,2023-05-16 05:30:00,0.0,5.0 +19474,2023-05-16 05:40:00,0.0,5.0 +19475,2023-05-16 05:50:00,0.0,5.0 +19488,2023-05-16 08:00:00,0.0,5.0 +19489,2023-05-16 08:10:00,0.0,5.0 +19490,2023-05-16 08:20:00,0.0,5.0 +19491,2023-05-16 08:30:00,0.0,5.0 +19492,2023-05-16 08:40:00,0.0,5.0 +19493,2023-05-16 08:50:00,0.0,5.0 +19494,2023-05-16 09:00:00,0.0,5.0 +19495,2023-05-16 09:10:00,0.0,5.0 +19496,2023-05-16 09:20:00,0.0,5.0 +19497,2023-05-16 09:30:00,0.0,5.0 +19498,2023-05-16 09:40:00,0.0,5.0 +19499,2023-05-16 09:50:00,0.0,5.0 +19500,2023-05-16 10:00:00,0.0,5.0 +19501,2023-05-16 10:10:00,0.0,5.0 +19502,2023-05-16 10:20:00,0.0,5.0 +19503,2023-05-16 10:30:00,0.0,5.0 +19504,2023-05-16 10:40:00,0.0,5.0 +19505,2023-05-16 10:50:00,0.0,5.0 +19506,2023-05-16 11:00:00,0.0,5.0 +19507,2023-05-16 11:10:00,0.0,5.0 +19508,2023-05-16 11:20:00,0.0,5.0 +19509,2023-05-16 11:30:00,0.0,5.0 +19510,2023-05-16 11:40:00,0.0,5.0 +19511,2023-05-16 11:50:00,0.0,5.0 +19512,2023-05-16 12:00:00,0.0,6.0 +19513,2023-05-16 12:10:00,0.0,6.0 +19514,2023-05-16 12:20:00,0.0,6.0 +19515,2023-05-16 12:30:00,0.0,6.0 +19516,2023-05-16 12:40:00,0.0,6.0 +19517,2023-05-16 12:50:00,0.0,6.0 +19524,2023-05-16 14:00:00,0.0,5.0 +19525,2023-05-16 14:10:00,0.0,5.0 +19526,2023-05-16 14:20:00,0.0,5.0 +19527,2023-05-16 14:30:00,0.0,5.0 +19528,2023-05-16 14:40:00,0.0,5.0 +19529,2023-05-16 14:50:00,0.0,5.0 +19536,2023-05-16 16:00:00,0.0,5.0 +19537,2023-05-16 16:10:00,0.0,5.0 +19538,2023-05-16 16:20:00,0.0,5.0 +19539,2023-05-16 16:30:00,0.0,5.0 +19540,2023-05-16 16:40:00,0.0,5.0 +19541,2023-05-16 16:50:00,0.0,5.0 +19560,2023-05-16 20:00:00,0.0,5.0 +19561,2023-05-16 20:10:00,0.0,5.0 +19562,2023-05-16 20:20:00,0.0,5.0 +19563,2023-05-16 20:30:00,0.0,5.0 +19564,2023-05-16 20:40:00,0.0,5.0 +19565,2023-05-16 20:50:00,0.0,5.0 +19590,2023-05-17 01:00:00,0.0,3.0 +19591,2023-05-17 01:10:00,0.0,3.0 +19592,2023-05-17 01:20:00,0.0,3.0 +19593,2023-05-17 01:30:00,0.0,3.0 +19594,2023-05-17 01:40:00,0.0,3.0 +19595,2023-05-17 01:50:00,0.0,3.0 +19596,2023-05-17 02:00:00,0.0,3.0 +19597,2023-05-17 02:10:00,0.0,3.0 +19598,2023-05-17 02:20:00,0.0,3.0 +19599,2023-05-17 02:30:00,0.0,3.0 +19600,2023-05-17 02:40:00,0.0,3.0 +19601,2023-05-17 02:50:00,0.0,3.0 +19602,2023-05-17 03:00:00,0.0,3.0 +19603,2023-05-17 03:10:00,0.0,3.0 +19604,2023-05-17 03:20:00,0.0,3.0 +19605,2023-05-17 03:30:00,0.0,3.0 +19606,2023-05-17 03:40:00,0.0,3.0 +19607,2023-05-17 03:50:00,0.0,3.0 +19614,2023-05-17 05:00:00,0.0,5.0 +19615,2023-05-17 05:10:00,0.0,5.0 +19616,2023-05-17 05:20:00,0.0,5.0 +19617,2023-05-17 05:30:00,0.0,5.0 +19618,2023-05-17 05:40:00,0.0,5.0 +19619,2023-05-17 05:50:00,0.0,5.0 +19620,2023-05-17 06:00:00,0.0,5.0 +19621,2023-05-17 06:10:00,0.0,5.0 +19622,2023-05-17 06:20:00,0.0,5.0 +19623,2023-05-17 06:30:00,0.0,5.0 +19624,2023-05-17 06:40:00,0.0,5.0 +19625,2023-05-17 06:50:00,0.0,5.0 +19638,2023-05-17 09:00:00,0.0,5.0 +19639,2023-05-17 09:10:00,0.0,5.0 +19640,2023-05-17 09:20:00,0.0,5.0 +19641,2023-05-17 09:30:00,0.0,5.0 +19642,2023-05-17 09:40:00,0.0,5.0 +19643,2023-05-17 09:50:00,0.0,5.0 +19644,2023-05-17 10:00:00,0.0,5.0 +19645,2023-05-17 10:10:00,0.0,5.0 +19646,2023-05-17 10:20:00,0.0,5.0 +19647,2023-05-17 10:30:00,0.0,5.0 +19648,2023-05-17 10:40:00,0.0,5.0 +19649,2023-05-17 10:50:00,0.0,5.0 +19668,2023-05-17 14:00:00,0.0,5.0 +19669,2023-05-17 14:10:00,0.0,5.0 +19670,2023-05-17 14:20:00,0.0,5.0 +19671,2023-05-17 14:30:00,0.0,5.0 +19672,2023-05-17 14:40:00,0.0,5.0 +19673,2023-05-17 14:50:00,0.0,5.0 +19674,2023-05-17 15:00:00,0.0,5.0 +19675,2023-05-17 15:10:00,0.0,5.0 +19676,2023-05-17 15:20:00,0.0,5.0 +19677,2023-05-17 15:30:00,0.0,5.0 +19678,2023-05-17 15:40:00,0.0,5.0 +19679,2023-05-17 15:50:00,0.0,5.0 +19680,2023-05-17 16:00:00,0.0,5.0 +19681,2023-05-17 16:10:00,0.0,5.0 +19682,2023-05-17 16:20:00,0.0,5.0 +19683,2023-05-17 16:30:00,0.0,5.0 +19684,2023-05-17 16:40:00,0.0,5.0 +19685,2023-05-17 16:50:00,0.0,5.0 +19692,2023-05-17 18:00:00,0.0,5.0 +19693,2023-05-17 18:10:00,0.0,5.0 +19694,2023-05-17 18:20:00,0.0,5.0 +19695,2023-05-17 18:30:00,0.0,5.0 +19696,2023-05-17 18:40:00,0.0,5.0 +19697,2023-05-17 18:50:00,0.0,5.0 +19698,2023-05-17 19:00:00,0.0,3.0 +19699,2023-05-17 19:10:00,0.0,3.0 +19700,2023-05-17 19:20:00,0.0,3.0 +19701,2023-05-17 19:30:00,0.0,3.0 +19702,2023-05-17 19:40:00,0.0,3.0 +19703,2023-05-17 19:50:00,0.0,3.0 +19710,2023-05-17 21:00:00,0.0,3.0 +19711,2023-05-17 21:10:00,0.0,3.0 +19712,2023-05-17 21:20:00,0.0,3.0 +19713,2023-05-17 21:30:00,0.0,3.0 +19714,2023-05-17 21:40:00,0.0,3.0 +19715,2023-05-17 21:50:00,0.0,3.0 +19716,2023-05-17 22:00:00,0.0,3.0 +19717,2023-05-17 22:10:00,0.0,3.0 +19718,2023-05-17 22:20:00,0.0,3.0 +19719,2023-05-17 22:30:00,0.0,3.0 +19720,2023-05-17 22:40:00,0.0,3.0 +19721,2023-05-17 22:50:00,0.0,3.0 +19722,2023-05-17 23:00:00,0.0,3.0 +19723,2023-05-17 23:10:00,0.0,3.0 +19724,2023-05-17 23:20:00,0.0,3.0 +19725,2023-05-17 23:30:00,0.0,3.0 +19726,2023-05-17 23:40:00,0.0,3.0 +19727,2023-05-17 23:50:00,0.0,3.0 +19728,2023-05-18 00:00:00,0.0,3.0 +19729,2023-05-18 00:10:00,0.0,3.0 +19730,2023-05-18 00:20:00,0.0,3.0 +19731,2023-05-18 00:30:00,0.0,3.0 +19732,2023-05-18 00:40:00,0.0,3.0 +19733,2023-05-18 00:50:00,0.0,3.0 +19734,2023-05-18 01:00:00,0.0,3.0 +19735,2023-05-18 01:10:00,0.0,3.0 +19736,2023-05-18 01:20:00,0.0,3.0 +19737,2023-05-18 01:30:00,0.0,3.0 +19738,2023-05-18 01:40:00,0.0,3.0 +19739,2023-05-18 01:50:00,0.0,3.0 +19740,2023-05-18 02:00:00,0.0,3.0 +19741,2023-05-18 02:10:00,0.0,3.0 +19742,2023-05-18 02:20:00,0.0,3.0 +19743,2023-05-18 02:30:00,0.0,3.0 +19744,2023-05-18 02:40:00,0.0,3.0 +19745,2023-05-18 02:50:00,0.0,3.0 +19752,2023-05-18 04:00:00,0.0,3.0 +19753,2023-05-18 04:10:00,0.0,3.0 +19754,2023-05-18 04:20:00,0.0,3.0 +19755,2023-05-18 04:30:00,0.0,3.0 +19756,2023-05-18 04:40:00,0.0,3.0 +19757,2023-05-18 04:50:00,0.0,3.0 +19758,2023-05-18 05:00:00,0.0,3.0 +19759,2023-05-18 05:10:00,0.0,3.0 +19760,2023-05-18 05:20:00,0.0,3.0 +19761,2023-05-18 05:30:00,0.0,3.0 +19762,2023-05-18 05:40:00,0.0,3.0 +19763,2023-05-18 05:50:00,0.0,3.0 +19764,2023-05-18 06:00:00,0.0,3.0 +19765,2023-05-18 06:10:00,0.0,3.0 +19766,2023-05-18 06:20:00,0.0,3.0 +19767,2023-05-18 06:30:00,0.0,3.0 +19768,2023-05-18 06:40:00,0.0,3.0 +19769,2023-05-18 06:50:00,0.0,3.0 +19770,2023-05-18 07:00:00,0.0,5.0 +19771,2023-05-18 07:10:00,0.0,5.0 +19772,2023-05-18 07:20:00,0.0,5.0 +19773,2023-05-18 07:30:00,0.0,5.0 +19774,2023-05-18 07:40:00,0.0,5.0 +19775,2023-05-18 07:50:00,0.0,5.0 +19800,2023-05-18 12:00:00,0.0,5.0 +19801,2023-05-18 12:10:00,0.0,5.0 +19802,2023-05-18 12:20:00,0.0,5.0 +19803,2023-05-18 12:30:00,0.0,5.0 +19804,2023-05-18 12:40:00,0.0,5.0 +19805,2023-05-18 12:50:00,0.0,5.0 +19818,2023-05-18 15:00:00,0.0,5.0 +19819,2023-05-18 15:10:00,0.0,5.0 +19820,2023-05-18 15:20:00,0.0,5.0 +19821,2023-05-18 15:30:00,0.0,5.0 +19822,2023-05-18 15:40:00,0.0,5.0 +19823,2023-05-18 15:50:00,0.0,5.0 +19830,2023-05-18 17:00:00,0.0,5.0 +19831,2023-05-18 17:10:00,0.0,5.0 +19832,2023-05-18 17:20:00,0.0,5.0 +19833,2023-05-18 17:30:00,0.0,5.0 +19834,2023-05-18 17:40:00,0.0,5.0 +19835,2023-05-18 17:50:00,0.0,5.0 +19842,2023-05-18 19:00:00,0.0,3.0 +19843,2023-05-18 19:10:00,0.0,3.0 +19844,2023-05-18 19:20:00,0.0,3.0 +19845,2023-05-18 19:30:00,0.0,3.0 +19846,2023-05-18 19:40:00,0.0,3.0 +19847,2023-05-18 19:50:00,0.0,3.0 +19854,2023-05-18 21:00:00,0.0,3.0 +19855,2023-05-18 21:10:00,0.0,3.0 +19856,2023-05-18 21:20:00,0.0,3.0 +19857,2023-05-18 21:30:00,0.0,3.0 +19858,2023-05-18 21:40:00,0.0,3.0 +19859,2023-05-18 21:50:00,0.0,3.0 +19860,2023-05-18 22:00:00,0.0,3.0 +19861,2023-05-18 22:10:00,0.0,3.0 +19862,2023-05-18 22:20:00,0.0,3.0 +19863,2023-05-18 22:30:00,0.0,3.0 +19864,2023-05-18 22:40:00,0.0,3.0 +19865,2023-05-18 22:50:00,0.0,3.0 +19872,2023-05-19 00:00:00,0.0,3.0 +19873,2023-05-19 00:10:00,0.0,3.0 +19874,2023-05-19 00:20:00,0.0,3.0 +19875,2023-05-19 00:30:00,0.0,3.0 +19876,2023-05-19 00:40:00,0.0,3.0 +19877,2023-05-19 00:50:00,0.0,3.0 +19878,2023-05-19 01:00:00,0.0,3.0 +19879,2023-05-19 01:10:00,0.0,3.0 +19880,2023-05-19 01:20:00,0.0,3.0 +19881,2023-05-19 01:30:00,0.0,3.0 +19882,2023-05-19 01:40:00,0.0,3.0 +19883,2023-05-19 01:50:00,0.0,3.0 +19890,2023-05-19 03:00:00,0.0,3.0 +19891,2023-05-19 03:10:00,0.0,3.0 +19892,2023-05-19 03:20:00,0.0,3.0 +19893,2023-05-19 03:30:00,0.0,3.0 +19894,2023-05-19 03:40:00,0.0,3.0 +19895,2023-05-19 03:50:00,0.0,3.0 +19926,2023-05-19 09:00:00,0.0,7.0 +19927,2023-05-19 09:10:00,0.0,7.0 +19928,2023-05-19 09:20:00,0.0,7.0 +19929,2023-05-19 09:30:00,0.0,7.0 +19930,2023-05-19 09:40:00,0.0,7.0 +19931,2023-05-19 09:50:00,0.0,7.0 +19932,2023-05-19 10:00:00,0.0,7.0 +19933,2023-05-19 10:10:00,0.0,7.0 +19934,2023-05-19 10:20:00,0.0,7.0 +19935,2023-05-19 10:30:00,0.0,7.0 +19936,2023-05-19 10:40:00,0.0,7.0 +19937,2023-05-19 10:50:00,0.0,7.0 +19944,2023-05-19 12:00:00,0.0,7.0 +19945,2023-05-19 12:10:00,0.0,7.0 +19946,2023-05-19 12:20:00,0.0,7.0 +19947,2023-05-19 12:30:00,0.0,7.0 +19948,2023-05-19 12:40:00,0.0,7.0 +19949,2023-05-19 12:50:00,0.0,7.0 +19950,2023-05-19 13:00:00,0.0,5.0 +19951,2023-05-19 13:10:00,0.0,5.0 +19952,2023-05-19 13:20:00,0.0,5.0 +19953,2023-05-19 13:30:00,0.0,5.0 +19954,2023-05-19 13:40:00,0.0,5.0 +19955,2023-05-19 13:50:00,0.0,5.0 +19956,2023-05-19 14:00:00,0.0,7.0 +19957,2023-05-19 14:10:00,0.0,7.0 +19958,2023-05-19 14:20:00,0.0,7.0 +19959,2023-05-19 14:30:00,0.0,7.0 +19960,2023-05-19 14:40:00,0.0,7.0 +19961,2023-05-19 14:50:00,0.0,7.0 +19968,2023-05-19 16:00:00,0.0,7.0 +19969,2023-05-19 16:10:00,0.0,7.0 +19970,2023-05-19 16:20:00,0.0,7.0 +19971,2023-05-19 16:30:00,0.0,7.0 +19972,2023-05-19 16:40:00,0.0,7.0 +19973,2023-05-19 16:50:00,0.0,7.0 +19974,2023-05-19 17:00:00,0.0,7.0 +19975,2023-05-19 17:10:00,0.0,7.0 +19976,2023-05-19 17:20:00,0.0,7.0 +19977,2023-05-19 17:30:00,0.0,7.0 +19978,2023-05-19 17:40:00,0.0,7.0 +19979,2023-05-19 17:50:00,0.0,7.0 +19980,2023-05-19 18:00:00,0.0,5.0 +19981,2023-05-19 18:10:00,0.0,5.0 +19982,2023-05-19 18:20:00,0.0,5.0 +19983,2023-05-19 18:30:00,0.0,5.0 +19984,2023-05-19 18:40:00,0.0,5.0 +19985,2023-05-19 18:50:00,0.0,5.0 +19986,2023-05-19 19:00:00,0.0,5.0 +19987,2023-05-19 19:10:00,0.0,5.0 +19988,2023-05-19 19:20:00,0.0,5.0 +19989,2023-05-19 19:30:00,0.0,5.0 +19990,2023-05-19 19:40:00,0.0,5.0 +19991,2023-05-19 19:50:00,0.0,5.0 +20004,2023-05-19 22:00:00,0.0,5.0 +20005,2023-05-19 22:10:00,0.0,5.0 +20006,2023-05-19 22:20:00,0.0,5.0 +20007,2023-05-19 22:30:00,0.0,5.0 +20008,2023-05-19 22:40:00,0.0,5.0 +20009,2023-05-19 22:50:00,0.0,5.0 +20016,2023-05-20 00:00:00,0.0,5.0 +20017,2023-05-20 00:10:00,0.0,5.0 +20018,2023-05-20 00:20:00,0.0,5.0 +20019,2023-05-20 00:30:00,0.0,5.0 +20020,2023-05-20 00:40:00,0.0,5.0 +20021,2023-05-20 00:50:00,0.0,5.0 +20022,2023-05-20 01:00:00,0.0,5.0 +20023,2023-05-20 01:10:00,0.0,5.0 +20024,2023-05-20 01:20:00,0.0,5.0 +20025,2023-05-20 01:30:00,0.0,5.0 +20026,2023-05-20 01:40:00,0.0,5.0 +20027,2023-05-20 01:50:00,0.0,5.0 +20040,2023-05-20 04:00:00,0.0,5.0 +20041,2023-05-20 04:10:00,0.0,5.0 +20042,2023-05-20 04:20:00,0.0,5.0 +20043,2023-05-20 04:30:00,0.0,5.0 +20044,2023-05-20 04:40:00,0.0,5.0 +20045,2023-05-20 04:50:00,0.0,5.0 +20046,2023-05-20 05:00:00,0.0,5.0 +20047,2023-05-20 05:10:00,0.0,5.0 +20048,2023-05-20 05:20:00,0.0,5.0 +20049,2023-05-20 05:30:00,0.0,5.0 +20050,2023-05-20 05:40:00,0.0,5.0 +20051,2023-05-20 05:50:00,0.0,5.0 +20088,2023-05-20 12:00:00,0.0,9.0 +20089,2023-05-20 12:10:00,0.0,9.0 +20090,2023-05-20 12:20:00,0.0,9.0 +20091,2023-05-20 12:30:00,0.0,9.0 +20092,2023-05-20 12:40:00,0.0,9.0 +20093,2023-05-20 12:50:00,0.0,9.0 +20112,2023-05-20 16:00:00,0.0,7.0 +20113,2023-05-20 16:10:00,0.0,7.0 +20114,2023-05-20 16:20:00,0.0,7.0 +20115,2023-05-20 16:30:00,0.0,7.0 +20116,2023-05-20 16:40:00,0.0,7.0 +20117,2023-05-20 16:50:00,0.0,7.0 +20118,2023-05-20 17:00:00,0.0,7.0 +20119,2023-05-20 17:10:00,0.0,7.0 +20120,2023-05-20 17:20:00,0.0,7.0 +20121,2023-05-20 17:30:00,0.0,7.0 +20122,2023-05-20 17:40:00,0.0,7.0 +20123,2023-05-20 17:50:00,0.0,7.0 +20124,2023-05-20 18:00:00,0.0,7.0 +20125,2023-05-20 18:10:00,0.0,7.0 +20126,2023-05-20 18:20:00,0.0,7.0 +20127,2023-05-20 18:30:00,0.0,7.0 +20128,2023-05-20 18:40:00,0.0,7.0 +20129,2023-05-20 18:50:00,0.0,7.0 +20142,2023-05-20 21:00:00,0.0,5.0 +20143,2023-05-20 21:10:00,0.0,5.0 +20144,2023-05-20 21:20:00,0.0,5.0 +20145,2023-05-20 21:30:00,0.0,5.0 +20146,2023-05-20 21:40:00,0.0,5.0 +20147,2023-05-20 21:50:00,0.0,5.0 +20148,2023-05-20 22:00:00,0.0,5.0 +20149,2023-05-20 22:10:00,0.0,5.0 +20150,2023-05-20 22:20:00,0.0,5.0 +20151,2023-05-20 22:30:00,0.0,5.0 +20152,2023-05-20 22:40:00,0.0,5.0 +20153,2023-05-20 22:50:00,0.0,5.0 +20154,2023-05-20 23:00:00,0.0,5.0 +20155,2023-05-20 23:10:00,0.0,5.0 +20156,2023-05-20 23:20:00,0.0,5.0 +20157,2023-05-20 23:30:00,0.0,5.0 +20158,2023-05-20 23:40:00,0.0,5.0 +20159,2023-05-20 23:50:00,0.0,5.0 +20166,2023-05-21 01:00:00,0.0,5.0 +20167,2023-05-21 01:10:00,0.0,5.0 +20168,2023-05-21 01:20:00,0.0,5.0 +20169,2023-05-21 01:30:00,0.0,5.0 +20170,2023-05-21 01:40:00,0.0,5.0 +20171,2023-05-21 01:50:00,0.0,5.0 +20184,2023-05-21 04:00:00,0.0,5.0 +20185,2023-05-21 04:10:00,0.0,5.0 +20186,2023-05-21 04:20:00,0.0,5.0 +20187,2023-05-21 04:30:00,0.0,5.0 +20188,2023-05-21 04:40:00,0.0,5.0 +20189,2023-05-21 04:50:00,0.0,5.0 +20202,2023-05-21 07:00:00,0.0,7.0 +20203,2023-05-21 07:10:00,0.0,7.0 +20204,2023-05-21 07:20:00,0.0,7.0 +20205,2023-05-21 07:30:00,0.0,7.0 +20206,2023-05-21 07:40:00,0.0,7.0 +20207,2023-05-21 07:50:00,0.0,7.0 +20208,2023-05-21 08:00:00,0.0,7.0 +20209,2023-05-21 08:10:00,0.0,7.0 +20210,2023-05-21 08:20:00,0.0,7.0 +20211,2023-05-21 08:30:00,0.0,7.0 +20212,2023-05-21 08:40:00,0.0,7.0 +20213,2023-05-21 08:50:00,0.0,7.0 +20238,2023-05-21 13:00:00,0.0,7.0 +20239,2023-05-21 13:10:00,0.0,7.0 +20240,2023-05-21 13:20:00,0.0,7.0 +20241,2023-05-21 13:30:00,0.0,7.0 +20242,2023-05-21 13:40:00,0.0,7.0 +20243,2023-05-21 13:50:00,0.0,7.0 +20244,2023-05-21 14:00:00,0.0,9.0 +20245,2023-05-21 14:10:00,0.0,9.0 +20246,2023-05-21 14:20:00,0.0,9.0 +20247,2023-05-21 14:30:00,0.0,9.0 +20248,2023-05-21 14:40:00,0.0,9.0 +20249,2023-05-21 14:50:00,0.0,9.0 +20250,2023-05-21 15:00:00,0.0,7.0 +20251,2023-05-21 15:10:00,0.0,7.0 +20252,2023-05-21 15:20:00,0.0,7.0 +20253,2023-05-21 15:30:00,0.0,7.0 +20254,2023-05-21 15:40:00,0.0,7.0 +20255,2023-05-21 15:50:00,0.0,7.0 +20256,2023-05-21 16:00:00,0.0,9.0 +20257,2023-05-21 16:10:00,0.0,9.0 +20258,2023-05-21 16:20:00,0.0,9.0 +20259,2023-05-21 16:30:00,0.0,9.0 +20260,2023-05-21 16:40:00,0.0,9.0 +20261,2023-05-21 16:50:00,0.0,9.0 +20268,2023-05-21 18:00:00,0.0,7.0 +20269,2023-05-21 18:10:00,0.0,7.0 +20270,2023-05-21 18:20:00,0.0,7.0 +20271,2023-05-21 18:30:00,0.0,7.0 +20272,2023-05-21 18:40:00,0.0,7.0 +20273,2023-05-21 18:50:00,0.0,7.0 +20274,2023-05-21 19:00:00,0.0,7.0 +20275,2023-05-21 19:10:00,0.0,7.0 +20276,2023-05-21 19:20:00,0.0,7.0 +20277,2023-05-21 19:30:00,0.0,7.0 +20278,2023-05-21 19:40:00,0.0,7.0 +20279,2023-05-21 19:50:00,0.0,7.0 +20280,2023-05-21 20:00:00,0.0,7.0 +20281,2023-05-21 20:10:00,0.0,7.0 +20282,2023-05-21 20:20:00,0.0,7.0 +20283,2023-05-21 20:30:00,0.0,7.0 +20284,2023-05-21 20:40:00,0.0,7.0 +20285,2023-05-21 20:50:00,0.0,7.0 +20286,2023-05-21 21:00:00,0.0,7.0 +20287,2023-05-21 21:10:00,0.0,7.0 +20288,2023-05-21 21:20:00,0.0,7.0 +20289,2023-05-21 21:30:00,0.0,7.0 +20290,2023-05-21 21:40:00,0.0,7.0 +20291,2023-05-21 21:50:00,0.0,7.0 +20310,2023-05-22 01:00:00,0.0,8.0 +20311,2023-05-22 01:10:00,0.0,8.0 +20312,2023-05-22 01:20:00,0.0,8.0 +20313,2023-05-22 01:30:00,0.0,8.0 +20314,2023-05-22 01:40:00,0.0,8.0 +20315,2023-05-22 01:50:00,0.0,8.0 +20322,2023-05-22 03:00:00,0.0,5.0 +20323,2023-05-22 03:10:00,0.0,5.0 +20324,2023-05-22 03:20:00,0.0,5.0 +20325,2023-05-22 03:30:00,0.0,5.0 +20326,2023-05-22 03:40:00,0.0,5.0 +20327,2023-05-22 03:50:00,0.0,5.0 +20328,2023-05-22 04:00:00,0.0,7.0 +20329,2023-05-22 04:10:00,0.0,7.0 +20330,2023-05-22 04:20:00,0.0,7.0 +20331,2023-05-22 04:30:00,0.0,7.0 +20332,2023-05-22 04:40:00,0.0,7.0 +20333,2023-05-22 04:50:00,0.0,7.0 +20340,2023-05-22 06:00:00,0.0,6.0 +20341,2023-05-22 06:10:00,0.0,6.0 +20342,2023-05-22 06:20:00,0.0,6.0 +20343,2023-05-22 06:30:00,0.0,6.0 +20344,2023-05-22 06:40:00,0.0,6.0 +20345,2023-05-22 06:50:00,0.0,6.0 +20352,2023-05-22 08:00:00,0.0,9.0 +20353,2023-05-22 08:10:00,0.0,9.0 +20354,2023-05-22 08:20:00,0.0,9.0 +20355,2023-05-22 08:30:00,0.0,9.0 +20356,2023-05-22 08:40:00,0.0,9.0 +20357,2023-05-22 08:50:00,0.0,9.0 +20358,2023-05-22 09:00:00,0.0,7.0 +20359,2023-05-22 09:10:00,0.0,7.0 +20360,2023-05-22 09:20:00,0.0,7.0 +20361,2023-05-22 09:30:00,0.0,7.0 +20362,2023-05-22 09:40:00,0.0,7.0 +20363,2023-05-22 09:50:00,0.0,7.0 +20376,2023-05-22 12:00:00,0.0,9.0 +20377,2023-05-22 12:10:00,0.0,9.0 +20378,2023-05-22 12:20:00,0.0,9.0 +20379,2023-05-22 12:30:00,0.0,9.0 +20380,2023-05-22 12:40:00,0.0,9.0 +20381,2023-05-22 12:50:00,0.0,9.0 +20388,2023-05-22 14:00:00,0.0,7.0 +20389,2023-05-22 14:10:00,0.0,7.0 +20390,2023-05-22 14:20:00,0.0,7.0 +20391,2023-05-22 14:30:00,0.0,7.0 +20392,2023-05-22 14:40:00,0.0,7.0 +20393,2023-05-22 14:50:00,0.0,7.0 +20394,2023-05-22 15:00:00,0.0,7.0 +20395,2023-05-22 15:10:00,0.0,7.0 +20396,2023-05-22 15:20:00,0.0,7.0 +20397,2023-05-22 15:30:00,0.0,7.0 +20398,2023-05-22 15:40:00,0.0,7.0 +20399,2023-05-22 15:50:00,0.0,7.0 +20400,2023-05-22 16:00:00,0.0,9.0 +20401,2023-05-22 16:10:00,0.0,9.0 +20402,2023-05-22 16:20:00,0.0,9.0 +20403,2023-05-22 16:30:00,0.0,9.0 +20404,2023-05-22 16:40:00,0.0,9.0 +20405,2023-05-22 16:50:00,0.0,9.0 +20412,2023-05-22 18:00:00,0.0,5.0 +20413,2023-05-22 18:10:00,0.0,5.0 +20414,2023-05-22 18:20:00,0.0,5.0 +20415,2023-05-22 18:30:00,0.0,5.0 +20416,2023-05-22 18:40:00,0.0,5.0 +20417,2023-05-22 18:50:00,0.0,5.0 +20424,2023-05-22 20:00:00,0.0,5.0 +20425,2023-05-22 20:10:00,0.0,5.0 +20426,2023-05-22 20:20:00,0.0,5.0 +20427,2023-05-22 20:30:00,0.0,5.0 +20428,2023-05-22 20:40:00,0.0,5.0 +20429,2023-05-22 20:50:00,0.0,5.0 +20448,2023-05-23 00:00:00,0.0,5.0 +20449,2023-05-23 00:10:00,0.0,5.0 +20450,2023-05-23 00:20:00,0.0,5.0 +20451,2023-05-23 00:30:00,0.0,5.0 +20452,2023-05-23 00:40:00,0.0,5.0 +20453,2023-05-23 00:50:00,0.0,5.0 +20454,2023-05-23 01:00:00,0.0,5.0 +20455,2023-05-23 01:10:00,0.0,5.0 +20456,2023-05-23 01:20:00,0.0,5.0 +20457,2023-05-23 01:30:00,0.0,5.0 +20458,2023-05-23 01:40:00,0.0,5.0 +20459,2023-05-23 01:50:00,0.0,5.0 +20460,2023-05-23 02:00:00,0.0,6.0 +20461,2023-05-23 02:10:00,0.0,6.0 +20462,2023-05-23 02:20:00,0.0,6.0 +20463,2023-05-23 02:30:00,0.0,6.0 +20464,2023-05-23 02:40:00,0.0,6.0 +20465,2023-05-23 02:50:00,0.0,6.0 +20466,2023-05-23 03:00:00,0.0,5.0 +20467,2023-05-23 03:10:00,0.0,5.0 +20468,2023-05-23 03:20:00,0.0,5.0 +20469,2023-05-23 03:30:00,0.0,5.0 +20470,2023-05-23 03:40:00,0.0,5.0 +20471,2023-05-23 03:50:00,0.0,5.0 +20472,2023-05-23 04:00:00,0.0,5.0 +20473,2023-05-23 04:10:00,0.0,5.0 +20474,2023-05-23 04:20:00,0.0,5.0 +20475,2023-05-23 04:30:00,0.0,5.0 +20476,2023-05-23 04:40:00,0.0,5.0 +20477,2023-05-23 04:50:00,0.0,5.0 +20478,2023-05-23 05:00:00,0.0,5.0 +20479,2023-05-23 05:10:00,0.0,5.0 +20480,2023-05-23 05:20:00,0.0,5.0 +20481,2023-05-23 05:30:00,0.0,5.0 +20482,2023-05-23 05:40:00,0.0,5.0 +20483,2023-05-23 05:50:00,0.0,5.0 +20484,2023-05-23 06:00:00,0.0,5.0 +20485,2023-05-23 06:10:00,0.0,5.0 +20486,2023-05-23 06:20:00,0.0,5.0 +20487,2023-05-23 06:30:00,0.0,5.0 +20488,2023-05-23 06:40:00,0.0,5.0 +20489,2023-05-23 06:50:00,0.0,5.0 +20496,2023-05-23 08:00:00,0.0,5.0 +20497,2023-05-23 08:10:00,0.0,5.0 +20498,2023-05-23 08:20:00,0.0,5.0 +20499,2023-05-23 08:30:00,0.0,5.0 +20500,2023-05-23 08:40:00,0.0,5.0 +20501,2023-05-23 08:50:00,0.0,5.0 +20502,2023-05-23 09:00:00,0.0,5.0 +20503,2023-05-23 09:10:00,0.0,5.0 +20504,2023-05-23 09:20:00,0.0,5.0 +20505,2023-05-23 09:30:00,0.0,5.0 +20506,2023-05-23 09:40:00,0.0,5.0 +20507,2023-05-23 09:50:00,0.0,5.0 +20508,2023-05-23 10:00:00,0.0,5.0 +20509,2023-05-23 10:10:00,0.0,5.0 +20510,2023-05-23 10:20:00,0.0,5.0 +20511,2023-05-23 10:30:00,0.0,5.0 +20512,2023-05-23 10:40:00,0.0,5.0 +20513,2023-05-23 10:50:00,0.0,5.0 +20520,2023-05-23 12:00:00,0.0,5.0 +20521,2023-05-23 12:10:00,0.0,5.0 +20522,2023-05-23 12:20:00,0.0,5.0 +20523,2023-05-23 12:30:00,0.0,5.0 +20524,2023-05-23 12:40:00,0.0,5.0 +20525,2023-05-23 12:50:00,0.0,5.0 +20538,2023-05-23 15:00:00,0.0,5.0 +20539,2023-05-23 15:10:00,0.0,5.0 +20540,2023-05-23 15:20:00,0.0,5.0 +20541,2023-05-23 15:30:00,0.0,5.0 +20542,2023-05-23 15:40:00,0.0,5.0 +20543,2023-05-23 15:50:00,0.0,5.0 +20544,2023-05-23 16:00:00,0.0,5.0 +20545,2023-05-23 16:10:00,0.0,5.0 +20546,2023-05-23 16:20:00,0.0,5.0 +20547,2023-05-23 16:30:00,0.0,5.0 +20548,2023-05-23 16:40:00,0.0,5.0 +20549,2023-05-23 16:50:00,0.0,5.0 +20550,2023-05-23 17:00:00,0.0,5.0 +20551,2023-05-23 17:10:00,0.0,5.0 +20552,2023-05-23 17:20:00,0.0,5.0 +20553,2023-05-23 17:30:00,0.0,5.0 +20554,2023-05-23 17:40:00,0.0,5.0 +20555,2023-05-23 17:50:00,0.0,5.0 +20562,2023-05-23 19:00:00,0.0,5.0 +20563,2023-05-23 19:10:00,0.0,5.0 +20564,2023-05-23 19:20:00,0.0,5.0 +20565,2023-05-23 19:30:00,0.0,5.0 +20566,2023-05-23 19:40:00,0.0,5.0 +20567,2023-05-23 19:50:00,0.0,5.0 +20574,2023-05-23 21:00:00,0.0,3.0 +20575,2023-05-23 21:10:00,0.0,3.0 +20576,2023-05-23 21:20:00,0.0,3.0 +20577,2023-05-23 21:30:00,0.0,3.0 +20578,2023-05-23 21:40:00,0.0,3.0 +20579,2023-05-23 21:50:00,0.0,3.0 +20586,2023-05-23 23:00:00,0.0,3.0 +20587,2023-05-23 23:10:00,0.0,3.0 +20588,2023-05-23 23:20:00,0.0,3.0 +20589,2023-05-23 23:30:00,0.0,3.0 +20590,2023-05-23 23:40:00,0.0,3.0 +20591,2023-05-23 23:50:00,0.0,3.0 +20598,2023-05-24 01:00:00,0.0,3.0 +20599,2023-05-24 01:10:00,0.0,3.0 +20600,2023-05-24 01:20:00,0.0,3.0 +20601,2023-05-24 01:30:00,0.0,3.0 +20602,2023-05-24 01:40:00,0.0,3.0 +20603,2023-05-24 01:50:00,0.0,3.0 +20604,2023-05-24 02:00:00,0.0,3.0 +20605,2023-05-24 02:10:00,0.0,3.0 +20606,2023-05-24 02:20:00,0.0,3.0 +20607,2023-05-24 02:30:00,0.0,3.0 +20608,2023-05-24 02:40:00,0.0,3.0 +20609,2023-05-24 02:50:00,0.0,3.0 +20610,2023-05-24 03:00:00,0.0,3.0 +20611,2023-05-24 03:10:00,0.0,3.0 +20612,2023-05-24 03:20:00,0.0,3.0 +20613,2023-05-24 03:30:00,0.0,3.0 +20614,2023-05-24 03:40:00,0.0,3.0 +20615,2023-05-24 03:50:00,0.0,3.0 +20616,2023-05-24 04:00:00,0.0,3.0 +20617,2023-05-24 04:10:00,0.0,3.0 +20618,2023-05-24 04:20:00,0.0,3.0 +20619,2023-05-24 04:30:00,0.0,3.0 +20620,2023-05-24 04:40:00,0.0,3.0 +20621,2023-05-24 04:50:00,0.0,3.0 +20628,2023-05-24 06:00:00,0.0,5.0 +20629,2023-05-24 06:10:00,0.0,5.0 +20630,2023-05-24 06:20:00,0.0,5.0 +20631,2023-05-24 06:30:00,0.0,5.0 +20632,2023-05-24 06:40:00,0.0,5.0 +20633,2023-05-24 06:50:00,0.0,5.0 +20652,2023-05-24 10:00:00,0.0,5.0 +20653,2023-05-24 10:10:00,0.0,5.0 +20654,2023-05-24 10:20:00,0.0,5.0 +20655,2023-05-24 10:30:00,0.0,5.0 +20656,2023-05-24 10:40:00,0.0,5.0 +20657,2023-05-24 10:50:00,0.0,5.0 +20670,2023-05-24 13:00:00,0.0,7.0 +20671,2023-05-24 13:10:00,0.0,7.0 +20672,2023-05-24 13:20:00,0.0,7.0 +20673,2023-05-24 13:30:00,0.0,7.0 +20674,2023-05-24 13:40:00,0.0,7.0 +20675,2023-05-24 13:50:00,0.0,7.0 +20676,2023-05-24 14:00:00,0.0,7.0 +20677,2023-05-24 14:10:00,0.0,7.0 +20678,2023-05-24 14:20:00,0.0,7.0 +20679,2023-05-24 14:30:00,0.0,7.0 +20680,2023-05-24 14:40:00,0.0,7.0 +20681,2023-05-24 14:50:00,0.0,7.0 +20700,2023-05-24 18:00:00,0.0,5.0 +20701,2023-05-24 18:10:00,0.0,5.0 +20702,2023-05-24 18:20:00,0.0,5.0 +20703,2023-05-24 18:30:00,0.0,5.0 +20704,2023-05-24 18:40:00,0.0,5.0 +20705,2023-05-24 18:50:00,0.0,5.0 +20706,2023-05-24 19:00:00,0.0,5.0 +20707,2023-05-24 19:10:00,0.0,5.0 +20708,2023-05-24 19:20:00,0.0,5.0 +20709,2023-05-24 19:30:00,0.0,5.0 +20710,2023-05-24 19:40:00,0.0,5.0 +20711,2023-05-24 19:50:00,0.0,5.0 +20712,2023-05-24 20:00:00,0.0,5.0 +20713,2023-05-24 20:10:00,0.0,5.0 +20714,2023-05-24 20:20:00,0.0,5.0 +20715,2023-05-24 20:30:00,0.0,5.0 +20716,2023-05-24 20:40:00,0.0,5.0 +20717,2023-05-24 20:50:00,0.0,5.0 +20718,2023-05-24 21:00:00,0.0,5.0 +20719,2023-05-24 21:10:00,0.0,5.0 +20720,2023-05-24 21:20:00,0.0,5.0 +20721,2023-05-24 21:30:00,0.0,5.0 +20722,2023-05-24 21:40:00,0.0,5.0 +20723,2023-05-24 21:50:00,0.0,5.0 +20730,2023-05-24 23:00:00,0.0,3.0 +20731,2023-05-24 23:10:00,0.0,3.0 +20732,2023-05-24 23:20:00,0.0,3.0 +20733,2023-05-24 23:30:00,0.0,3.0 +20734,2023-05-24 23:40:00,0.0,3.0 +20735,2023-05-24 23:50:00,0.0,3.0 +20748,2023-05-25 02:00:00,0.0,3.0 +20749,2023-05-25 02:10:00,0.0,3.0 +20750,2023-05-25 02:20:00,0.0,3.0 +20751,2023-05-25 02:30:00,0.0,3.0 +20752,2023-05-25 02:40:00,0.0,3.0 +20753,2023-05-25 02:50:00,0.0,3.0 +20754,2023-05-25 03:00:00,0.0,3.0 +20755,2023-05-25 03:10:00,0.0,3.0 +20756,2023-05-25 03:20:00,0.0,3.0 +20757,2023-05-25 03:30:00,0.0,3.0 +20758,2023-05-25 03:40:00,0.0,3.0 +20759,2023-05-25 03:50:00,0.0,3.0 +20760,2023-05-25 04:00:00,0.0,3.0 +20761,2023-05-25 04:10:00,0.0,3.0 +20762,2023-05-25 04:20:00,0.0,3.0 +20763,2023-05-25 04:30:00,0.0,3.0 +20764,2023-05-25 04:40:00,0.0,3.0 +20765,2023-05-25 04:50:00,0.0,3.0 +20766,2023-05-25 05:00:00,0.0,5.0 +20767,2023-05-25 05:10:00,0.0,5.0 +20768,2023-05-25 05:20:00,0.0,5.0 +20769,2023-05-25 05:30:00,0.0,5.0 +20770,2023-05-25 05:40:00,0.0,5.0 +20771,2023-05-25 05:50:00,0.0,5.0 +20778,2023-05-25 07:00:00,0.0,5.0 +20779,2023-05-25 07:10:00,0.0,5.0 +20780,2023-05-25 07:20:00,0.0,5.0 +20781,2023-05-25 07:30:00,0.0,5.0 +20782,2023-05-25 07:40:00,0.0,5.0 +20783,2023-05-25 07:50:00,0.0,5.0 +20784,2023-05-25 08:00:00,0.0,5.0 +20785,2023-05-25 08:10:00,0.0,5.0 +20786,2023-05-25 08:20:00,0.0,5.0 +20787,2023-05-25 08:30:00,0.0,5.0 +20788,2023-05-25 08:40:00,0.0,5.0 +20789,2023-05-25 08:50:00,0.0,5.0 +20808,2023-05-25 12:00:00,0.0,7.0 +20809,2023-05-25 12:10:00,0.0,7.0 +20810,2023-05-25 12:20:00,0.0,7.0 +20811,2023-05-25 12:30:00,0.0,7.0 +20812,2023-05-25 12:40:00,0.0,7.0 +20813,2023-05-25 12:50:00,0.0,7.0 +20814,2023-05-25 13:00:00,0.0,7.0 +20815,2023-05-25 13:10:00,0.0,7.0 +20816,2023-05-25 13:20:00,0.0,7.0 +20817,2023-05-25 13:30:00,0.0,7.0 +20818,2023-05-25 13:40:00,0.0,7.0 +20819,2023-05-25 13:50:00,0.0,7.0 +20832,2023-05-25 16:00:00,0.0,5.0 +20833,2023-05-25 16:10:00,0.0,5.0 +20834,2023-05-25 16:20:00,0.0,5.0 +20835,2023-05-25 16:30:00,0.0,5.0 +20836,2023-05-25 16:40:00,0.0,5.0 +20837,2023-05-25 16:50:00,0.0,5.0 +20844,2023-05-25 18:00:00,0.0,5.0 +20845,2023-05-25 18:10:00,0.0,5.0 +20846,2023-05-25 18:20:00,0.0,5.0 +20847,2023-05-25 18:30:00,0.0,5.0 +20848,2023-05-25 18:40:00,0.0,5.0 +20849,2023-05-25 18:50:00,0.0,5.0 +20850,2023-05-25 19:00:00,0.0,5.0 +20851,2023-05-25 19:10:00,0.0,5.0 +20852,2023-05-25 19:20:00,0.0,5.0 +20853,2023-05-25 19:30:00,0.0,5.0 +20854,2023-05-25 19:40:00,0.0,5.0 +20855,2023-05-25 19:50:00,0.0,5.0 +20856,2023-05-25 20:00:00,0.0,3.0 +20857,2023-05-25 20:10:00,0.0,3.0 +20858,2023-05-25 20:20:00,0.0,3.0 +20859,2023-05-25 20:30:00,0.0,3.0 +20860,2023-05-25 20:40:00,0.0,3.0 +20861,2023-05-25 20:50:00,0.0,3.0 +20862,2023-05-25 21:00:00,0.0,3.0 +20863,2023-05-25 21:10:00,0.0,3.0 +20864,2023-05-25 21:20:00,0.0,3.0 +20865,2023-05-25 21:30:00,0.0,3.0 +20866,2023-05-25 21:40:00,0.0,3.0 +20867,2023-05-25 21:50:00,0.0,3.0 +20868,2023-05-25 22:00:00,0.0,3.0 +20869,2023-05-25 22:10:00,0.0,3.0 +20870,2023-05-25 22:20:00,0.0,3.0 +20871,2023-05-25 22:30:00,0.0,3.0 +20872,2023-05-25 22:40:00,0.0,3.0 +20873,2023-05-25 22:50:00,0.0,3.0 +20886,2023-05-26 01:00:00,0.0,3.0 +20887,2023-05-26 01:10:00,0.0,3.0 +20888,2023-05-26 01:20:00,0.0,3.0 +20889,2023-05-26 01:30:00,0.0,3.0 +20890,2023-05-26 01:40:00,0.0,3.0 +20891,2023-05-26 01:50:00,0.0,3.0 +20898,2023-05-26 03:00:00,0.0,3.0 +20899,2023-05-26 03:10:00,0.0,3.0 +20900,2023-05-26 03:20:00,0.0,3.0 +20901,2023-05-26 03:30:00,0.0,3.0 +20902,2023-05-26 03:40:00,0.0,3.0 +20903,2023-05-26 03:50:00,0.0,3.0 +20910,2023-05-26 05:00:00,0.0,5.0 +20911,2023-05-26 05:10:00,0.0,5.0 +20912,2023-05-26 05:20:00,0.0,5.0 +20913,2023-05-26 05:30:00,0.0,5.0 +20914,2023-05-26 05:40:00,0.0,5.0 +20915,2023-05-26 05:50:00,0.0,5.0 +20916,2023-05-26 06:00:00,0.0,5.0 +20917,2023-05-26 06:10:00,0.0,5.0 +20918,2023-05-26 06:20:00,0.0,5.0 +20919,2023-05-26 06:30:00,0.0,5.0 +20920,2023-05-26 06:40:00,0.0,5.0 +20921,2023-05-26 06:50:00,0.0,5.0 +20922,2023-05-26 07:00:00,0.0,5.0 +20923,2023-05-26 07:10:00,0.0,5.0 +20924,2023-05-26 07:20:00,0.0,5.0 +20925,2023-05-26 07:30:00,0.0,5.0 +20926,2023-05-26 07:40:00,0.0,5.0 +20927,2023-05-26 07:50:00,0.0,5.0 +20946,2023-05-26 11:00:00,0.0,7.0 +20947,2023-05-26 11:10:00,0.0,7.0 +20948,2023-05-26 11:20:00,0.0,7.0 +20949,2023-05-26 11:30:00,0.0,7.0 +20950,2023-05-26 11:40:00,0.0,7.0 +20951,2023-05-26 11:50:00,0.0,7.0 +20952,2023-05-26 12:00:00,0.0,5.0 +20953,2023-05-26 12:10:00,0.0,5.0 +20954,2023-05-26 12:20:00,0.0,5.0 +20955,2023-05-26 12:30:00,0.0,5.0 +20956,2023-05-26 12:40:00,0.0,5.0 +20957,2023-05-26 12:50:00,0.0,5.0 +20970,2023-05-26 15:00:00,0.0,7.0 +20971,2023-05-26 15:10:00,0.0,7.0 +20972,2023-05-26 15:20:00,0.0,7.0 +20973,2023-05-26 15:30:00,0.0,7.0 +20974,2023-05-26 15:40:00,0.0,7.0 +20975,2023-05-26 15:50:00,0.0,7.0 +20982,2023-05-26 17:00:00,0.0,7.0 +20983,2023-05-26 17:10:00,0.0,7.0 +20984,2023-05-26 17:20:00,0.0,7.0 +20985,2023-05-26 17:30:00,0.0,7.0 +20986,2023-05-26 17:40:00,0.0,7.0 +20987,2023-05-26 17:50:00,0.0,7.0 +20988,2023-05-26 18:00:00,0.0,5.0 +20989,2023-05-26 18:10:00,0.0,5.0 +20990,2023-05-26 18:20:00,0.0,5.0 +20991,2023-05-26 18:30:00,0.0,5.0 +20992,2023-05-26 18:40:00,0.0,5.0 +20993,2023-05-26 18:50:00,0.0,5.0 +21006,2023-05-26 21:00:00,0.0,3.0 +21007,2023-05-26 21:10:00,0.0,3.0 +21008,2023-05-26 21:20:00,0.0,3.0 +21009,2023-05-26 21:30:00,0.0,3.0 +21010,2023-05-26 21:40:00,0.0,3.0 +21011,2023-05-26 21:50:00,0.0,3.0 +21024,2023-05-27 00:00:00,0.0,3.0 +21025,2023-05-27 00:10:00,0.0,3.0 +21026,2023-05-27 00:20:00,0.0,3.0 +21027,2023-05-27 00:30:00,0.0,3.0 +21028,2023-05-27 00:40:00,0.0,3.0 +21029,2023-05-27 00:50:00,0.0,3.0 +21030,2023-05-27 01:00:00,0.0,3.0 +21031,2023-05-27 01:10:00,0.0,3.0 +21032,2023-05-27 01:20:00,0.0,3.0 +21033,2023-05-27 01:30:00,0.0,3.0 +21034,2023-05-27 01:40:00,0.0,3.0 +21035,2023-05-27 01:50:00,0.0,3.0 +21054,2023-05-27 05:00:00,0.0,5.0 +21055,2023-05-27 05:10:00,0.0,5.0 +21056,2023-05-27 05:20:00,0.0,5.0 +21057,2023-05-27 05:30:00,0.0,5.0 +21058,2023-05-27 05:40:00,0.0,5.0 +21059,2023-05-27 05:50:00,0.0,5.0 +21060,2023-05-27 06:00:00,0.0,5.0 +21061,2023-05-27 06:10:00,0.0,5.0 +21062,2023-05-27 06:20:00,0.0,5.0 +21063,2023-05-27 06:30:00,0.0,5.0 +21064,2023-05-27 06:40:00,0.0,5.0 +21065,2023-05-27 06:50:00,0.0,5.0 +21066,2023-05-27 07:00:00,0.0,5.0 +21067,2023-05-27 07:10:00,0.0,5.0 +21068,2023-05-27 07:20:00,0.0,5.0 +21069,2023-05-27 07:30:00,0.0,5.0 +21070,2023-05-27 07:40:00,0.0,5.0 +21071,2023-05-27 07:50:00,0.0,5.0 +21078,2023-05-27 09:00:00,0.0,5.0 +21079,2023-05-27 09:10:00,0.0,5.0 +21080,2023-05-27 09:20:00,0.0,5.0 +21081,2023-05-27 09:30:00,0.0,5.0 +21082,2023-05-27 09:40:00,0.0,5.0 +21083,2023-05-27 09:50:00,0.0,5.0 +21090,2023-05-27 11:00:00,0.0,5.0 +21091,2023-05-27 11:10:00,0.0,5.0 +21092,2023-05-27 11:20:00,0.0,5.0 +21093,2023-05-27 11:30:00,0.0,5.0 +21094,2023-05-27 11:40:00,0.0,5.0 +21095,2023-05-27 11:50:00,0.0,5.0 +21102,2023-05-27 13:00:00,0.0,9.0 +21103,2023-05-27 13:10:00,0.0,9.0 +21104,2023-05-27 13:20:00,0.0,9.0 +21105,2023-05-27 13:30:00,0.0,9.0 +21106,2023-05-27 13:40:00,0.0,9.0 +21107,2023-05-27 13:50:00,0.0,9.0 +21108,2023-05-27 14:00:00,0.0,9.0 +21109,2023-05-27 14:10:00,0.0,9.0 +21110,2023-05-27 14:20:00,0.0,9.0 +21111,2023-05-27 14:30:00,0.0,9.0 +21112,2023-05-27 14:40:00,0.0,9.0 +21113,2023-05-27 14:50:00,0.0,9.0 +21114,2023-05-27 15:00:00,0.0,9.0 +21115,2023-05-27 15:10:00,0.0,9.0 +21116,2023-05-27 15:20:00,0.0,9.0 +21117,2023-05-27 15:30:00,0.0,9.0 +21118,2023-05-27 15:40:00,0.0,9.0 +21119,2023-05-27 15:50:00,0.0,9.0 +21126,2023-05-27 17:00:00,0.0,7.0 +21127,2023-05-27 17:10:00,0.0,7.0 +21128,2023-05-27 17:20:00,0.0,7.0 +21129,2023-05-27 17:30:00,0.0,7.0 +21130,2023-05-27 17:40:00,0.0,7.0 +21131,2023-05-27 17:50:00,0.0,7.0 +21138,2023-05-27 19:00:00,0.0,5.0 +21139,2023-05-27 19:10:00,0.0,5.0 +21140,2023-05-27 19:20:00,0.0,5.0 +21141,2023-05-27 19:30:00,0.0,5.0 +21142,2023-05-27 19:40:00,0.0,5.0 +21143,2023-05-27 19:50:00,0.0,5.0 +21156,2023-05-27 22:00:00,0.0,3.0 +21157,2023-05-27 22:10:00,0.0,3.0 +21158,2023-05-27 22:20:00,0.0,3.0 +21159,2023-05-27 22:30:00,0.0,3.0 +21160,2023-05-27 22:40:00,0.0,3.0 +21161,2023-05-27 22:50:00,0.0,3.0 +21162,2023-05-27 23:00:00,0.0,5.0 +21163,2023-05-27 23:10:00,0.0,5.0 +21164,2023-05-27 23:20:00,0.0,5.0 +21165,2023-05-27 23:30:00,0.0,5.0 +21166,2023-05-27 23:40:00,0.0,5.0 +21167,2023-05-27 23:50:00,0.0,5.0 +21180,2023-05-28 02:00:00,0.0,5.0 +21181,2023-05-28 02:10:00,0.0,5.0 +21182,2023-05-28 02:20:00,0.0,5.0 +21183,2023-05-28 02:30:00,0.0,5.0 +21184,2023-05-28 02:40:00,0.0,5.0 +21185,2023-05-28 02:50:00,0.0,5.0 +21186,2023-05-28 03:00:00,0.0,3.0 +21187,2023-05-28 03:10:00,0.0,3.0 +21188,2023-05-28 03:20:00,0.0,3.0 +21189,2023-05-28 03:30:00,0.0,3.0 +21190,2023-05-28 03:40:00,0.0,3.0 +21191,2023-05-28 03:50:00,0.0,3.0 +21192,2023-05-28 04:00:00,0.0,5.0 +21193,2023-05-28 04:10:00,0.0,5.0 +21194,2023-05-28 04:20:00,0.0,5.0 +21195,2023-05-28 04:30:00,0.0,5.0 +21196,2023-05-28 04:40:00,0.0,5.0 +21197,2023-05-28 04:50:00,0.0,5.0 +21204,2023-05-28 06:00:00,0.0,7.0 +21205,2023-05-28 06:10:00,0.0,7.0 +21206,2023-05-28 06:20:00,0.0,7.0 +21207,2023-05-28 06:30:00,0.0,7.0 +21208,2023-05-28 06:40:00,0.0,7.0 +21209,2023-05-28 06:50:00,0.0,7.0 +21210,2023-05-28 07:00:00,0.0,7.0 +21211,2023-05-28 07:10:00,0.0,7.0 +21212,2023-05-28 07:20:00,0.0,7.0 +21213,2023-05-28 07:30:00,0.0,7.0 +21214,2023-05-28 07:40:00,0.0,7.0 +21215,2023-05-28 07:50:00,0.0,7.0 +21222,2023-05-28 09:00:00,0.0,9.0 +21223,2023-05-28 09:10:00,0.0,9.0 +21224,2023-05-28 09:20:00,0.0,9.0 +21225,2023-05-28 09:30:00,0.0,9.0 +21226,2023-05-28 09:40:00,0.0,9.0 +21227,2023-05-28 09:50:00,0.0,9.0 +21234,2023-05-28 11:00:00,0.0,7.0 +21235,2023-05-28 11:10:00,0.0,7.0 +21236,2023-05-28 11:20:00,0.0,7.0 +21237,2023-05-28 11:30:00,0.0,7.0 +21238,2023-05-28 11:40:00,0.0,7.0 +21239,2023-05-28 11:50:00,0.0,7.0 +21240,2023-05-28 12:00:00,0.0,7.0 +21241,2023-05-28 12:10:00,0.0,7.0 +21242,2023-05-28 12:20:00,0.0,7.0 +21243,2023-05-28 12:30:00,0.0,7.0 +21244,2023-05-28 12:40:00,0.0,7.0 +21245,2023-05-28 12:50:00,0.0,7.0 +21258,2023-05-28 15:00:00,0.0,9.0 +21259,2023-05-28 15:10:00,0.0,9.0 +21260,2023-05-28 15:20:00,0.0,9.0 +21261,2023-05-28 15:30:00,0.0,9.0 +21262,2023-05-28 15:40:00,0.0,9.0 +21263,2023-05-28 15:50:00,0.0,9.0 +21264,2023-05-28 16:00:00,0.0,9.0 +21265,2023-05-28 16:10:00,0.0,9.0 +21266,2023-05-28 16:20:00,0.0,9.0 +21267,2023-05-28 16:30:00,0.0,9.0 +21268,2023-05-28 16:40:00,0.0,9.0 +21269,2023-05-28 16:50:00,0.0,9.0 +21270,2023-05-28 17:00:00,0.0,7.0 +21271,2023-05-28 17:10:00,0.0,7.0 +21272,2023-05-28 17:20:00,0.0,7.0 +21273,2023-05-28 17:30:00,0.0,7.0 +21274,2023-05-28 17:40:00,0.0,7.0 +21275,2023-05-28 17:50:00,0.0,7.0 +21312,2023-05-29 00:00:00,0.0,5.0 +21313,2023-05-29 00:10:00,0.0,5.0 +21314,2023-05-29 00:20:00,0.0,5.0 +21315,2023-05-29 00:30:00,0.0,5.0 +21316,2023-05-29 00:40:00,0.0,5.0 +21317,2023-05-29 00:50:00,0.0,5.0 +21318,2023-05-29 01:00:00,0.0,5.0 +21319,2023-05-29 01:10:00,0.0,5.0 +21320,2023-05-29 01:20:00,0.0,5.0 +21321,2023-05-29 01:30:00,0.0,5.0 +21322,2023-05-29 01:40:00,0.0,5.0 +21323,2023-05-29 01:50:00,0.0,5.0 +21354,2023-05-29 07:00:00,0.0,5.0 +21355,2023-05-29 07:10:00,0.0,5.0 +21356,2023-05-29 07:20:00,0.0,5.0 +21357,2023-05-29 07:30:00,0.0,5.0 +21358,2023-05-29 07:40:00,0.0,5.0 +21359,2023-05-29 07:50:00,0.0,5.0 +21360,2023-05-29 08:00:00,0.0,5.0 +21361,2023-05-29 08:10:00,0.0,5.0 +21362,2023-05-29 08:20:00,0.0,5.0 +21363,2023-05-29 08:30:00,0.0,5.0 +21364,2023-05-29 08:40:00,0.0,5.0 +21365,2023-05-29 08:50:00,0.0,5.0 +21378,2023-05-29 11:00:00,0.0,7.0 +21379,2023-05-29 11:10:00,0.0,7.0 +21380,2023-05-29 11:20:00,0.0,7.0 +21381,2023-05-29 11:30:00,0.0,7.0 +21382,2023-05-29 11:40:00,0.0,7.0 +21383,2023-05-29 11:50:00,0.0,7.0 +21402,2023-05-29 15:00:00,0.0,7.0 +21403,2023-05-29 15:10:00,0.0,7.0 +21404,2023-05-29 15:20:00,0.0,7.0 +21405,2023-05-29 15:30:00,0.0,7.0 +21406,2023-05-29 15:40:00,0.0,7.0 +21407,2023-05-29 15:50:00,0.0,7.0 +21414,2023-05-29 17:00:00,0.0,7.0 +21415,2023-05-29 17:10:00,0.0,7.0 +21416,2023-05-29 17:20:00,0.0,7.0 +21417,2023-05-29 17:30:00,0.0,7.0 +21418,2023-05-29 17:40:00,0.0,7.0 +21419,2023-05-29 17:50:00,0.0,7.0 +21444,2023-05-29 22:00:00,0.0,3.0 +21445,2023-05-29 22:10:00,0.0,3.0 +21446,2023-05-29 22:20:00,0.0,3.0 +21447,2023-05-29 22:30:00,0.0,3.0 +21448,2023-05-29 22:40:00,0.0,3.0 +21449,2023-05-29 22:50:00,0.0,3.0 +21450,2023-05-29 23:00:00,0.0,3.0 +21451,2023-05-29 23:10:00,0.0,3.0 +21452,2023-05-29 23:20:00,0.0,3.0 +21453,2023-05-29 23:30:00,0.0,3.0 +21454,2023-05-29 23:40:00,0.0,3.0 +21455,2023-05-29 23:50:00,0.0,3.0 +21468,2023-05-30 02:00:00,0.0,5.0 +21469,2023-05-30 02:10:00,0.0,5.0 +21470,2023-05-30 02:20:00,0.0,5.0 +21471,2023-05-30 02:30:00,0.0,5.0 +21472,2023-05-30 02:40:00,0.0,5.0 +21473,2023-05-30 02:50:00,0.0,5.0 +21480,2023-05-30 04:00:00,0.0,5.0 +21481,2023-05-30 04:10:00,0.0,5.0 +21482,2023-05-30 04:20:00,0.0,5.0 +21483,2023-05-30 04:30:00,0.0,5.0 +21484,2023-05-30 04:40:00,0.0,5.0 +21485,2023-05-30 04:50:00,0.0,5.0 +21498,2023-05-30 07:00:00,0.0,5.0 +21499,2023-05-30 07:10:00,0.0,5.0 +21500,2023-05-30 07:20:00,0.0,5.0 +21501,2023-05-30 07:30:00,0.0,5.0 +21502,2023-05-30 07:40:00,0.0,5.0 +21503,2023-05-30 07:50:00,0.0,5.0 +21504,2023-05-30 08:00:00,0.0,5.0 +21505,2023-05-30 08:10:00,0.0,5.0 +21506,2023-05-30 08:20:00,0.0,5.0 +21507,2023-05-30 08:30:00,0.0,5.0 +21508,2023-05-30 08:40:00,0.0,5.0 +21509,2023-05-30 08:50:00,0.0,5.0 +21510,2023-05-30 09:00:00,0.0,5.0 +21511,2023-05-30 09:10:00,0.0,5.0 +21512,2023-05-30 09:20:00,0.0,5.0 +21513,2023-05-30 09:30:00,0.0,5.0 +21514,2023-05-30 09:40:00,0.0,5.0 +21515,2023-05-30 09:50:00,0.0,5.0 +21516,2023-05-30 10:00:00,0.0,5.0 +21517,2023-05-30 10:10:00,0.0,5.0 +21518,2023-05-30 10:20:00,0.0,5.0 +21519,2023-05-30 10:30:00,0.0,5.0 +21520,2023-05-30 10:40:00,0.0,5.0 +21521,2023-05-30 10:50:00,0.0,5.0 +21528,2023-05-30 12:00:00,0.0,5.0 +21529,2023-05-30 12:10:00,0.0,5.0 +21530,2023-05-30 12:20:00,0.0,5.0 +21531,2023-05-30 12:30:00,0.0,5.0 +21532,2023-05-30 12:40:00,0.0,5.0 +21533,2023-05-30 12:50:00,0.0,5.0 +21540,2023-05-30 14:00:00,0.0,5.0 +21541,2023-05-30 14:10:00,0.0,5.0 +21542,2023-05-30 14:20:00,0.0,5.0 +21543,2023-05-30 14:30:00,0.0,5.0 +21544,2023-05-30 14:40:00,0.0,5.0 +21545,2023-05-30 14:50:00,0.0,5.0 +21552,2023-05-30 16:00:00,0.0,5.0 +21553,2023-05-30 16:10:00,0.0,5.0 +21554,2023-05-30 16:20:00,0.0,5.0 +21555,2023-05-30 16:30:00,0.0,5.0 +21556,2023-05-30 16:40:00,0.0,5.0 +21557,2023-05-30 16:50:00,0.0,5.0 +21558,2023-05-30 17:00:00,0.0,7.0 +21559,2023-05-30 17:10:00,0.0,7.0 +21560,2023-05-30 17:20:00,0.0,7.0 +21561,2023-05-30 17:30:00,0.0,7.0 +21562,2023-05-30 17:40:00,0.0,7.0 +21563,2023-05-30 17:50:00,0.0,7.0 +21570,2023-05-30 19:00:00,0.0,5.0 +21571,2023-05-30 19:10:00,0.0,5.0 +21572,2023-05-30 19:20:00,0.0,5.0 +21573,2023-05-30 19:30:00,0.0,5.0 +21574,2023-05-30 19:40:00,0.0,5.0 +21575,2023-05-30 19:50:00,0.0,5.0 +21582,2023-05-30 21:00:00,0.0,5.0 +21583,2023-05-30 21:10:00,0.0,5.0 +21584,2023-05-30 21:20:00,0.0,5.0 +21585,2023-05-30 21:30:00,0.0,5.0 +21586,2023-05-30 21:40:00,0.0,5.0 +21587,2023-05-30 21:50:00,0.0,5.0 +21600,2023-05-31 00:00:00,0.0,5.0 +21601,2023-05-31 00:10:00,0.0,5.0 +21602,2023-05-31 00:20:00,0.0,5.0 +21603,2023-05-31 00:30:00,0.0,5.0 +21604,2023-05-31 00:40:00,0.0,5.0 +21605,2023-05-31 00:50:00,0.0,5.0 +21612,2023-05-31 02:00:00,0.0,3.0 +21613,2023-05-31 02:10:00,0.0,3.0 +21614,2023-05-31 02:20:00,0.0,3.0 +21615,2023-05-31 02:30:00,0.0,3.0 +21616,2023-05-31 02:40:00,0.0,3.0 +21617,2023-05-31 02:50:00,0.0,3.0 +21624,2023-05-31 04:00:00,0.0,5.0 +21625,2023-05-31 04:10:00,0.0,5.0 +21626,2023-05-31 04:20:00,0.0,5.0 +21627,2023-05-31 04:30:00,0.0,5.0 +21628,2023-05-31 04:40:00,0.0,5.0 +21629,2023-05-31 04:50:00,0.0,5.0 +21630,2023-05-31 05:00:00,0.0,5.0 +21631,2023-05-31 05:10:00,0.0,5.0 +21632,2023-05-31 05:20:00,0.0,5.0 +21633,2023-05-31 05:30:00,0.0,5.0 +21634,2023-05-31 05:40:00,0.0,5.0 +21635,2023-05-31 05:50:00,0.0,5.0 +21642,2023-05-31 07:00:00,0.0,7.0 +21643,2023-05-31 07:10:00,0.0,7.0 +21644,2023-05-31 07:20:00,0.0,7.0 +21645,2023-05-31 07:30:00,0.0,7.0 +21646,2023-05-31 07:40:00,0.0,7.0 +21647,2023-05-31 07:50:00,0.0,7.0 +21672,2023-05-31 12:00:00,0.0,5.0 +21673,2023-05-31 12:10:00,0.0,5.0 +21674,2023-05-31 12:20:00,0.0,5.0 +21675,2023-05-31 12:30:00,0.0,5.0 +21676,2023-05-31 12:40:00,0.0,5.0 +21677,2023-05-31 12:50:00,0.0,5.0 +21684,2023-05-31 14:00:00,0.0,11.0 +21685,2023-05-31 14:10:00,0.0,11.0 +21686,2023-05-31 14:20:00,0.0,11.0 +21687,2023-05-31 14:30:00,0.0,11.0 +21688,2023-05-31 14:40:00,0.0,11.0 +21689,2023-05-31 14:50:00,0.0,11.0 +21690,2023-05-31 15:00:00,0.0,7.0 +21691,2023-05-31 15:10:00,0.0,7.0 +21692,2023-05-31 15:20:00,0.0,7.0 +21693,2023-05-31 15:30:00,0.0,7.0 +21694,2023-05-31 15:40:00,0.0,7.0 +21695,2023-05-31 15:50:00,0.0,7.0 +21696,2023-05-31 16:00:00,0.0,9.0 +21697,2023-05-31 16:10:00,0.0,9.0 +21698,2023-05-31 16:20:00,0.0,9.0 +21699,2023-05-31 16:30:00,0.0,9.0 +21700,2023-05-31 16:40:00,0.0,9.0 +21701,2023-05-31 16:50:00,0.0,9.0 +21708,2023-05-31 18:00:00,0.0,5.0 +21709,2023-05-31 18:10:00,0.0,5.0 +21710,2023-05-31 18:20:00,0.0,5.0 +21711,2023-05-31 18:30:00,0.0,5.0 +21712,2023-05-31 18:40:00,0.0,5.0 +21713,2023-05-31 18:50:00,0.0,5.0 +21714,2023-05-31 19:00:00,0.0,5.0 +21715,2023-05-31 19:10:00,0.0,5.0 +21716,2023-05-31 19:20:00,0.0,5.0 +21717,2023-05-31 19:30:00,0.0,5.0 +21718,2023-05-31 19:40:00,0.0,5.0 +21719,2023-05-31 19:50:00,0.0,5.0 +21726,2023-05-31 21:00:00,0.0,5.0 +21727,2023-05-31 21:10:00,0.0,5.0 +21728,2023-05-31 21:20:00,0.0,5.0 +21729,2023-05-31 21:30:00,0.0,5.0 +21730,2023-05-31 21:40:00,0.0,5.0 +21731,2023-05-31 21:50:00,0.0,5.0 +21732,2023-05-31 22:00:00,0.0,5.0 +21733,2023-05-31 22:10:00,0.0,5.0 +21734,2023-05-31 22:20:00,0.0,5.0 +21735,2023-05-31 22:30:00,0.0,5.0 +21736,2023-05-31 22:40:00,0.0,5.0 +21737,2023-05-31 22:50:00,0.0,5.0 +21744,2023-06-01 00:00:00,0.0,5.0 +21745,2023-06-01 00:10:00,0.0,5.0 +21746,2023-06-01 00:20:00,0.0,5.0 +21747,2023-06-01 00:30:00,0.0,5.0 +21748,2023-06-01 00:40:00,0.0,5.0 +21749,2023-06-01 00:50:00,0.0,5.0 +21750,2023-06-01 01:00:00,0.0,5.0 +21751,2023-06-01 01:10:00,0.0,5.0 +21752,2023-06-01 01:20:00,0.0,5.0 +21753,2023-06-01 01:30:00,0.0,5.0 +21754,2023-06-01 01:40:00,0.0,5.0 +21755,2023-06-01 01:50:00,0.0,5.0 +21768,2023-06-01 04:00:00,0.0,5.0 +21769,2023-06-01 04:10:00,0.0,5.0 +21770,2023-06-01 04:20:00,0.0,5.0 +21771,2023-06-01 04:30:00,0.0,5.0 +21772,2023-06-01 04:40:00,0.0,5.0 +21773,2023-06-01 04:50:00,0.0,5.0 +21798,2023-06-01 09:00:00,0.0,5.0 +21799,2023-06-01 09:10:00,0.0,5.0 +21800,2023-06-01 09:20:00,0.0,5.0 +21801,2023-06-01 09:30:00,0.0,5.0 +21802,2023-06-01 09:40:00,0.0,5.0 +21803,2023-06-01 09:50:00,0.0,5.0 +21822,2023-06-01 13:00:00,0.0,5.0 +21823,2023-06-01 13:10:00,0.0,5.0 +21824,2023-06-01 13:20:00,0.0,5.0 +21825,2023-06-01 13:30:00,0.0,5.0 +21826,2023-06-01 13:40:00,0.0,5.0 +21827,2023-06-01 13:50:00,0.0,5.0 +21828,2023-06-01 14:00:00,0.0,5.0 +21829,2023-06-01 14:10:00,0.0,5.0 +21830,2023-06-01 14:20:00,0.0,5.0 +21831,2023-06-01 14:30:00,0.0,5.0 +21832,2023-06-01 14:40:00,0.0,5.0 +21833,2023-06-01 14:50:00,0.0,5.0 +21834,2023-06-01 15:00:00,0.0,9.0 +21835,2023-06-01 15:10:00,0.0,9.0 +21836,2023-06-01 15:20:00,0.0,9.0 +21837,2023-06-01 15:30:00,0.0,9.0 +21838,2023-06-01 15:40:00,0.0,9.0 +21839,2023-06-01 15:50:00,0.0,9.0 +21864,2023-06-01 20:00:00,0.0,5.0 +21865,2023-06-01 20:10:00,0.0,5.0 +21866,2023-06-01 20:20:00,0.0,5.0 +21867,2023-06-01 20:30:00,0.0,5.0 +21868,2023-06-01 20:40:00,0.0,5.0 +21869,2023-06-01 20:50:00,0.0,5.0 +21882,2023-06-01 23:00:00,0.0,5.0 +21883,2023-06-01 23:10:00,0.0,5.0 +21884,2023-06-01 23:20:00,0.0,5.0 +21885,2023-06-01 23:30:00,0.0,5.0 +21886,2023-06-01 23:40:00,0.0,5.0 +21887,2023-06-01 23:50:00,0.0,5.0 +21894,2023-06-02 01:00:00,0.0,5.0 +21895,2023-06-02 01:10:00,0.0,5.0 +21896,2023-06-02 01:20:00,0.0,5.0 +21897,2023-06-02 01:30:00,0.0,5.0 +21898,2023-06-02 01:40:00,0.0,5.0 +21899,2023-06-02 01:50:00,0.0,5.0 +21900,2023-06-02 02:00:00,0.0,5.0 +21901,2023-06-02 02:10:00,0.0,5.0 +21902,2023-06-02 02:20:00,0.0,5.0 +21903,2023-06-02 02:30:00,0.0,5.0 +21904,2023-06-02 02:40:00,0.0,5.0 +21905,2023-06-02 02:50:00,0.0,5.0 +21924,2023-06-02 06:00:00,0.0,5.0 +21925,2023-06-02 06:10:00,0.0,5.0 +21926,2023-06-02 06:20:00,0.0,5.0 +21927,2023-06-02 06:30:00,0.0,5.0 +21928,2023-06-02 06:40:00,0.0,5.0 +21929,2023-06-02 06:50:00,0.0,5.0 +21930,2023-06-02 07:00:00,0.0,5.0 +21931,2023-06-02 07:10:00,0.0,5.0 +21932,2023-06-02 07:20:00,0.0,5.0 +21933,2023-06-02 07:30:00,0.0,5.0 +21934,2023-06-02 07:40:00,0.0,5.0 +21935,2023-06-02 07:50:00,0.0,5.0 +21942,2023-06-02 09:00:00,0.0,5.0 +21943,2023-06-02 09:10:00,0.0,5.0 +21944,2023-06-02 09:20:00,0.0,5.0 +21945,2023-06-02 09:30:00,0.0,5.0 +21946,2023-06-02 09:40:00,0.0,5.0 +21947,2023-06-02 09:50:00,0.0,5.0 +21954,2023-06-02 11:00:00,0.0,7.0 +21955,2023-06-02 11:10:00,0.0,7.0 +21956,2023-06-02 11:20:00,0.0,7.0 +21957,2023-06-02 11:30:00,0.0,7.0 +21958,2023-06-02 11:40:00,0.0,7.0 +21959,2023-06-02 11:50:00,0.0,7.0 +21978,2023-06-02 15:00:00,0.0,7.0 +21979,2023-06-02 15:10:00,0.0,7.0 +21980,2023-06-02 15:20:00,0.0,7.0 +21981,2023-06-02 15:30:00,0.0,7.0 +21982,2023-06-02 15:40:00,0.0,7.0 +21983,2023-06-02 15:50:00,0.0,7.0 +21984,2023-06-02 16:00:00,0.0,7.0 +21985,2023-06-02 16:10:00,0.0,7.0 +21986,2023-06-02 16:20:00,0.0,7.0 +21987,2023-06-02 16:30:00,0.0,7.0 +21988,2023-06-02 16:40:00,0.0,7.0 +21989,2023-06-02 16:50:00,0.0,7.0 +21996,2023-06-02 18:00:00,0.0,7.0 +21997,2023-06-02 18:10:00,0.0,7.0 +21998,2023-06-02 18:20:00,0.0,7.0 +21999,2023-06-02 18:30:00,0.0,7.0 +22000,2023-06-02 18:40:00,0.0,7.0 +22001,2023-06-02 18:50:00,0.0,7.0 +22002,2023-06-02 19:00:00,0.0,5.0 +22003,2023-06-02 19:10:00,0.0,5.0 +22004,2023-06-02 19:20:00,0.0,5.0 +22005,2023-06-02 19:30:00,0.0,5.0 +22006,2023-06-02 19:40:00,0.0,5.0 +22007,2023-06-02 19:50:00,0.0,5.0 +22008,2023-06-02 20:00:00,0.0,5.0 +22009,2023-06-02 20:10:00,0.0,5.0 +22010,2023-06-02 20:20:00,0.0,5.0 +22011,2023-06-02 20:30:00,0.0,5.0 +22012,2023-06-02 20:40:00,0.0,5.0 +22013,2023-06-02 20:50:00,0.0,5.0 +22014,2023-06-02 21:00:00,0.0,5.0 +22015,2023-06-02 21:10:00,0.0,5.0 +22016,2023-06-02 21:20:00,0.0,5.0 +22017,2023-06-02 21:30:00,0.0,5.0 +22018,2023-06-02 21:40:00,0.0,5.0 +22019,2023-06-02 21:50:00,0.0,5.0 +22026,2023-06-02 23:00:00,0.0,5.0 +22027,2023-06-02 23:10:00,0.0,5.0 +22028,2023-06-02 23:20:00,0.0,5.0 +22029,2023-06-02 23:30:00,0.0,5.0 +22030,2023-06-02 23:40:00,0.0,5.0 +22031,2023-06-02 23:50:00,0.0,5.0 +22044,2023-06-03 02:00:00,0.0,5.0 +22045,2023-06-03 02:10:00,0.0,5.0 +22046,2023-06-03 02:20:00,0.0,5.0 +22047,2023-06-03 02:30:00,0.0,5.0 +22048,2023-06-03 02:40:00,0.0,5.0 +22049,2023-06-03 02:50:00,0.0,5.0 +22050,2023-06-03 03:00:00,0.0,3.0 +22051,2023-06-03 03:10:00,0.0,3.0 +22052,2023-06-03 03:20:00,0.0,3.0 +22053,2023-06-03 03:30:00,0.0,3.0 +22054,2023-06-03 03:40:00,0.0,3.0 +22055,2023-06-03 03:50:00,0.0,3.0 +22068,2023-06-03 06:00:00,0.0,7.0 +22069,2023-06-03 06:10:00,0.0,7.0 +22070,2023-06-03 06:20:00,0.0,7.0 +22071,2023-06-03 06:30:00,0.0,7.0 +22072,2023-06-03 06:40:00,0.0,7.0 +22073,2023-06-03 06:50:00,0.0,7.0 +22092,2023-06-03 10:00:00,0.0,7.0 +22093,2023-06-03 10:10:00,0.0,7.0 +22094,2023-06-03 10:20:00,0.0,7.0 +22095,2023-06-03 10:30:00,0.0,7.0 +22096,2023-06-03 10:40:00,0.0,7.0 +22097,2023-06-03 10:50:00,0.0,7.0 +22098,2023-06-03 11:00:00,0.0,7.0 +22099,2023-06-03 11:10:00,0.0,7.0 +22100,2023-06-03 11:20:00,0.0,7.0 +22101,2023-06-03 11:30:00,0.0,7.0 +22102,2023-06-03 11:40:00,0.0,7.0 +22103,2023-06-03 11:50:00,0.0,7.0 +22104,2023-06-03 12:00:00,0.0,7.0 +22105,2023-06-03 12:10:00,0.0,7.0 +22106,2023-06-03 12:20:00,0.0,7.0 +22107,2023-06-03 12:30:00,0.0,7.0 +22108,2023-06-03 12:40:00,0.0,7.0 +22109,2023-06-03 12:50:00,0.0,7.0 +22110,2023-06-03 13:00:00,0.0,9.0 +22111,2023-06-03 13:10:00,0.0,9.0 +22112,2023-06-03 13:20:00,0.0,9.0 +22113,2023-06-03 13:30:00,0.0,9.0 +22114,2023-06-03 13:40:00,0.0,9.0 +22115,2023-06-03 13:50:00,0.0,9.0 +22116,2023-06-03 14:00:00,0.0,9.0 +22117,2023-06-03 14:10:00,0.0,9.0 +22118,2023-06-03 14:20:00,0.0,9.0 +22119,2023-06-03 14:30:00,0.0,9.0 +22120,2023-06-03 14:40:00,0.0,9.0 +22121,2023-06-03 14:50:00,0.0,9.0 +22122,2023-06-03 15:00:00,0.0,9.0 +22123,2023-06-03 15:10:00,0.0,9.0 +22124,2023-06-03 15:20:00,0.0,9.0 +22125,2023-06-03 15:30:00,0.0,9.0 +22126,2023-06-03 15:40:00,0.0,9.0 +22127,2023-06-03 15:50:00,0.0,9.0 +22128,2023-06-03 16:00:00,0.0,7.0 +22129,2023-06-03 16:10:00,0.0,7.0 +22130,2023-06-03 16:20:00,0.0,7.0 +22131,2023-06-03 16:30:00,0.0,7.0 +22132,2023-06-03 16:40:00,0.0,7.0 +22133,2023-06-03 16:50:00,0.0,7.0 +22134,2023-06-03 17:00:00,0.0,9.0 +22135,2023-06-03 17:10:00,0.0,9.0 +22136,2023-06-03 17:20:00,0.0,9.0 +22137,2023-06-03 17:30:00,0.0,9.0 +22138,2023-06-03 17:40:00,0.0,9.0 +22139,2023-06-03 17:50:00,0.0,9.0 +22140,2023-06-03 18:00:00,0.0,7.0 +22141,2023-06-03 18:10:00,0.0,7.0 +22142,2023-06-03 18:20:00,0.0,7.0 +22143,2023-06-03 18:30:00,0.0,7.0 +22144,2023-06-03 18:40:00,0.0,7.0 +22145,2023-06-03 18:50:00,0.0,7.0 +22146,2023-06-03 19:00:00,0.0,7.0 +22147,2023-06-03 19:10:00,0.0,7.0 +22148,2023-06-03 19:20:00,0.0,7.0 +22149,2023-06-03 19:30:00,0.0,7.0 +22150,2023-06-03 19:40:00,0.0,7.0 +22151,2023-06-03 19:50:00,0.0,7.0 +22152,2023-06-03 20:00:00,0.0,5.0 +22153,2023-06-03 20:10:00,0.0,5.0 +22154,2023-06-03 20:20:00,0.0,5.0 +22155,2023-06-03 20:30:00,0.0,5.0 +22156,2023-06-03 20:40:00,0.0,5.0 +22157,2023-06-03 20:50:00,0.0,5.0 +22158,2023-06-03 21:00:00,0.0,5.0 +22159,2023-06-03 21:10:00,0.0,5.0 +22160,2023-06-03 21:20:00,0.0,5.0 +22161,2023-06-03 21:30:00,0.0,5.0 +22162,2023-06-03 21:40:00,0.0,5.0 +22163,2023-06-03 21:50:00,0.0,5.0 +22164,2023-06-03 22:00:00,0.0,5.0 +22165,2023-06-03 22:10:00,0.0,5.0 +22166,2023-06-03 22:20:00,0.0,5.0 +22167,2023-06-03 22:30:00,0.0,5.0 +22168,2023-06-03 22:40:00,0.0,5.0 +22169,2023-06-03 22:50:00,0.0,5.0 +22176,2023-06-04 00:00:00,0.0,3.0 +22177,2023-06-04 00:10:00,0.0,3.0 +22178,2023-06-04 00:20:00,0.0,3.0 +22179,2023-06-04 00:30:00,0.0,3.0 +22180,2023-06-04 00:40:00,0.0,3.0 +22181,2023-06-04 00:50:00,0.0,3.0 +22182,2023-06-04 01:00:00,0.0,5.0 +22183,2023-06-04 01:10:00,0.0,5.0 +22184,2023-06-04 01:20:00,0.0,5.0 +22185,2023-06-04 01:30:00,0.0,5.0 +22186,2023-06-04 01:40:00,0.0,5.0 +22187,2023-06-04 01:50:00,0.0,5.0 +22188,2023-06-04 02:00:00,0.0,3.0 +22189,2023-06-04 02:10:00,0.0,3.0 +22190,2023-06-04 02:20:00,0.0,3.0 +22191,2023-06-04 02:30:00,0.0,3.0 +22192,2023-06-04 02:40:00,0.0,3.0 +22193,2023-06-04 02:50:00,0.0,3.0 +22194,2023-06-04 03:00:00,0.0,5.0 +22195,2023-06-04 03:10:00,0.0,5.0 +22196,2023-06-04 03:20:00,0.0,5.0 +22197,2023-06-04 03:30:00,0.0,5.0 +22198,2023-06-04 03:40:00,0.0,5.0 +22199,2023-06-04 03:50:00,0.0,5.0 +22212,2023-06-04 06:00:00,0.0,5.0 +22213,2023-06-04 06:10:00,0.0,5.0 +22214,2023-06-04 06:20:00,0.0,5.0 +22215,2023-06-04 06:30:00,0.0,5.0 +22216,2023-06-04 06:40:00,0.0,5.0 +22217,2023-06-04 06:50:00,0.0,5.0 +22230,2023-06-04 09:00:00,0.0,9.0 +22231,2023-06-04 09:10:00,0.0,9.0 +22232,2023-06-04 09:20:00,0.0,9.0 +22233,2023-06-04 09:30:00,0.0,9.0 +22234,2023-06-04 09:40:00,0.0,9.0 +22235,2023-06-04 09:50:00,0.0,9.0 +22242,2023-06-04 11:00:00,0.0,7.0 +22243,2023-06-04 11:10:00,0.0,7.0 +22244,2023-06-04 11:20:00,0.0,7.0 +22245,2023-06-04 11:30:00,0.0,7.0 +22246,2023-06-04 11:40:00,0.0,7.0 +22247,2023-06-04 11:50:00,0.0,7.0 +22260,2023-06-04 14:00:00,0.0,9.0 +22261,2023-06-04 14:10:00,0.0,9.0 +22262,2023-06-04 14:20:00,0.0,9.0 +22263,2023-06-04 14:30:00,0.0,9.0 +22264,2023-06-04 14:40:00,0.0,9.0 +22265,2023-06-04 14:50:00,0.0,9.0 +22266,2023-06-04 15:00:00,0.0,9.0 +22267,2023-06-04 15:10:00,0.0,9.0 +22268,2023-06-04 15:20:00,0.0,9.0 +22269,2023-06-04 15:30:00,0.0,9.0 +22270,2023-06-04 15:40:00,0.0,9.0 +22271,2023-06-04 15:50:00,0.0,9.0 +22272,2023-06-04 16:00:00,0.0,7.0 +22273,2023-06-04 16:10:00,0.0,7.0 +22274,2023-06-04 16:20:00,0.0,7.0 +22275,2023-06-04 16:30:00,0.0,7.0 +22276,2023-06-04 16:40:00,0.0,7.0 +22277,2023-06-04 16:50:00,0.0,7.0 +22296,2023-06-04 20:00:00,0.0,5.0 +22297,2023-06-04 20:10:00,0.0,5.0 +22298,2023-06-04 20:20:00,0.0,5.0 +22299,2023-06-04 20:30:00,0.0,5.0 +22300,2023-06-04 20:40:00,0.0,5.0 +22301,2023-06-04 20:50:00,0.0,5.0 +22308,2023-06-04 22:00:00,0.0,5.0 +22309,2023-06-04 22:10:00,0.0,5.0 +22310,2023-06-04 22:20:00,0.0,5.0 +22311,2023-06-04 22:30:00,0.0,5.0 +22312,2023-06-04 22:40:00,0.0,5.0 +22313,2023-06-04 22:50:00,0.0,5.0 +22332,2023-06-05 02:00:00,0.0,3.0 +22333,2023-06-05 02:10:00,0.0,3.0 +22334,2023-06-05 02:20:00,0.0,3.0 +22335,2023-06-05 02:30:00,0.0,3.0 +22336,2023-06-05 02:40:00,0.0,3.0 +22337,2023-06-05 02:50:00,0.0,3.0 +22344,2023-06-05 04:00:00,0.0,5.0 +22345,2023-06-05 04:10:00,0.0,5.0 +22346,2023-06-05 04:20:00,0.0,5.0 +22347,2023-06-05 04:30:00,0.0,5.0 +22348,2023-06-05 04:40:00,0.0,5.0 +22349,2023-06-05 04:50:00,0.0,5.0 +22350,2023-06-05 05:00:00,0.0,5.0 +22351,2023-06-05 05:10:00,0.0,5.0 +22352,2023-06-05 05:20:00,0.0,5.0 +22353,2023-06-05 05:30:00,0.0,5.0 +22354,2023-06-05 05:40:00,0.0,5.0 +22355,2023-06-05 05:50:00,0.0,5.0 +22356,2023-06-05 06:00:00,0.0,5.0 +22357,2023-06-05 06:10:00,0.0,5.0 +22358,2023-06-05 06:20:00,0.0,5.0 +22359,2023-06-05 06:30:00,0.0,5.0 +22360,2023-06-05 06:40:00,0.0,5.0 +22361,2023-06-05 06:50:00,0.0,5.0 +22362,2023-06-05 07:00:00,0.0,7.0 +22363,2023-06-05 07:10:00,0.0,7.0 +22364,2023-06-05 07:20:00,0.0,7.0 +22365,2023-06-05 07:30:00,0.0,7.0 +22366,2023-06-05 07:40:00,0.0,7.0 +22367,2023-06-05 07:50:00,0.0,7.0 +22380,2023-06-05 10:00:00,0.0,7.0 +22381,2023-06-05 10:10:00,0.0,7.0 +22382,2023-06-05 10:20:00,0.0,7.0 +22383,2023-06-05 10:30:00,0.0,7.0 +22384,2023-06-05 10:40:00,0.0,7.0 +22385,2023-06-05 10:50:00,0.0,7.0 +22386,2023-06-05 11:00:00,0.0,7.0 +22387,2023-06-05 11:10:00,0.0,7.0 +22388,2023-06-05 11:20:00,0.0,7.0 +22389,2023-06-05 11:30:00,0.0,7.0 +22390,2023-06-05 11:40:00,0.0,7.0 +22391,2023-06-05 11:50:00,0.0,7.0 +22398,2023-06-05 13:00:00,0.0,5.0 +22399,2023-06-05 13:10:00,0.0,5.0 +22400,2023-06-05 13:20:00,0.0,5.0 +22401,2023-06-05 13:30:00,0.0,5.0 +22402,2023-06-05 13:40:00,0.0,5.0 +22403,2023-06-05 13:50:00,0.0,5.0 +22404,2023-06-05 14:00:00,0.0,9.0 +22405,2023-06-05 14:10:00,0.0,9.0 +22406,2023-06-05 14:20:00,0.0,9.0 +22407,2023-06-05 14:30:00,0.0,9.0 +22408,2023-06-05 14:40:00,0.0,9.0 +22409,2023-06-05 14:50:00,0.0,9.0 +22416,2023-06-05 16:00:00,0.0,7.0 +22417,2023-06-05 16:10:00,0.0,7.0 +22418,2023-06-05 16:20:00,0.0,7.0 +22419,2023-06-05 16:30:00,0.0,7.0 +22420,2023-06-05 16:40:00,0.0,7.0 +22421,2023-06-05 16:50:00,0.0,7.0 +22422,2023-06-05 17:00:00,0.0,5.0 +22423,2023-06-05 17:10:00,0.0,5.0 +22424,2023-06-05 17:20:00,0.0,5.0 +22425,2023-06-05 17:30:00,0.0,5.0 +22426,2023-06-05 17:40:00,0.0,5.0 +22427,2023-06-05 17:50:00,0.0,5.0 +22446,2023-06-05 21:00:00,0.0,5.0 +22447,2023-06-05 21:10:00,0.0,5.0 +22448,2023-06-05 21:20:00,0.0,5.0 +22449,2023-06-05 21:30:00,0.0,5.0 +22450,2023-06-05 21:40:00,0.0,5.0 +22451,2023-06-05 21:50:00,0.0,5.0 From f85db967b571350fb593abcd5e04f414d8fd11e9 Mon Sep 17 00:00:00 2001 From: IreneThoma Date: Wed, 14 Jun 2023 11:39:43 +0200 Subject: [PATCH 12/12] delete csv --- .gitignore | 1 + data_used/Transformed_weather_steps.csv | 11653 ---------------------- 2 files changed, 1 insertion(+), 11653 deletions(-) delete mode 100644 data_used/Transformed_weather_steps.csv diff --git a/.gitignore b/.gitignore index be004c19..458278d0 100644 --- a/.gitignore +++ b/.gitignore @@ -47,3 +47,4 @@ Missing_data/transformation_notgood.py New_weather_steps.csv Steps_weather_combined.csv Missing_data/EDA_old.ipynb +Transformed_weather_steps.csv diff --git a/data_used/Transformed_weather_steps.csv b/data_used/Transformed_weather_steps.csv deleted file mode 100644 index f03e0d04..00000000 --- a/data_used/Transformed_weather_steps.csv +++ /dev/null @@ -1,11653 +0,0 @@ -,start,steps,combined -0,2023-01-01 00:00:00,0.0,5.0 -1,2023-01-01 00:10:00,97.05405405405403,5.0 -2,2023-01-01 00:20:00,94.94594594594597,5.0 -3,2023-01-01 00:30:00,0.0,5.0 -4,2023-01-01 00:40:00,46.876666666666665,5.0 -5,2023-01-01 00:50:00,126.32623188405796,5.0 -12,2023-01-01 02:00:00,0.0,5.0 -13,2023-01-01 02:10:00,117.96296296296296,5.0 -14,2023-01-01 02:20:00,134.03703703703704,5.0 -15,2023-01-01 02:30:00,113.0,5.0 -16,2023-01-01 02:40:00,11.586919104991392,5.0 -17,2023-01-01 02:50:00,109.01341534316914,5.0 -36,2023-01-01 06:00:00,0.0,5.0 -37,2023-01-01 06:10:00,0.0,5.0 -38,2023-01-01 06:20:00,0.0,5.0 -39,2023-01-01 06:30:00,0.0,5.0 -40,2023-01-01 06:40:00,0.0,5.0 -41,2023-01-01 06:50:00,0.0,5.0 -48,2023-01-01 08:00:00,0.0,6.0 -49,2023-01-01 08:10:00,0.0,6.0 -50,2023-01-01 08:20:00,0.0,6.0 -51,2023-01-01 08:30:00,0.0,6.0 -52,2023-01-01 08:40:00,0.0,6.0 -53,2023-01-01 08:50:00,0.0,6.0 -54,2023-01-01 09:00:00,0.0,5.0 -55,2023-01-01 09:10:00,0.0,5.0 -56,2023-01-01 09:20:00,0.0,5.0 -57,2023-01-01 09:30:00,0.0,5.0 -58,2023-01-01 09:40:00,0.0,5.0 -59,2023-01-01 09:50:00,0.0,5.0 -60,2023-01-01 10:00:00,0.0,5.0 -61,2023-01-01 10:10:00,0.0,5.0 -62,2023-01-01 10:20:00,0.0,5.0 -63,2023-01-01 10:30:00,0.0,5.0 -64,2023-01-01 10:40:00,26.0,5.0 -65,2023-01-01 10:50:00,0.0,5.0 -66,2023-01-01 11:00:00,0.0,5.0 -67,2023-01-01 11:10:00,0.0,5.0 -68,2023-01-01 11:20:00,13.0,5.0 -69,2023-01-01 11:30:00,0.0,5.0 -70,2023-01-01 11:40:00,0.0,5.0 -71,2023-01-01 11:50:00,0.0,5.0 -90,2023-01-01 15:00:00,0.0,5.0 -91,2023-01-01 15:10:00,0.0,5.0 -92,2023-01-01 15:20:00,0.0,5.0 -93,2023-01-01 15:30:00,0.0,5.0 -94,2023-01-01 15:40:00,0.0,5.0 -95,2023-01-01 15:50:00,0.0,5.0 -108,2023-01-01 18:00:00,0.0,6.0 -109,2023-01-01 18:10:00,0.0,6.0 -110,2023-01-01 18:20:00,0.0,6.0 -111,2023-01-01 18:30:00,0.0,6.0 -112,2023-01-01 18:40:00,0.0,6.0 -113,2023-01-01 18:50:00,11.398926654740608,6.0 -120,2023-01-01 20:00:00,0.0,6.0 -121,2023-01-01 20:10:00,0.0,6.0 -122,2023-01-01 20:20:00,0.0,6.0 -123,2023-01-01 20:30:00,0.0,6.0 -124,2023-01-01 20:40:00,0.0,6.0 -125,2023-01-01 20:50:00,0.0,6.0 -132,2023-01-01 22:00:00,0.0,6.0 -133,2023-01-01 22:10:00,0.0,6.0 -134,2023-01-01 22:20:00,0.0,6.0 -135,2023-01-01 22:30:00,0.0,6.0 -136,2023-01-01 22:40:00,22.0,6.0 -137,2023-01-01 22:50:00,0.0,6.0 -138,2023-01-01 23:00:00,0.0,6.0 -139,2023-01-01 23:10:00,8.0,6.0 -140,2023-01-01 23:20:00,0.0,6.0 -141,2023-01-01 23:30:00,0.0,6.0 -142,2023-01-01 23:40:00,21.214285714285715,6.0 -143,2023-01-01 23:50:00,23.78571428571429,6.0 -150,2023-01-02 01:00:00,0.0,6.0 -151,2023-01-02 01:10:00,0.0,6.0 -152,2023-01-02 01:20:00,0.0,6.0 -153,2023-01-02 01:30:00,0.0,6.0 -154,2023-01-02 01:40:00,0.0,6.0 -155,2023-01-02 01:50:00,0.0,6.0 -156,2023-01-02 02:00:00,0.0,3.0 -157,2023-01-02 02:10:00,0.0,3.0 -158,2023-01-02 02:20:00,0.0,3.0 -159,2023-01-02 02:30:00,0.0,3.0 -160,2023-01-02 02:40:00,0.0,3.0 -161,2023-01-02 02:50:00,0.0,3.0 -168,2023-01-02 04:00:00,0.0,4.0 -169,2023-01-02 04:10:00,0.0,4.0 -170,2023-01-02 04:20:00,0.0,4.0 -171,2023-01-02 04:30:00,0.0,4.0 -172,2023-01-02 04:40:00,0.0,4.0 -173,2023-01-02 04:50:00,0.0,4.0 -192,2023-01-02 08:00:00,0.0,4.0 -193,2023-01-02 08:10:00,0.0,4.0 -194,2023-01-02 08:20:00,0.0,4.0 -195,2023-01-02 08:30:00,0.0,4.0 -196,2023-01-02 08:40:00,0.0,4.0 -197,2023-01-02 08:50:00,0.0,4.0 -210,2023-01-02 11:00:00,0.0,3.0 -211,2023-01-02 11:10:00,0.0,3.0 -212,2023-01-02 11:20:00,0.0,3.0 -213,2023-01-02 11:30:00,0.0,3.0 -214,2023-01-02 11:40:00,0.0,3.0 -215,2023-01-02 11:50:00,8.0,3.0 -216,2023-01-02 12:00:00,0.0,4.0 -217,2023-01-02 12:10:00,0.0,4.0 -218,2023-01-02 12:20:00,0.0,4.0 -219,2023-01-02 12:30:00,53.0,4.0 -220,2023-01-02 12:40:00,0.0,4.0 -221,2023-01-02 12:50:00,0.0,4.0 -222,2023-01-02 13:00:00,0.0,3.0 -223,2023-01-02 13:10:00,0.0,3.0 -224,2023-01-02 13:20:00,0.0,3.0 -225,2023-01-02 13:30:00,222.98608695652172,3.0 -226,2023-01-02 13:40:00,226.1822168547624,3.0 -227,2023-01-02 13:50:00,283.0362694300518,3.0 -228,2023-01-02 14:00:00,477.3333333333333,4.0 -229,2023-01-02 14:10:00,0.0,4.0 -230,2023-01-02 14:20:00,135.81636060100166,4.0 -231,2023-01-02 14:30:00,278.3639328470125,4.0 -232,2023-01-02 14:40:00,333.56503198294246,4.0 -233,2023-01-02 14:50:00,0.0,4.0 -240,2023-01-02 16:00:00,71.32332807791327,4.0 -241,2023-01-02 16:10:00,62.105561797752806,4.0 -242,2023-01-02 16:20:00,282.30795948447246,4.0 -243,2023-01-02 16:30:00,270.39118020570544,4.0 -244,2023-01-02 16:40:00,397.3985566470171,4.0 -245,2023-01-02 16:50:00,354.8283561180056,4.0 -264,2023-01-02 20:00:00,181.6132882882883,3.0 -265,2023-01-02 20:10:00,366.5700000000001,3.0 -266,2023-01-02 20:20:00,411.61098173515984,3.0 -267,2023-01-02 20:30:00,363.41052580252864,3.0 -268,2023-01-02 20:40:00,219.5556353194544,3.0 -269,2023-01-02 20:50:00,154.67027677496992,3.0 -270,2023-01-02 21:00:00,261.4963898916968,3.0 -271,2023-01-02 21:10:00,174.17376490630323,3.0 -272,2023-01-02 21:20:00,370.16253665445487,3.0 -273,2023-01-02 21:30:00,97.72010869565216,3.0 -274,2023-01-02 21:40:00,84.0,3.0 -275,2023-01-02 21:50:00,0.0,3.0 -288,2023-01-03 00:00:00,0.0,3.0 -289,2023-01-03 00:10:00,0.0,3.0 -290,2023-01-03 00:20:00,17.563333333333333,3.0 -291,2023-01-03 00:30:00,215.2042328042328,3.0 -292,2023-01-03 00:40:00,51.86243386243386,3.0 -293,2023-01-03 00:50:00,67.0,3.0 -294,2023-01-03 01:00:00,0.0,3.0 -295,2023-01-03 01:10:00,0.0,3.0 -296,2023-01-03 01:20:00,0.0,3.0 -297,2023-01-03 01:30:00,0.0,3.0 -298,2023-01-03 01:40:00,0.0,3.0 -299,2023-01-03 01:50:00,0.0,3.0 -300,2023-01-03 02:00:00,0.0,3.0 -301,2023-01-03 02:10:00,8.0,3.0 -302,2023-01-03 02:20:00,0.0,3.0 -303,2023-01-03 02:30:00,0.0,3.0 -304,2023-01-03 02:40:00,16.0,3.0 -305,2023-01-03 02:50:00,0.0,3.0 -306,2023-01-03 03:00:00,17.0,3.0 -307,2023-01-03 03:10:00,0.0,3.0 -308,2023-01-03 03:20:00,0.0,3.0 -309,2023-01-03 03:30:00,0.0,3.0 -310,2023-01-03 03:40:00,0.0,3.0 -311,2023-01-03 03:50:00,0.0,3.0 -312,2023-01-03 04:00:00,0.0,3.0 -313,2023-01-03 04:10:00,0.0,3.0 -314,2023-01-03 04:20:00,0.0,3.0 -315,2023-01-03 04:30:00,0.0,3.0 -316,2023-01-03 04:40:00,0.0,3.0 -317,2023-01-03 04:50:00,0.0,3.0 -318,2023-01-03 05:00:00,0.0,3.0 -319,2023-01-03 05:10:00,0.0,3.0 -320,2023-01-03 05:20:00,0.0,3.0 -321,2023-01-03 05:30:00,0.0,3.0 -322,2023-01-03 05:40:00,0.0,3.0 -323,2023-01-03 05:50:00,0.0,3.0 -330,2023-01-03 07:00:00,0.0,4.0 -331,2023-01-03 07:10:00,0.0,4.0 -332,2023-01-03 07:20:00,0.0,4.0 -333,2023-01-03 07:30:00,0.0,4.0 -334,2023-01-03 07:40:00,0.0,4.0 -335,2023-01-03 07:50:00,0.0,4.0 -336,2023-01-03 08:00:00,0.0,3.0 -337,2023-01-03 08:10:00,0.0,3.0 -338,2023-01-03 08:20:00,0.0,3.0 -339,2023-01-03 08:30:00,0.0,3.0 -340,2023-01-03 08:40:00,0.0,3.0 -341,2023-01-03 08:50:00,0.0,3.0 -348,2023-01-03 10:00:00,19.0,3.0 -349,2023-01-03 10:10:00,0.0,3.0 -350,2023-01-03 10:20:00,9.0,3.0 -351,2023-01-03 10:30:00,0.0,3.0 -352,2023-01-03 10:40:00,0.0,3.0 -353,2023-01-03 10:50:00,0.0,3.0 -354,2023-01-03 11:00:00,33.0,3.0 -355,2023-01-03 11:10:00,0.0,3.0 -356,2023-01-03 11:20:00,0.0,3.0 -357,2023-01-03 11:30:00,0.0,3.0 -358,2023-01-03 11:40:00,0.0,3.0 -359,2023-01-03 11:50:00,3.111486486486486,3.0 -366,2023-01-03 13:00:00,0.0,3.0 -367,2023-01-03 13:10:00,0.0,3.0 -368,2023-01-03 13:20:00,22.665558870464164,3.0 -369,2023-01-03 13:30:00,35.74084507042254,3.0 -370,2023-01-03 13:40:00,0.0,3.0 -371,2023-01-03 13:50:00,52.62857142857143,3.0 -390,2023-01-03 17:00:00,152.29602888086643,3.0 -391,2023-01-03 17:10:00,29.575971119133573,3.0 -392,2023-01-03 17:20:00,62.12799999999999,3.0 -393,2023-01-03 17:30:00,16.0,3.0 -394,2023-01-03 17:40:00,24.0,3.0 -395,2023-01-03 17:50:00,0.0,3.0 -396,2023-01-03 18:00:00,196.22466960352423,4.0 -397,2023-01-03 18:10:00,265.0,4.0 -398,2023-01-03 18:20:00,0.0,4.0 -399,2023-01-03 18:30:00,13.234657039711191,4.0 -400,2023-01-03 18:40:00,25.76534296028881,4.0 -401,2023-01-03 18:50:00,25.0,4.0 -402,2023-01-03 19:00:00,183.27,3.0 -403,2023-01-03 19:10:00,393.6418852459016,3.0 -404,2023-01-03 19:20:00,0.0,3.0 -405,2023-01-03 19:30:00,0.0,3.0 -406,2023-01-03 19:40:00,29.55924170616113,3.0 -407,2023-01-03 19:50:00,41.60189573459716,3.0 -408,2023-01-03 20:00:00,5.838862559241707,4.0 -409,2023-01-03 20:10:00,0.0,4.0 -410,2023-01-03 20:20:00,109.31506849315068,4.0 -411,2023-01-03 20:30:00,237.76671589346645,4.0 -412,2023-01-03 20:40:00,333.0682156133829,4.0 -413,2023-01-03 20:50:00,0.0,4.0 -414,2023-01-03 21:00:00,0.0,4.0 -415,2023-01-03 21:10:00,29.77247769389156,4.0 -416,2023-01-03 21:20:00,44.30816746739876,4.0 -417,2023-01-03 21:30:00,14.88970588235294,4.0 -418,2023-01-03 21:40:00,39.11029411764706,4.0 -419,2023-01-03 21:50:00,29.2,4.0 -420,2023-01-03 22:00:00,0.0,3.0 -421,2023-01-03 22:10:00,3.0,3.0 -422,2023-01-03 22:20:00,0.0,3.0 -423,2023-01-03 22:30:00,0.0,3.0 -424,2023-01-03 22:40:00,9.568627450980392,3.0 -425,2023-01-03 22:50:00,54.431372549019606,3.0 -426,2023-01-03 23:00:00,114.0,4.0 -427,2023-01-03 23:10:00,0.0,4.0 -428,2023-01-03 23:20:00,62.32387312186978,4.0 -429,2023-01-03 23:30:00,86.18415900664428,4.0 -430,2023-01-03 23:40:00,16.491967871485944,4.0 -431,2023-01-03 23:50:00,50.0,4.0 -456,2023-01-04 04:00:00,0.0,6.0 -457,2023-01-04 04:10:00,0.0,6.0 -458,2023-01-04 04:20:00,0.0,6.0 -459,2023-01-04 04:30:00,0.0,6.0 -460,2023-01-04 04:40:00,0.0,6.0 -461,2023-01-04 04:50:00,0.0,6.0 -462,2023-01-04 05:00:00,0.0,6.0 -463,2023-01-04 05:10:00,0.0,6.0 -464,2023-01-04 05:20:00,0.0,6.0 -465,2023-01-04 05:30:00,0.0,6.0 -466,2023-01-04 05:40:00,0.0,6.0 -467,2023-01-04 05:50:00,0.0,6.0 -492,2023-01-04 10:00:00,79.0,6.0 -493,2023-01-04 10:10:00,0.0,6.0 -494,2023-01-04 10:20:00,0.0,6.0 -495,2023-01-04 10:30:00,0.0,6.0 -496,2023-01-04 10:40:00,0.0,6.0 -497,2023-01-04 10:50:00,0.0,6.0 -498,2023-01-04 11:00:00,0.0,6.0 -499,2023-01-04 11:10:00,0.0,6.0 -500,2023-01-04 11:20:00,40.45410628019324,6.0 -501,2023-01-04 11:30:00,38.54589371980676,6.0 -502,2023-01-04 11:40:00,135.0,6.0 -503,2023-01-04 11:50:00,0.0,6.0 -510,2023-01-04 13:00:00,0.0,5.0 -511,2023-01-04 13:10:00,0.0,5.0 -512,2023-01-04 13:20:00,0.0,5.0 -513,2023-01-04 13:30:00,55.15492957746479,5.0 -514,2023-01-04 13:40:00,208.8450704225352,5.0 -515,2023-01-04 13:50:00,0.0,5.0 -516,2023-01-04 14:00:00,0.0,5.0 -517,2023-01-04 14:10:00,0.0,5.0 -518,2023-01-04 14:20:00,56.00000000000001,5.0 -519,2023-01-04 14:30:00,82.37389770723104,5.0 -520,2023-01-04 14:40:00,110.62610229276896,5.0 -521,2023-01-04 14:50:00,0.0,5.0 -528,2023-01-04 16:00:00,0.0,5.0 -529,2023-01-04 16:10:00,0.0,5.0 -530,2023-01-04 16:20:00,6.7142857142857135,5.0 -531,2023-01-04 16:30:00,87.28571428571428,5.0 -532,2023-01-04 16:40:00,0.0,5.0 -533,2023-01-04 16:50:00,0.0,5.0 -534,2023-01-04 17:00:00,0.0,5.0 -535,2023-01-04 17:10:00,0.0,5.0 -536,2023-01-04 17:20:00,0.0,5.0 -537,2023-01-04 17:30:00,0.0,5.0 -538,2023-01-04 17:40:00,0.0,5.0 -539,2023-01-04 17:50:00,87.51656920077973,5.0 -552,2023-01-04 20:00:00,0.0,5.0 -553,2023-01-04 20:10:00,0.0,5.0 -554,2023-01-04 20:20:00,75.0,5.0 -555,2023-01-04 20:30:00,0.0,5.0 -556,2023-01-04 20:40:00,34.0,5.0 -557,2023-01-04 20:50:00,0.0,5.0 -558,2023-01-04 21:00:00,0.0,5.0 -559,2023-01-04 21:10:00,186.74806201550388,5.0 -560,2023-01-04 21:20:00,0.0,5.0 -561,2023-01-04 21:30:00,394.0,5.0 -562,2023-01-04 21:40:00,190.0,5.0 -563,2023-01-04 21:50:00,150.69708029197082,5.0 -564,2023-01-04 22:00:00,107.1128512148785,5.0 -565,2023-01-04 22:10:00,152.94358961991125,5.0 -566,2023-01-04 22:20:00,90.24647887323944,5.0 -567,2023-01-04 22:30:00,78.05802707930368,5.0 -568,2023-01-04 22:40:00,85.86197292069633,5.0 -569,2023-01-04 22:50:00,287.7914399922004,5.0 -582,2023-01-05 01:00:00,77.045,5.0 -583,2023-01-05 01:10:00,0.0,5.0 -584,2023-01-05 01:20:00,145.11428571428573,5.0 -585,2023-01-05 01:30:00,0.0,5.0 -586,2023-01-05 01:40:00,0.0,5.0 -587,2023-01-05 01:50:00,0.0,5.0 -594,2023-01-05 03:00:00,0.0,6.0 -595,2023-01-05 03:10:00,0.0,6.0 -596,2023-01-05 03:20:00,0.0,6.0 -597,2023-01-05 03:30:00,0.0,6.0 -598,2023-01-05 03:40:00,0.0,6.0 -599,2023-01-05 03:50:00,0.0,6.0 -612,2023-01-05 06:00:00,0.0,5.0 -613,2023-01-05 06:10:00,0.0,5.0 -614,2023-01-05 06:20:00,0.0,5.0 -615,2023-01-05 06:30:00,0.0,5.0 -616,2023-01-05 06:40:00,0.0,5.0 -617,2023-01-05 06:50:00,0.0,5.0 -618,2023-01-05 07:00:00,0.0,6.0 -619,2023-01-05 07:10:00,0.0,6.0 -620,2023-01-05 07:20:00,0.0,6.0 -621,2023-01-05 07:30:00,0.0,6.0 -622,2023-01-05 07:40:00,0.0,6.0 -623,2023-01-05 07:50:00,13.854251012145747,6.0 -630,2023-01-05 09:00:00,0.0,5.0 -631,2023-01-05 09:10:00,0.0,5.0 -632,2023-01-05 09:20:00,0.0,5.0 -633,2023-01-05 09:30:00,0.0,5.0 -634,2023-01-05 09:40:00,0.0,5.0 -635,2023-01-05 09:50:00,0.0,5.0 -666,2023-01-05 15:00:00,0.0,6.0 -667,2023-01-05 15:10:00,0.0,6.0 -668,2023-01-05 15:20:00,50.0,6.0 -669,2023-01-05 15:30:00,0.0,6.0 -670,2023-01-05 15:40:00,0.0,6.0 -671,2023-01-05 15:50:00,0.0,6.0 -690,2023-01-05 19:00:00,174.0,5.0 -691,2023-01-05 19:10:00,0.0,5.0 -692,2023-01-05 19:20:00,0.0,5.0 -693,2023-01-05 19:30:00,0.0,5.0 -694,2023-01-05 19:40:00,42.0,5.0 -695,2023-01-05 19:50:00,0.0,5.0 -702,2023-01-05 21:00:00,0.0,5.0 -703,2023-01-05 21:10:00,0.0,5.0 -704,2023-01-05 21:20:00,0.0,5.0 -705,2023-01-05 21:30:00,0.0,5.0 -706,2023-01-05 21:40:00,84.0,5.0 -707,2023-01-05 21:50:00,0.0,5.0 -708,2023-01-05 22:00:00,0.0,4.0 -709,2023-01-05 22:10:00,0.0,4.0 -710,2023-01-05 22:20:00,0.0,4.0 -711,2023-01-05 22:30:00,0.0,4.0 -712,2023-01-05 22:40:00,0.0,4.0 -713,2023-01-05 22:50:00,67.85714285714286,4.0 -714,2023-01-05 23:00:00,35.88225108225108,6.0 -715,2023-01-05 23:10:00,33.260606060606065,6.0 -716,2023-01-05 23:20:00,0.0,6.0 -717,2023-01-05 23:30:00,81.0,6.0 -718,2023-01-05 23:40:00,46.0,6.0 -719,2023-01-05 23:50:00,0.0,6.0 -726,2023-01-06 01:00:00,57.35714285714285,5.0 -727,2023-01-06 01:10:00,52.64285714285714,5.0 -728,2023-01-06 01:20:00,0.0,5.0 -729,2023-01-06 01:30:00,0.0,5.0 -730,2023-01-06 01:40:00,0.0,5.0 -731,2023-01-06 01:50:00,0.0,5.0 -744,2023-01-06 04:00:00,0.0,5.0 -745,2023-01-06 04:10:00,0.0,5.0 -746,2023-01-06 04:20:00,0.0,5.0 -747,2023-01-06 04:30:00,0.0,5.0 -748,2023-01-06 04:40:00,0.0,5.0 -749,2023-01-06 04:50:00,0.0,5.0 -762,2023-01-06 07:00:00,0.0,4.0 -763,2023-01-06 07:10:00,0.0,4.0 -764,2023-01-06 07:20:00,0.0,4.0 -765,2023-01-06 07:30:00,0.0,4.0 -766,2023-01-06 07:40:00,0.0,4.0 -767,2023-01-06 07:50:00,0.0,4.0 -780,2023-01-06 10:00:00,12.0,5.0 -781,2023-01-06 10:10:00,0.0,5.0 -782,2023-01-06 10:20:00,270.7798960138648,5.0 -783,2023-01-06 10:30:00,182.2201039861352,5.0 -784,2023-01-06 10:40:00,0.0,5.0 -785,2023-01-06 10:50:00,33.42348008385744,5.0 -822,2023-01-06 17:00:00,103.53243243243244,5.0 -823,2023-01-06 17:10:00,9.467567567567569,5.0 -824,2023-01-06 17:20:00,0.0,5.0 -825,2023-01-06 17:30:00,20.0,5.0 -826,2023-01-06 17:40:00,40.0,5.0 -827,2023-01-06 17:50:00,0.0,5.0 -834,2023-01-06 19:00:00,0.0,3.0 -835,2023-01-06 19:10:00,42.77835051546392,3.0 -836,2023-01-06 19:20:00,0.2216494845360824,3.0 -837,2023-01-06 19:30:00,230.983842010772,3.0 -838,2023-01-06 19:40:00,51.016157989228006,3.0 -839,2023-01-06 19:50:00,19.18936877076412,3.0 -840,2023-01-06 20:00:00,56.81063122923588,6.0 -841,2023-01-06 20:10:00,25.0,6.0 -842,2023-01-06 20:20:00,0.0,6.0 -843,2023-01-06 20:30:00,88.0,6.0 -844,2023-01-06 20:40:00,158.0,6.0 -845,2023-01-06 20:50:00,0.0,6.0 -870,2023-01-07 01:00:00,0.0,5.0 -871,2023-01-07 01:10:00,0.0,5.0 -872,2023-01-07 01:20:00,0.0,5.0 -873,2023-01-07 01:30:00,0.0,5.0 -874,2023-01-07 01:40:00,0.0,5.0 -875,2023-01-07 01:50:00,0.0,5.0 -888,2023-01-07 04:00:00,0.0,3.0 -889,2023-01-07 04:10:00,0.0,3.0 -890,2023-01-07 04:20:00,0.0,3.0 -891,2023-01-07 04:30:00,0.0,3.0 -892,2023-01-07 04:40:00,0.0,3.0 -893,2023-01-07 04:50:00,0.0,3.0 -894,2023-01-07 05:00:00,0.0,5.0 -895,2023-01-07 05:10:00,0.0,5.0 -896,2023-01-07 05:20:00,0.0,5.0 -897,2023-01-07 05:30:00,0.0,5.0 -898,2023-01-07 05:40:00,0.0,5.0 -899,2023-01-07 05:50:00,0.0,5.0 -900,2023-01-07 06:00:00,0.0,5.0 -901,2023-01-07 06:10:00,0.0,5.0 -902,2023-01-07 06:20:00,0.0,5.0 -903,2023-01-07 06:30:00,0.0,5.0 -904,2023-01-07 06:40:00,0.0,5.0 -905,2023-01-07 06:50:00,0.0,5.0 -906,2023-01-07 07:00:00,0.0,5.0 -907,2023-01-07 07:10:00,0.0,5.0 -908,2023-01-07 07:20:00,0.0,5.0 -909,2023-01-07 07:30:00,0.0,5.0 -910,2023-01-07 07:40:00,0.0,5.0 -911,2023-01-07 07:50:00,0.0,5.0 -930,2023-01-07 11:00:00,0.0,5.0 -931,2023-01-07 11:10:00,20.0,5.0 -932,2023-01-07 11:20:00,69.0,5.0 -933,2023-01-07 11:30:00,0.0,5.0 -934,2023-01-07 11:40:00,0.0,5.0 -935,2023-01-07 11:50:00,0.0,5.0 -942,2023-01-07 13:00:00,0.0,5.0 -943,2023-01-07 13:10:00,0.0,5.0 -944,2023-01-07 13:20:00,0.0,5.0 -945,2023-01-07 13:30:00,24.0,5.0 -946,2023-01-07 13:40:00,0.0,5.0 -947,2023-01-07 13:50:00,0.0,5.0 -948,2023-01-07 14:00:00,6.869257950530034,5.0 -949,2023-01-07 14:10:00,74.13074204946996,5.0 -950,2023-01-07 14:20:00,0.0,5.0 -951,2023-01-07 14:30:00,31.0,5.0 -952,2023-01-07 14:40:00,0.0,5.0 -953,2023-01-07 14:50:00,0.0,5.0 -966,2023-01-07 17:00:00,0.0,4.0 -967,2023-01-07 17:10:00,0.0,4.0 -968,2023-01-07 17:20:00,0.0,4.0 -969,2023-01-07 17:30:00,0.0,4.0 -970,2023-01-07 17:40:00,42.0,4.0 -971,2023-01-07 17:50:00,0.0,4.0 -972,2023-01-07 18:00:00,0.0,3.0 -973,2023-01-07 18:10:00,0.0,3.0 -974,2023-01-07 18:20:00,0.0,3.0 -975,2023-01-07 18:30:00,0.0,3.0 -976,2023-01-07 18:40:00,0.0,3.0 -977,2023-01-07 18:50:00,0.0,3.0 -978,2023-01-07 19:00:00,120.51685393258428,4.0 -979,2023-01-07 19:10:00,433.48314606741576,4.0 -980,2023-01-07 19:20:00,323.5602294455067,4.0 -981,2023-01-07 19:30:00,3.439770554493308,4.0 -982,2023-01-07 19:40:00,0.0,4.0 -983,2023-01-07 19:50:00,0.0,4.0 -996,2023-01-07 22:00:00,0.0,4.0 -997,2023-01-07 22:10:00,46.0,4.0 -998,2023-01-07 22:20:00,0.0,4.0 -999,2023-01-07 22:30:00,0.0,4.0 -1000,2023-01-07 22:40:00,0.0,4.0 -1001,2023-01-07 22:50:00,0.0,4.0 -1020,2023-01-08 02:00:00,0.0,3.0 -1021,2023-01-08 02:10:00,0.0,3.0 -1022,2023-01-08 02:20:00,0.0,3.0 -1023,2023-01-08 02:30:00,0.0,3.0 -1024,2023-01-08 02:40:00,0.0,3.0 -1025,2023-01-08 02:50:00,0.0,3.0 -1026,2023-01-08 03:00:00,0.0,3.0 -1027,2023-01-08 03:10:00,0.0,3.0 -1028,2023-01-08 03:20:00,0.0,3.0 -1029,2023-01-08 03:30:00,0.0,3.0 -1030,2023-01-08 03:40:00,0.0,3.0 -1031,2023-01-08 03:50:00,0.0,3.0 -1038,2023-01-08 05:00:00,0.0,3.0 -1039,2023-01-08 05:10:00,0.0,3.0 -1040,2023-01-08 05:20:00,0.0,3.0 -1041,2023-01-08 05:30:00,0.0,3.0 -1042,2023-01-08 05:40:00,0.0,3.0 -1043,2023-01-08 05:50:00,0.0,3.0 -1056,2023-01-08 08:00:00,0.0,3.0 -1057,2023-01-08 08:10:00,0.0,3.0 -1058,2023-01-08 08:20:00,0.0,3.0 -1059,2023-01-08 08:30:00,0.0,3.0 -1060,2023-01-08 08:40:00,0.0,3.0 -1061,2023-01-08 08:50:00,0.0,3.0 -1062,2023-01-08 09:00:00,0.0,3.0 -1063,2023-01-08 09:10:00,0.0,3.0 -1064,2023-01-08 09:20:00,0.0,3.0 -1065,2023-01-08 09:30:00,0.0,3.0 -1066,2023-01-08 09:40:00,0.0,3.0 -1067,2023-01-08 09:50:00,0.0,3.0 -1068,2023-01-08 10:00:00,0.0,3.0 -1069,2023-01-08 10:10:00,0.0,3.0 -1070,2023-01-08 10:20:00,0.0,3.0 -1071,2023-01-08 10:30:00,0.0,3.0 -1072,2023-01-08 10:40:00,0.0,3.0 -1073,2023-01-08 10:50:00,0.0,3.0 -1080,2023-01-08 12:00:00,0.0,5.0 -1081,2023-01-08 12:10:00,0.0,5.0 -1082,2023-01-08 12:20:00,72.74247491638796,5.0 -1083,2023-01-08 12:30:00,177.25752508361205,5.0 -1084,2023-01-08 12:40:00,144.0,5.0 -1085,2023-01-08 12:50:00,8.0,5.0 -1086,2023-01-08 13:00:00,0.0,3.0 -1087,2023-01-08 13:10:00,0.0,3.0 -1088,2023-01-08 13:20:00,0.0,3.0 -1089,2023-01-08 13:30:00,19.0,3.0 -1090,2023-01-08 13:40:00,38.0,3.0 -1091,2023-01-08 13:50:00,10.325,3.0 -1092,2023-01-08 14:00:00,236.135211786372,3.0 -1093,2023-01-08 14:10:00,238.9602709681002,3.0 -1094,2023-01-08 14:20:00,297.5801104972376,3.0 -1095,2023-01-08 14:30:00,136.16782006920414,3.0 -1096,2023-01-08 14:40:00,242.57989473883973,3.0 -1097,2023-01-08 14:50:00,222.49653326031577,3.0 -1098,2023-01-08 15:00:00,203.7883834168058,3.0 -1099,2023-01-08 15:10:00,250.96994991652755,3.0 -1100,2023-01-08 15:20:00,568.5399592223312,3.0 -1101,2023-01-08 15:30:00,593.3695165478565,3.0 -1102,2023-01-08 15:40:00,273.18843446082803,3.0 -1103,2023-01-08 15:50:00,17.65909090909091,3.0 -1116,2023-01-08 18:00:00,49.87775891341256,3.0 -1117,2023-01-08 18:10:00,0.0,3.0 -1118,2023-01-08 18:20:00,0.0,3.0 -1119,2023-01-08 18:30:00,40.65899581589958,3.0 -1120,2023-01-08 18:40:00,24.341004184100417,3.0 -1121,2023-01-08 18:50:00,0.0,3.0 -1122,2023-01-08 19:00:00,0.0,3.0 -1123,2023-01-08 19:10:00,0.0,3.0 -1124,2023-01-08 19:20:00,0.0,3.0 -1125,2023-01-08 19:30:00,0.0,3.0 -1126,2023-01-08 19:40:00,0.0,3.0 -1127,2023-01-08 19:50:00,0.0,3.0 -1128,2023-01-08 20:00:00,236.86166666666665,3.0 -1129,2023-01-08 20:10:00,704.3617099567099,3.0 -1130,2023-01-08 20:20:00,128.3171639171639,3.0 -1131,2023-01-08 20:30:00,2.45945945945946,3.0 -1132,2023-01-08 20:40:00,0.0,3.0 -1133,2023-01-08 20:50:00,23.0,3.0 -1134,2023-01-08 21:00:00,0.0,4.0 -1135,2023-01-08 21:10:00,0.0,4.0 -1136,2023-01-08 21:20:00,0.0,4.0 -1137,2023-01-08 21:30:00,0.0,4.0 -1138,2023-01-08 21:40:00,0.0,4.0 -1139,2023-01-08 21:50:00,0.0,4.0 -1140,2023-01-08 22:00:00,0.0,4.0 -1141,2023-01-08 22:10:00,0.0,4.0 -1142,2023-01-08 22:20:00,0.0,4.0 -1143,2023-01-08 22:30:00,0.0,4.0 -1144,2023-01-08 22:40:00,0.0,4.0 -1145,2023-01-08 22:50:00,0.0,4.0 -1158,2023-01-09 01:00:00,0.0,3.0 -1159,2023-01-09 01:10:00,0.0,3.0 -1160,2023-01-09 01:20:00,0.0,3.0 -1161,2023-01-09 01:30:00,13.0,3.0 -1162,2023-01-09 01:40:00,0.0,3.0 -1163,2023-01-09 01:50:00,13.0,3.0 -1194,2023-01-09 07:00:00,0.0,4.0 -1195,2023-01-09 07:10:00,0.0,4.0 -1196,2023-01-09 07:20:00,0.0,4.0 -1197,2023-01-09 07:30:00,0.0,4.0 -1198,2023-01-09 07:40:00,0.0,4.0 -1199,2023-01-09 07:50:00,0.0,4.0 -1200,2023-01-09 08:00:00,0.0,4.0 -1201,2023-01-09 08:10:00,0.0,4.0 -1202,2023-01-09 08:20:00,0.0,4.0 -1203,2023-01-09 08:30:00,0.0,4.0 -1204,2023-01-09 08:40:00,0.0,4.0 -1205,2023-01-09 08:50:00,0.0,4.0 -1218,2023-01-09 11:00:00,0.0,4.0 -1219,2023-01-09 11:10:00,0.0,4.0 -1220,2023-01-09 11:20:00,0.0,4.0 -1221,2023-01-09 11:30:00,0.0,4.0 -1222,2023-01-09 11:40:00,0.0,4.0 -1223,2023-01-09 11:50:00,0.0,4.0 -1254,2023-01-09 17:00:00,0.0,3.0 -1255,2023-01-09 17:10:00,4.0,3.0 -1256,2023-01-09 17:20:00,0.0,3.0 -1257,2023-01-09 17:30:00,0.0,3.0 -1258,2023-01-09 17:40:00,0.0,3.0 -1259,2023-01-09 17:50:00,51.0,3.0 -1278,2023-01-09 21:00:00,0.0,4.0 -1279,2023-01-09 21:10:00,15.18472906403941,4.0 -1280,2023-01-09 21:20:00,29.81527093596059,4.0 -1281,2023-01-09 21:30:00,23.90707070707071,4.0 -1282,2023-01-09 21:40:00,73.0929292929293,4.0 -1283,2023-01-09 21:50:00,0.0,4.0 -1284,2023-01-09 22:00:00,0.0,3.0 -1285,2023-01-09 22:10:00,0.0,3.0 -1286,2023-01-09 22:20:00,0.0,3.0 -1287,2023-01-09 22:30:00,17.0,3.0 -1288,2023-01-09 22:40:00,0.0,3.0 -1289,2023-01-09 22:50:00,0.0,3.0 -1290,2023-01-09 23:00:00,0.0,3.0 -1291,2023-01-09 23:10:00,0.0,3.0 -1292,2023-01-09 23:20:00,0.0,3.0 -1293,2023-01-09 23:30:00,0.0,3.0 -1294,2023-01-09 23:40:00,0.0,3.0 -1295,2023-01-09 23:50:00,0.0,3.0 -1308,2023-01-10 02:00:00,0.0,4.0 -1309,2023-01-10 02:10:00,0.0,4.0 -1310,2023-01-10 02:20:00,0.0,4.0 -1311,2023-01-10 02:30:00,0.0,4.0 -1312,2023-01-10 02:40:00,0.0,4.0 -1313,2023-01-10 02:50:00,0.0,4.0 -1314,2023-01-10 03:00:00,0.0,4.0 -1315,2023-01-10 03:10:00,0.0,4.0 -1316,2023-01-10 03:20:00,0.0,4.0 -1317,2023-01-10 03:30:00,0.0,4.0 -1318,2023-01-10 03:40:00,0.0,4.0 -1319,2023-01-10 03:50:00,0.0,4.0 -1320,2023-01-10 04:00:00,0.0,4.0 -1321,2023-01-10 04:10:00,0.0,4.0 -1322,2023-01-10 04:20:00,0.0,4.0 -1323,2023-01-10 04:30:00,0.0,4.0 -1324,2023-01-10 04:40:00,0.0,4.0 -1325,2023-01-10 04:50:00,0.0,4.0 -1350,2023-01-10 09:00:00,0.0,3.0 -1351,2023-01-10 09:10:00,0.0,3.0 -1352,2023-01-10 09:20:00,0.0,3.0 -1353,2023-01-10 09:30:00,0.0,3.0 -1354,2023-01-10 09:40:00,0.0,3.0 -1355,2023-01-10 09:50:00,0.0,3.0 -1380,2023-01-10 14:00:00,0.0,4.0 -1381,2023-01-10 14:10:00,0.0,4.0 -1382,2023-01-10 14:20:00,9.0,4.0 -1383,2023-01-10 14:30:00,31.0,4.0 -1384,2023-01-10 14:40:00,0.0,4.0 -1385,2023-01-10 14:50:00,1.753899480069324,4.0 -1392,2023-01-10 16:00:00,0.0,4.0 -1393,2023-01-10 16:10:00,0.0,4.0 -1394,2023-01-10 16:20:00,69.74712643678161,4.0 -1395,2023-01-10 16:30:00,0.0,4.0 -1396,2023-01-10 16:40:00,0.0,4.0 -1397,2023-01-10 16:50:00,0.0,4.0 -1398,2023-01-10 17:00:00,0.0,4.0 -1399,2023-01-10 17:10:00,58.80341880341881,4.0 -1400,2023-01-10 17:20:00,187.74666907004345,4.0 -1401,2023-01-10 17:30:00,254.0262205924475,4.0 -1402,2023-01-10 17:40:00,311.6297786720322,4.0 -1403,2023-01-10 17:50:00,154.7318251143874,4.0 -1404,2023-01-10 18:00:00,227.15348675684,4.0 -1405,2023-01-10 18:10:00,120.03113017729017,4.0 -1406,2023-01-10 18:20:00,178.6797257904347,4.0 -1407,2023-01-10 18:30:00,322.5062852635009,4.0 -1408,2023-01-10 18:40:00,196.32551983207705,4.0 -1409,2023-01-10 18:50:00,230.8453237022489,4.0 -1410,2023-01-10 19:00:00,244.81838605141252,4.0 -1411,2023-01-10 19:10:00,22.05586592178771,4.0 -1412,2023-01-10 19:20:00,66.0,4.0 -1413,2023-01-10 19:30:00,0.0,4.0 -1414,2023-01-10 19:40:00,64.32200357781753,4.0 -1415,2023-01-10 19:50:00,36.67799642218247,4.0 -1416,2023-01-10 20:00:00,0.0,4.0 -1417,2023-01-10 20:10:00,0.0,4.0 -1418,2023-01-10 20:20:00,0.0,4.0 -1419,2023-01-10 20:30:00,0.0,4.0 -1420,2023-01-10 20:40:00,0.0,4.0 -1421,2023-01-10 20:50:00,9.0,4.0 -1434,2023-01-10 23:00:00,0.0,4.0 -1435,2023-01-10 23:10:00,32.0,4.0 -1436,2023-01-10 23:20:00,0.0,4.0 -1437,2023-01-10 23:30:00,0.0,4.0 -1438,2023-01-10 23:40:00,0.0,4.0 -1439,2023-01-10 23:50:00,0.0,4.0 -1440,2023-01-11 00:00:00,18.0,6.0 -1441,2023-01-11 00:10:00,0.0,6.0 -1442,2023-01-11 00:20:00,0.0,6.0 -1443,2023-01-11 00:30:00,0.0,6.0 -1444,2023-01-11 00:40:00,0.0,6.0 -1445,2023-01-11 00:50:00,0.0,6.0 -1458,2023-01-11 03:00:00,0.0,5.0 -1459,2023-01-11 03:10:00,0.0,5.0 -1460,2023-01-11 03:20:00,0.0,5.0 -1461,2023-01-11 03:30:00,0.0,5.0 -1462,2023-01-11 03:40:00,0.0,5.0 -1463,2023-01-11 03:50:00,0.0,5.0 -1476,2023-01-11 06:00:00,0.0,3.0 -1477,2023-01-11 06:10:00,0.0,3.0 -1478,2023-01-11 06:20:00,0.0,3.0 -1479,2023-01-11 06:30:00,0.0,3.0 -1480,2023-01-11 06:40:00,0.0,3.0 -1481,2023-01-11 06:50:00,0.0,3.0 -1482,2023-01-11 07:00:00,0.0,3.0 -1483,2023-01-11 07:10:00,0.0,3.0 -1484,2023-01-11 07:20:00,0.0,3.0 -1485,2023-01-11 07:30:00,0.0,3.0 -1486,2023-01-11 07:40:00,0.0,3.0 -1487,2023-01-11 07:50:00,0.0,3.0 -1488,2023-01-11 08:00:00,0.0,3.0 -1489,2023-01-11 08:10:00,0.0,3.0 -1490,2023-01-11 08:20:00,0.0,3.0 -1491,2023-01-11 08:30:00,0.0,3.0 -1492,2023-01-11 08:40:00,0.0,3.0 -1493,2023-01-11 08:50:00,0.0,3.0 -1494,2023-01-11 09:00:00,0.0,3.0 -1495,2023-01-11 09:10:00,0.0,3.0 -1496,2023-01-11 09:20:00,0.0,3.0 -1497,2023-01-11 09:30:00,0.0,3.0 -1498,2023-01-11 09:40:00,34.0,3.0 -1499,2023-01-11 09:50:00,235.5833333333333,3.0 -1500,2023-01-11 10:00:00,562.4166666666666,5.0 -1501,2023-01-11 10:10:00,0.0,5.0 -1502,2023-01-11 10:20:00,0.0,5.0 -1503,2023-01-11 10:30:00,291.8235294117647,5.0 -1504,2023-01-11 10:40:00,159.17647058823528,5.0 -1505,2023-01-11 10:50:00,0.0,5.0 -1512,2023-01-11 12:00:00,110.8848355983656,3.0 -1513,2023-01-11 12:10:00,9.556390977443607,3.0 -1514,2023-01-11 12:20:00,0.0,3.0 -1515,2023-01-11 12:30:00,0.0,3.0 -1516,2023-01-11 12:40:00,0.0,3.0 -1517,2023-01-11 12:50:00,0.0,3.0 -1524,2023-01-11 14:00:00,0.0,3.0 -1525,2023-01-11 14:10:00,18.0,3.0 -1526,2023-01-11 14:20:00,0.0,3.0 -1527,2023-01-11 14:30:00,22.56637168141593,3.0 -1528,2023-01-11 14:40:00,12.957791887357304,3.0 -1529,2023-01-11 14:50:00,321.55209293036023,3.0 -1530,2023-01-11 15:00:00,736.9237435008665,3.0 -1531,2023-01-11 15:10:00,103.39285714285714,3.0 -1532,2023-01-11 15:20:00,89.60714285714285,3.0 -1533,2023-01-11 15:30:00,35.0,3.0 -1534,2023-01-11 15:40:00,0.0,3.0 -1535,2023-01-11 15:50:00,0.0,3.0 -1536,2023-01-11 16:00:00,657.9883333333333,3.0 -1537,2023-01-11 16:10:00,930.6074561403508,3.0 -1538,2023-01-11 16:20:00,168.4042105263158,3.0 -1539,2023-01-11 16:30:00,0.0,3.0 -1540,2023-01-11 16:40:00,20.0,3.0 -1541,2023-01-11 16:50:00,13.0,3.0 -1542,2023-01-11 17:00:00,0.0,3.0 -1543,2023-01-11 17:10:00,0.0,3.0 -1544,2023-01-11 17:20:00,64.09883720930233,3.0 -1545,2023-01-11 17:30:00,48.678940568475454,3.0 -1546,2023-01-11 17:40:00,12.022222222222222,3.0 -1547,2023-01-11 17:50:00,59.2,3.0 -1548,2023-01-11 18:00:00,0.0,4.0 -1549,2023-01-11 18:10:00,20.0,4.0 -1550,2023-01-11 18:20:00,39.06666666666667,4.0 -1551,2023-01-11 18:30:00,620.6,4.0 -1552,2023-01-11 18:40:00,1042.8533333333332,4.0 -1553,2023-01-11 18:50:00,24.48,4.0 -1560,2023-01-11 20:00:00,0.0,4.0 -1561,2023-01-11 20:10:00,0.0,4.0 -1562,2023-01-11 20:20:00,0.0,4.0 -1563,2023-01-11 20:30:00,0.0,4.0 -1564,2023-01-11 20:40:00,23.24705882352941,4.0 -1565,2023-01-11 20:50:00,73.75294117647059,4.0 -1566,2023-01-11 21:00:00,0.0,3.0 -1567,2023-01-11 21:10:00,0.0,3.0 -1568,2023-01-11 21:20:00,63.0,3.0 -1569,2023-01-11 21:30:00,7.085,3.0 -1570,2023-01-11 21:40:00,31.915000000000003,3.0 -1571,2023-01-11 21:50:00,24.0,3.0 -1590,2023-01-12 01:00:00,0.0,4.0 -1591,2023-01-12 01:10:00,9.0,4.0 -1592,2023-01-12 01:20:00,0.0,4.0 -1593,2023-01-12 01:30:00,0.0,4.0 -1594,2023-01-12 01:40:00,0.0,4.0 -1595,2023-01-12 01:50:00,0.0,4.0 -1596,2023-01-12 02:00:00,0.0,4.0 -1597,2023-01-12 02:10:00,0.0,4.0 -1598,2023-01-12 02:20:00,0.0,4.0 -1599,2023-01-12 02:30:00,0.0,4.0 -1600,2023-01-12 02:40:00,0.0,4.0 -1601,2023-01-12 02:50:00,0.0,4.0 -1602,2023-01-12 03:00:00,0.0,4.0 -1603,2023-01-12 03:10:00,0.0,4.0 -1604,2023-01-12 03:20:00,0.0,4.0 -1605,2023-01-12 03:30:00,0.0,4.0 -1606,2023-01-12 03:40:00,0.0,4.0 -1607,2023-01-12 03:50:00,0.0,4.0 -1632,2023-01-12 08:00:00,0.0,6.0 -1633,2023-01-12 08:10:00,0.0,6.0 -1634,2023-01-12 08:20:00,0.0,6.0 -1635,2023-01-12 08:30:00,0.0,6.0 -1636,2023-01-12 08:40:00,0.0,6.0 -1637,2023-01-12 08:50:00,0.0,6.0 -1644,2023-01-12 10:00:00,20.507936507936503,6.0 -1645,2023-01-12 10:10:00,104.81032436162872,6.0 -1646,2023-01-12 10:20:00,479.5209204169845,6.0 -1647,2023-01-12 10:30:00,275.1608187134503,6.0 -1648,2023-01-12 10:40:00,475.8666666666667,6.0 -1649,2023-01-12 10:50:00,520.1333333333333,6.0 -1650,2023-01-12 11:00:00,0.0,6.0 -1651,2023-01-12 11:10:00,4.0,6.0 -1652,2023-01-12 11:20:00,0.0,6.0 -1653,2023-01-12 11:30:00,0.0,6.0 -1654,2023-01-12 11:40:00,0.0,6.0 -1655,2023-01-12 11:50:00,9.982363315696649,6.0 -1656,2023-01-12 12:00:00,312.52226631393296,6.0 -1657,2023-01-12 12:10:00,419.4953703703704,6.0 -1658,2023-01-12 12:20:00,185.0,6.0 -1659,2023-01-12 12:30:00,445.5682967959528,6.0 -1660,2023-01-12 12:40:00,379.4317032040472,6.0 -1661,2023-01-12 12:50:00,0.0,6.0 -1668,2023-01-12 14:00:00,306.17333333333335,6.0 -1669,2023-01-12 14:10:00,52.0,6.0 -1670,2023-01-12 14:20:00,76.0,6.0 -1671,2023-01-12 14:30:00,0.0,6.0 -1672,2023-01-12 14:40:00,422.9310924369748,6.0 -1673,2023-01-12 14:50:00,1000.3189075630252,6.0 -1674,2023-01-12 15:00:00,42.75,6.0 -1675,2023-01-12 15:10:00,0.0,6.0 -1676,2023-01-12 15:20:00,0.0,6.0 -1677,2023-01-12 15:30:00,0.0,6.0 -1678,2023-01-12 15:40:00,0.0,6.0 -1679,2023-01-12 15:50:00,0.0,6.0 -1698,2023-01-12 19:00:00,957.1189265536724,5.0 -1699,2023-01-12 19:10:00,191.36440677966104,5.0 -1700,2023-01-12 19:20:00,0.0,5.0 -1701,2023-01-12 19:30:00,81.0,5.0 -1702,2023-01-12 19:40:00,41.0,5.0 -1703,2023-01-12 19:50:00,365.3817567567568,5.0 -1704,2023-01-12 20:00:00,271.6182432432432,5.0 -1705,2023-01-12 20:10:00,0.0,5.0 -1706,2023-01-12 20:20:00,0.0,5.0 -1707,2023-01-12 20:30:00,0.0,5.0 -1708,2023-01-12 20:40:00,0.0,5.0 -1709,2023-01-12 20:50:00,2.0,5.0 -1716,2023-01-12 22:00:00,12.521739130434783,3.0 -1717,2023-01-12 22:10:00,11.478260869565217,3.0 -1718,2023-01-12 22:20:00,0.0,3.0 -1719,2023-01-12 22:30:00,0.0,3.0 -1720,2023-01-12 22:40:00,0.0,3.0 -1721,2023-01-12 22:50:00,23.0,3.0 -1722,2023-01-12 23:00:00,0.0,3.0 -1723,2023-01-12 23:10:00,0.0,3.0 -1724,2023-01-12 23:20:00,0.0,3.0 -1725,2023-01-12 23:30:00,0.0,3.0 -1726,2023-01-12 23:40:00,0.0,3.0 -1727,2023-01-12 23:50:00,0.0,3.0 -1734,2023-01-13 01:00:00,0.0,3.0 -1735,2023-01-13 01:10:00,26.0,3.0 -1736,2023-01-13 01:20:00,0.0,3.0 -1737,2023-01-13 01:30:00,0.0,3.0 -1738,2023-01-13 01:40:00,0.0,3.0 -1739,2023-01-13 01:50:00,0.0,3.0 -1758,2023-01-13 05:00:00,0.0,3.0 -1759,2023-01-13 05:10:00,0.0,3.0 -1760,2023-01-13 05:20:00,0.0,3.0 -1761,2023-01-13 05:30:00,0.0,3.0 -1762,2023-01-13 05:40:00,0.0,3.0 -1763,2023-01-13 05:50:00,0.0,3.0 -1764,2023-01-13 06:00:00,0.0,4.0 -1765,2023-01-13 06:10:00,0.0,4.0 -1766,2023-01-13 06:20:00,0.0,4.0 -1767,2023-01-13 06:30:00,0.0,4.0 -1768,2023-01-13 06:40:00,0.0,4.0 -1769,2023-01-13 06:50:00,0.0,4.0 -1776,2023-01-13 08:00:00,0.0,3.0 -1777,2023-01-13 08:10:00,0.0,3.0 -1778,2023-01-13 08:20:00,0.0,3.0 -1779,2023-01-13 08:30:00,0.0,3.0 -1780,2023-01-13 08:40:00,0.0,3.0 -1781,2023-01-13 08:50:00,0.0,3.0 -1788,2023-01-13 10:00:00,0.0,4.0 -1789,2023-01-13 10:10:00,38.648648648648646,4.0 -1790,2023-01-13 10:20:00,16.35135135135135,4.0 -1791,2023-01-13 10:30:00,0.0,4.0 -1792,2023-01-13 10:40:00,0.0,4.0 -1793,2023-01-13 10:50:00,0.0,4.0 -1800,2023-01-13 12:00:00,0.0,4.0 -1801,2023-01-13 12:10:00,0.0,4.0 -1802,2023-01-13 12:20:00,0.0,4.0 -1803,2023-01-13 12:30:00,0.0,4.0 -1804,2023-01-13 12:40:00,0.0,4.0 -1805,2023-01-13 12:50:00,47.0,4.0 -1806,2023-01-13 13:00:00,0.0,3.0 -1807,2023-01-13 13:10:00,0.0,3.0 -1808,2023-01-13 13:20:00,0.0,3.0 -1809,2023-01-13 13:30:00,9.038240917782026,3.0 -1810,2023-01-13 13:40:00,19.961759082217974,3.0 -1811,2023-01-13 13:50:00,32.0,3.0 -1812,2023-01-13 14:00:00,0.0,4.0 -1813,2023-01-13 14:10:00,0.0,4.0 -1814,2023-01-13 14:20:00,0.0,4.0 -1815,2023-01-13 14:30:00,0.0,4.0 -1816,2023-01-13 14:40:00,0.0,4.0 -1817,2023-01-13 14:50:00,0.0,4.0 -1818,2023-01-13 15:00:00,0.0,4.0 -1819,2023-01-13 15:10:00,31.0,4.0 -1820,2023-01-13 15:20:00,30.678260869565214,4.0 -1821,2023-01-13 15:30:00,218.42512896094323,4.0 -1822,2023-01-13 15:40:00,409.5082606549284,4.0 -1823,2023-01-13 15:50:00,0.0,4.0 -1824,2023-01-13 16:00:00,85.0,4.0 -1825,2023-01-13 16:10:00,8.775221238938054,4.0 -1826,2023-01-13 16:20:00,28.22477876106195,4.0 -1827,2023-01-13 16:30:00,51.501193317422434,4.0 -1828,2023-01-13 16:40:00,0.0,4.0 -1829,2023-01-13 16:50:00,8.0,4.0 -1830,2023-01-13 17:00:00,35.0,3.0 -1831,2023-01-13 17:10:00,52.0,3.0 -1832,2023-01-13 17:20:00,0.0,3.0 -1833,2023-01-13 17:30:00,3.507246376811594,3.0 -1834,2023-01-13 17:40:00,27.492753623188403,3.0 -1835,2023-01-13 17:50:00,19.016949152542374,3.0 -1854,2023-01-13 21:00:00,0.0,3.0 -1855,2023-01-13 21:10:00,0.0,3.0 -1856,2023-01-13 21:20:00,49.54838709677419,3.0 -1857,2023-01-13 21:30:00,30.451612903225804,3.0 -1858,2023-01-13 21:40:00,0.0,3.0 -1859,2023-01-13 21:50:00,0.0,3.0 -1884,2023-01-14 02:00:00,0.0,3.0 -1885,2023-01-14 02:10:00,0.0,3.0 -1886,2023-01-14 02:20:00,0.0,3.0 -1887,2023-01-14 02:30:00,0.0,3.0 -1888,2023-01-14 02:40:00,0.0,3.0 -1889,2023-01-14 02:50:00,0.0,3.0 -1896,2023-01-14 04:00:00,0.0,3.0 -1897,2023-01-14 04:10:00,0.0,3.0 -1898,2023-01-14 04:20:00,0.0,3.0 -1899,2023-01-14 04:30:00,0.0,3.0 -1900,2023-01-14 04:40:00,0.0,3.0 -1901,2023-01-14 04:50:00,0.0,3.0 -1914,2023-01-14 07:00:00,0.0,4.0 -1915,2023-01-14 07:10:00,0.0,4.0 -1916,2023-01-14 07:20:00,0.0,4.0 -1917,2023-01-14 07:30:00,0.0,4.0 -1918,2023-01-14 07:40:00,0.0,4.0 -1919,2023-01-14 07:50:00,0.0,4.0 -1962,2023-01-14 15:00:00,0.0,6.0 -1963,2023-01-14 15:10:00,0.0,6.0 -1964,2023-01-14 15:20:00,0.0,6.0 -1965,2023-01-14 15:30:00,24.0,6.0 -1966,2023-01-14 15:40:00,0.0,6.0 -1967,2023-01-14 15:50:00,0.0,6.0 -1974,2023-01-14 17:00:00,0.0,5.0 -1975,2023-01-14 17:10:00,0.0,5.0 -1976,2023-01-14 17:20:00,0.0,5.0 -1977,2023-01-14 17:30:00,0.0,5.0 -1978,2023-01-14 17:40:00,13.0,5.0 -1979,2023-01-14 17:50:00,0.0,5.0 -1986,2023-01-14 19:00:00,0.0,4.0 -1987,2023-01-14 19:10:00,464.45666666666665,4.0 -1988,2023-01-14 19:20:00,243.54333333333332,4.0 -1989,2023-01-14 19:30:00,0.0,4.0 -1990,2023-01-14 19:40:00,0.0,4.0 -1991,2023-01-14 19:50:00,0.0,4.0 -2010,2023-01-14 23:00:00,0.0,3.0 -2011,2023-01-14 23:10:00,0.0,3.0 -2012,2023-01-14 23:20:00,22.0,3.0 -2013,2023-01-14 23:30:00,0.0,3.0 -2014,2023-01-14 23:40:00,0.0,3.0 -2015,2023-01-14 23:50:00,0.0,3.0 -2016,2023-01-15 00:00:00,19.0,3.0 -2017,2023-01-15 00:10:00,0.0,3.0 -2018,2023-01-15 00:20:00,0.0,3.0 -2019,2023-01-15 00:30:00,0.0,3.0 -2020,2023-01-15 00:40:00,0.0,3.0 -2021,2023-01-15 00:50:00,0.0,3.0 -2022,2023-01-15 01:00:00,0.0,3.0 -2023,2023-01-15 01:10:00,0.0,3.0 -2024,2023-01-15 01:20:00,0.0,3.0 -2025,2023-01-15 01:30:00,0.0,3.0 -2026,2023-01-15 01:40:00,0.0,3.0 -2027,2023-01-15 01:50:00,0.0,3.0 -2028,2023-01-15 02:00:00,0.0,3.0 -2029,2023-01-15 02:10:00,0.0,3.0 -2030,2023-01-15 02:20:00,0.0,3.0 -2031,2023-01-15 02:30:00,0.0,3.0 -2032,2023-01-15 02:40:00,0.0,3.0 -2033,2023-01-15 02:50:00,0.0,3.0 -2040,2023-01-15 04:00:00,0.0,3.0 -2041,2023-01-15 04:10:00,0.0,3.0 -2042,2023-01-15 04:20:00,0.0,3.0 -2043,2023-01-15 04:30:00,0.0,3.0 -2044,2023-01-15 04:40:00,0.0,3.0 -2045,2023-01-15 04:50:00,0.0,3.0 -2046,2023-01-15 05:00:00,0.0,3.0 -2047,2023-01-15 05:10:00,0.0,3.0 -2048,2023-01-15 05:20:00,0.0,3.0 -2049,2023-01-15 05:30:00,0.0,3.0 -2050,2023-01-15 05:40:00,0.0,3.0 -2051,2023-01-15 05:50:00,0.0,3.0 -2058,2023-01-15 07:00:00,0.0,3.0 -2059,2023-01-15 07:10:00,0.0,3.0 -2060,2023-01-15 07:20:00,0.0,3.0 -2061,2023-01-15 07:30:00,0.0,3.0 -2062,2023-01-15 07:40:00,0.0,3.0 -2063,2023-01-15 07:50:00,0.0,3.0 -2064,2023-01-15 08:00:00,0.0,3.0 -2065,2023-01-15 08:10:00,0.0,3.0 -2066,2023-01-15 08:20:00,0.0,3.0 -2067,2023-01-15 08:30:00,0.0,3.0 -2068,2023-01-15 08:40:00,0.0,3.0 -2069,2023-01-15 08:50:00,0.0,3.0 -2088,2023-01-15 12:00:00,0.0,4.0 -2089,2023-01-15 12:10:00,0.0,4.0 -2090,2023-01-15 12:20:00,45.0,4.0 -2091,2023-01-15 12:30:00,0.0,4.0 -2092,2023-01-15 12:40:00,0.0,4.0 -2093,2023-01-15 12:50:00,14.000000000000002,4.0 -2106,2023-01-15 15:00:00,41.34913793103448,3.0 -2107,2023-01-15 15:10:00,9.0,3.0 -2108,2023-01-15 15:20:00,0.0,3.0 -2109,2023-01-15 15:30:00,0.0,3.0 -2110,2023-01-15 15:40:00,0.0,3.0 -2111,2023-01-15 15:50:00,0.0,3.0 -2112,2023-01-15 16:00:00,66.22671353251317,3.0 -2113,2023-01-15 16:10:00,92.7732864674868,3.0 -2114,2023-01-15 16:20:00,0.0,3.0 -2115,2023-01-15 16:30:00,0.0,3.0 -2116,2023-01-15 16:40:00,135.6466571399408,3.0 -2117,2023-01-15 16:50:00,203.4921199906331,3.0 -2148,2023-01-15 22:00:00,14.0,4.0 -2149,2023-01-15 22:10:00,0.0,4.0 -2150,2023-01-15 22:20:00,1.0,4.0 -2151,2023-01-15 22:30:00,0.0,4.0 -2152,2023-01-15 22:40:00,0.0,4.0 -2153,2023-01-15 22:50:00,0.0,4.0 -2160,2023-01-16 00:00:00,0.0,4.0 -2161,2023-01-16 00:10:00,0.0,4.0 -2162,2023-01-16 00:20:00,0.0,4.0 -2163,2023-01-16 00:30:00,0.0,4.0 -2164,2023-01-16 00:40:00,0.0,4.0 -2165,2023-01-16 00:50:00,0.0,4.0 -2166,2023-01-16 01:00:00,0.0,4.0 -2167,2023-01-16 01:10:00,0.0,4.0 -2168,2023-01-16 01:20:00,0.0,4.0 -2169,2023-01-16 01:30:00,39.0,4.0 -2170,2023-01-16 01:40:00,0.0,4.0 -2171,2023-01-16 01:50:00,0.0,4.0 -2190,2023-01-16 05:00:00,0.0,4.0 -2191,2023-01-16 05:10:00,0.0,4.0 -2192,2023-01-16 05:20:00,0.0,4.0 -2193,2023-01-16 05:30:00,0.0,4.0 -2194,2023-01-16 05:40:00,0.0,4.0 -2195,2023-01-16 05:50:00,0.0,4.0 -2196,2023-01-16 06:00:00,0.0,3.0 -2197,2023-01-16 06:10:00,0.0,3.0 -2198,2023-01-16 06:20:00,0.0,3.0 -2199,2023-01-16 06:30:00,0.0,3.0 -2200,2023-01-16 06:40:00,0.0,3.0 -2201,2023-01-16 06:50:00,0.0,3.0 -2214,2023-01-16 09:00:00,0.0,4.0 -2215,2023-01-16 09:10:00,0.0,4.0 -2216,2023-01-16 09:20:00,0.0,4.0 -2217,2023-01-16 09:30:00,0.0,4.0 -2218,2023-01-16 09:40:00,17.0,4.0 -2219,2023-01-16 09:50:00,0.0,4.0 -2220,2023-01-16 10:00:00,33.99310344827586,4.0 -2221,2023-01-16 10:10:00,132.00689655172414,4.0 -2222,2023-01-16 10:20:00,0.0,4.0 -2223,2023-01-16 10:30:00,0.0,4.0 -2224,2023-01-16 10:40:00,0.0,4.0 -2225,2023-01-16 10:50:00,0.0,4.0 -2244,2023-01-16 14:00:00,0.0,4.0 -2245,2023-01-16 14:10:00,0.0,4.0 -2246,2023-01-16 14:20:00,5.415540540540541,4.0 -2247,2023-01-16 14:30:00,20.58445945945946,4.0 -2248,2023-01-16 14:40:00,0.0,4.0 -2249,2023-01-16 14:50:00,0.0,4.0 -2256,2023-01-16 16:00:00,0.0,4.0 -2257,2023-01-16 16:10:00,0.0,4.0 -2258,2023-01-16 16:20:00,0.0,4.0 -2259,2023-01-16 16:30:00,0.0,4.0 -2260,2023-01-16 16:40:00,0.0,4.0 -2261,2023-01-16 16:50:00,0.0,4.0 -2268,2023-01-16 18:00:00,0.0,4.0 -2269,2023-01-16 18:10:00,0.0,4.0 -2270,2023-01-16 18:20:00,92.73461538461538,4.0 -2271,2023-01-16 18:30:00,78.26538461538462,4.0 -2272,2023-01-16 18:40:00,0.0,4.0 -2273,2023-01-16 18:50:00,133.68403361344537,4.0 -2274,2023-01-16 19:00:00,389.2175411897042,4.0 -2275,2023-01-16 19:10:00,81.0984251968504,4.0 -2276,2023-01-16 19:20:00,0.0,4.0 -2277,2023-01-16 19:30:00,0.0,4.0 -2278,2023-01-16 19:40:00,0.0,4.0 -2279,2023-01-16 19:50:00,0.0,4.0 -2292,2023-01-16 22:00:00,34.0,4.0 -2293,2023-01-16 22:10:00,0.0,4.0 -2294,2023-01-16 22:20:00,0.0,4.0 -2295,2023-01-16 22:30:00,0.0,4.0 -2296,2023-01-16 22:40:00,0.0,4.0 -2297,2023-01-16 22:50:00,0.0,4.0 -2298,2023-01-16 23:00:00,0.0,4.0 -2299,2023-01-16 23:10:00,0.0,4.0 -2300,2023-01-16 23:20:00,0.0,4.0 -2301,2023-01-16 23:30:00,0.0,4.0 -2302,2023-01-16 23:40:00,0.0,4.0 -2303,2023-01-16 23:50:00,0.0,4.0 -2310,2023-01-17 01:00:00,0.0,4.0 -2311,2023-01-17 01:10:00,11.0,4.0 -2312,2023-01-17 01:20:00,0.0,4.0 -2313,2023-01-17 01:30:00,8.0,4.0 -2314,2023-01-17 01:40:00,0.0,4.0 -2315,2023-01-17 01:50:00,0.0,4.0 -2316,2023-01-17 02:00:00,0.0,4.0 -2317,2023-01-17 02:10:00,0.0,4.0 -2318,2023-01-17 02:20:00,0.0,4.0 -2319,2023-01-17 02:30:00,0.0,4.0 -2320,2023-01-17 02:40:00,0.0,4.0 -2321,2023-01-17 02:50:00,0.0,4.0 -2322,2023-01-17 03:00:00,0.0,3.0 -2323,2023-01-17 03:10:00,0.0,3.0 -2324,2023-01-17 03:20:00,0.0,3.0 -2325,2023-01-17 03:30:00,0.0,3.0 -2326,2023-01-17 03:40:00,0.0,3.0 -2327,2023-01-17 03:50:00,0.0,3.0 -2340,2023-01-17 06:00:00,0.0,4.0 -2341,2023-01-17 06:10:00,0.0,4.0 -2342,2023-01-17 06:20:00,0.0,4.0 -2343,2023-01-17 06:30:00,0.0,4.0 -2344,2023-01-17 06:40:00,0.0,4.0 -2345,2023-01-17 06:50:00,0.0,4.0 -2358,2023-01-17 09:00:00,0.0,3.0 -2359,2023-01-17 09:10:00,0.0,3.0 -2360,2023-01-17 09:20:00,0.0,3.0 -2361,2023-01-17 09:30:00,8.0,3.0 -2362,2023-01-17 09:40:00,0.0,3.0 -2363,2023-01-17 09:50:00,0.0,3.0 -2364,2023-01-17 10:00:00,16.0,3.0 -2365,2023-01-17 10:10:00,0.0,3.0 -2366,2023-01-17 10:20:00,45.0,3.0 -2367,2023-01-17 10:30:00,0.0,3.0 -2368,2023-01-17 10:40:00,0.0,3.0 -2369,2023-01-17 10:50:00,57.0,3.0 -2370,2023-01-17 11:00:00,0.0,3.0 -2371,2023-01-17 11:10:00,0.0,3.0 -2372,2023-01-17 11:20:00,0.0,3.0 -2373,2023-01-17 11:30:00,0.0,3.0 -2374,2023-01-17 11:40:00,0.0,3.0 -2375,2023-01-17 11:50:00,0.0,3.0 -2376,2023-01-17 12:00:00,0.0,3.0 -2377,2023-01-17 12:10:00,0.0,3.0 -2378,2023-01-17 12:20:00,0.0,3.0 -2379,2023-01-17 12:30:00,0.0,3.0 -2380,2023-01-17 12:40:00,16.0,3.0 -2381,2023-01-17 12:50:00,0.0,3.0 -2382,2023-01-17 13:00:00,0.0,3.0 -2383,2023-01-17 13:10:00,0.0,3.0 -2384,2023-01-17 13:20:00,34.0,3.0 -2385,2023-01-17 13:30:00,69.0,3.0 -2386,2023-01-17 13:40:00,12.61,3.0 -2387,2023-01-17 13:50:00,87.8597508896797,3.0 -2388,2023-01-17 14:00:00,21.530249110320288,3.0 -2389,2023-01-17 14:10:00,0.0,3.0 -2390,2023-01-17 14:20:00,0.0,3.0 -2391,2023-01-17 14:30:00,0.0,3.0 -2392,2023-01-17 14:40:00,0.0,3.0 -2393,2023-01-17 14:50:00,0.0,3.0 -2400,2023-01-17 16:00:00,0.0,1.0 -2401,2023-01-17 16:10:00,0.0,1.0 -2402,2023-01-17 16:20:00,0.0,1.0 -2403,2023-01-17 16:30:00,0.0,1.0 -2404,2023-01-17 16:40:00,0.0,1.0 -2405,2023-01-17 16:50:00,0.0,1.0 -2418,2023-01-17 19:00:00,0.0,3.0 -2419,2023-01-17 19:10:00,0.0,3.0 -2420,2023-01-17 19:20:00,31.0,3.0 -2421,2023-01-17 19:30:00,146.7196652719665,3.0 -2422,2023-01-17 19:40:00,31.28033472803347,3.0 -2423,2023-01-17 19:50:00,42.5929648241206,3.0 -2424,2023-01-17 20:00:00,165.4070351758794,4.0 -2425,2023-01-17 20:10:00,0.0,4.0 -2426,2023-01-17 20:20:00,71.0,4.0 -2427,2023-01-17 20:30:00,0.0,4.0 -2428,2023-01-17 20:40:00,145.0,4.0 -2429,2023-01-17 20:50:00,37.43283582089552,4.0 -2430,2023-01-17 21:00:00,0.5671641791044776,3.0 -2431,2023-01-17 21:10:00,118.0,3.0 -2432,2023-01-17 21:20:00,0.0,3.0 -2433,2023-01-17 21:30:00,0.0,3.0 -2434,2023-01-17 21:40:00,0.0,3.0 -2435,2023-01-17 21:50:00,0.0,3.0 -2442,2023-01-17 23:00:00,0.0,1.0 -2443,2023-01-17 23:10:00,74.0,1.0 -2444,2023-01-17 23:20:00,0.0,1.0 -2445,2023-01-17 23:30:00,25.253164556962023,1.0 -2446,2023-01-17 23:40:00,9.746835443037972,1.0 -2447,2023-01-17 23:50:00,0.0,1.0 -2448,2023-01-18 00:00:00,0.0,1.0 -2449,2023-01-18 00:10:00,0.0,1.0 -2450,2023-01-18 00:20:00,0.0,1.0 -2451,2023-01-18 00:30:00,0.0,1.0 -2452,2023-01-18 00:40:00,0.0,1.0 -2453,2023-01-18 00:50:00,29.0,1.0 -2460,2023-01-18 02:00:00,0.0,1.0 -2461,2023-01-18 02:10:00,0.0,1.0 -2462,2023-01-18 02:20:00,0.0,1.0 -2463,2023-01-18 02:30:00,0.0,1.0 -2464,2023-01-18 02:40:00,0.0,1.0 -2465,2023-01-18 02:50:00,0.0,1.0 -2490,2023-01-18 07:00:00,0.0,1.0 -2491,2023-01-18 07:10:00,0.0,1.0 -2492,2023-01-18 07:20:00,0.0,1.0 -2493,2023-01-18 07:30:00,0.0,1.0 -2494,2023-01-18 07:40:00,0.0,1.0 -2495,2023-01-18 07:50:00,0.0,1.0 -2514,2023-01-18 11:00:00,24.97616546715944,3.0 -2515,2023-01-18 11:10:00,169.2405326460481,3.0 -2516,2023-01-18 11:20:00,256.9388174273859,3.0 -2517,2023-01-18 11:30:00,240.1161825726141,3.0 -2518,2023-01-18 11:40:00,148.0,3.0 -2519,2023-01-18 11:50:00,216.7333333333333,3.0 -2538,2023-01-18 15:00:00,669.8767903910017,4.0 -2539,2023-01-18 15:10:00,114.55877993489888,4.0 -2540,2023-01-18 15:20:00,163.3465909090909,4.0 -2541,2023-01-18 15:30:00,38.0,4.0 -2542,2023-01-18 15:40:00,0.0,4.0 -2543,2023-01-18 15:50:00,0.0,4.0 -2544,2023-01-18 16:00:00,765.14,3.0 -2545,2023-01-18 16:10:00,998.86,3.0 -2546,2023-01-18 16:20:00,122.0,3.0 -2547,2023-01-18 16:30:00,0.0,3.0 -2548,2023-01-18 16:40:00,40.0,3.0 -2549,2023-01-18 16:50:00,0.0,3.0 -2568,2023-01-18 20:00:00,0.0,4.0 -2569,2023-01-18 20:10:00,0.0,4.0 -2570,2023-01-18 20:20:00,270.0,4.0 -2571,2023-01-18 20:30:00,0.0,4.0 -2572,2023-01-18 20:40:00,0.0,4.0 -2573,2023-01-18 20:50:00,104.0,4.0 -2574,2023-01-18 21:00:00,0.0,4.0 -2575,2023-01-18 21:10:00,0.0,4.0 -2576,2023-01-18 21:20:00,0.0,4.0 -2577,2023-01-18 21:30:00,0.0,4.0 -2578,2023-01-18 21:40:00,0.0,4.0 -2579,2023-01-18 21:50:00,0.0,4.0 -2604,2023-01-19 02:00:00,0.0,4.0 -2605,2023-01-19 02:10:00,0.0,4.0 -2606,2023-01-19 02:20:00,0.0,4.0 -2607,2023-01-19 02:30:00,0.0,4.0 -2608,2023-01-19 02:40:00,0.0,4.0 -2609,2023-01-19 02:50:00,0.0,4.0 -2610,2023-01-19 03:00:00,0.0,3.0 -2611,2023-01-19 03:10:00,0.0,3.0 -2612,2023-01-19 03:20:00,0.0,3.0 -2613,2023-01-19 03:30:00,0.0,3.0 -2614,2023-01-19 03:40:00,0.0,3.0 -2615,2023-01-19 03:50:00,0.0,3.0 -2616,2023-01-19 04:00:00,0.0,4.0 -2617,2023-01-19 04:10:00,0.0,4.0 -2618,2023-01-19 04:20:00,0.0,4.0 -2619,2023-01-19 04:30:00,0.0,4.0 -2620,2023-01-19 04:40:00,0.0,4.0 -2621,2023-01-19 04:50:00,0.0,4.0 -2622,2023-01-19 05:00:00,0.0,3.0 -2623,2023-01-19 05:10:00,0.0,3.0 -2624,2023-01-19 05:20:00,0.0,3.0 -2625,2023-01-19 05:30:00,0.0,3.0 -2626,2023-01-19 05:40:00,0.0,3.0 -2627,2023-01-19 05:50:00,0.0,3.0 -2634,2023-01-19 07:00:00,0.0,4.0 -2635,2023-01-19 07:10:00,0.0,4.0 -2636,2023-01-19 07:20:00,0.0,4.0 -2637,2023-01-19 07:30:00,0.0,4.0 -2638,2023-01-19 07:40:00,0.0,4.0 -2639,2023-01-19 07:50:00,0.0,4.0 -2640,2023-01-19 08:00:00,0.0,3.0 -2641,2023-01-19 08:10:00,0.0,3.0 -2642,2023-01-19 08:20:00,0.0,3.0 -2643,2023-01-19 08:30:00,0.0,3.0 -2644,2023-01-19 08:40:00,0.0,3.0 -2645,2023-01-19 08:50:00,0.0,3.0 -2646,2023-01-19 09:00:00,0.0,3.0 -2647,2023-01-19 09:10:00,0.0,3.0 -2648,2023-01-19 09:20:00,0.0,3.0 -2649,2023-01-19 09:30:00,0.0,3.0 -2650,2023-01-19 09:40:00,0.0,3.0 -2651,2023-01-19 09:50:00,0.0,3.0 -2652,2023-01-19 10:00:00,0.0,3.0 -2653,2023-01-19 10:10:00,0.0,3.0 -2654,2023-01-19 10:20:00,0.0,3.0 -2655,2023-01-19 10:30:00,0.0,3.0 -2656,2023-01-19 10:40:00,0.0,3.0 -2657,2023-01-19 10:50:00,0.0,3.0 -2664,2023-01-19 12:00:00,13.937655860349128,3.0 -2665,2023-01-19 12:10:00,0.0,3.0 -2666,2023-01-19 12:20:00,0.0,3.0 -2667,2023-01-19 12:30:00,13.04494382022472,3.0 -2668,2023-01-19 12:40:00,67.95505617977528,3.0 -2669,2023-01-19 12:50:00,0.0,3.0 -2682,2023-01-19 15:00:00,10.0,4.0 -2683,2023-01-19 15:10:00,0.0,4.0 -2684,2023-01-19 15:20:00,0.0,4.0 -2685,2023-01-19 15:30:00,0.0,4.0 -2686,2023-01-19 15:40:00,0.0,4.0 -2687,2023-01-19 15:50:00,0.0,4.0 -2688,2023-01-19 16:00:00,0.0,3.0 -2689,2023-01-19 16:10:00,114.57360568018112,3.0 -2690,2023-01-19 16:20:00,587.9361477827748,3.0 -2691,2023-01-19 16:30:00,53.87978142076503,3.0 -2692,2023-01-19 16:40:00,4.713333333333334,3.0 -2693,2023-01-19 16:50:00,26.28666666666667,3.0 -2712,2023-01-19 20:00:00,38.34516765285996,1.0 -2713,2023-01-19 20:10:00,52.0,1.0 -2714,2023-01-19 20:20:00,49.0,1.0 -2715,2023-01-19 20:30:00,0.0,1.0 -2716,2023-01-19 20:40:00,42.51447661469933,1.0 -2717,2023-01-19 20:50:00,28.485523385300667,1.0 -2718,2023-01-19 21:00:00,6.603773584905661,4.0 -2719,2023-01-19 21:10:00,34.39622641509434,4.0 -2720,2023-01-19 21:20:00,22.0,4.0 -2721,2023-01-19 21:30:00,149.0,4.0 -2722,2023-01-19 21:40:00,0.0,4.0 -2723,2023-01-19 21:50:00,0.0,4.0 -2724,2023-01-19 22:00:00,0.0,3.0 -2725,2023-01-19 22:10:00,33.0,3.0 -2726,2023-01-19 22:20:00,8.0,3.0 -2727,2023-01-19 22:30:00,0.0,3.0 -2728,2023-01-19 22:40:00,0.0,3.0 -2729,2023-01-19 22:50:00,114.65693430656935,3.0 -2730,2023-01-19 23:00:00,4.343065693430657,3.0 -2731,2023-01-19 23:10:00,0.0,3.0 -2732,2023-01-19 23:20:00,0.0,3.0 -2733,2023-01-19 23:30:00,0.0,3.0 -2734,2023-01-19 23:40:00,0.0,3.0 -2735,2023-01-19 23:50:00,0.0,3.0 -2772,2023-01-20 06:00:00,0.0,3.0 -2773,2023-01-20 06:10:00,0.0,3.0 -2774,2023-01-20 06:20:00,0.0,3.0 -2775,2023-01-20 06:30:00,0.0,3.0 -2776,2023-01-20 06:40:00,0.0,3.0 -2777,2023-01-20 06:50:00,0.0,3.0 -2778,2023-01-20 07:00:00,0.0,3.0 -2779,2023-01-20 07:10:00,0.0,3.0 -2780,2023-01-20 07:20:00,0.0,3.0 -2781,2023-01-20 07:30:00,0.0,3.0 -2782,2023-01-20 07:40:00,0.0,3.0 -2783,2023-01-20 07:50:00,0.0,3.0 -2784,2023-01-20 08:00:00,0.0,3.0 -2785,2023-01-20 08:10:00,0.0,3.0 -2786,2023-01-20 08:20:00,0.0,3.0 -2787,2023-01-20 08:30:00,0.0,3.0 -2788,2023-01-20 08:40:00,0.0,3.0 -2789,2023-01-20 08:50:00,0.0,3.0 -2790,2023-01-20 09:00:00,0.0,3.0 -2791,2023-01-20 09:10:00,0.0,3.0 -2792,2023-01-20 09:20:00,0.0,3.0 -2793,2023-01-20 09:30:00,0.0,3.0 -2794,2023-01-20 09:40:00,0.0,3.0 -2795,2023-01-20 09:50:00,0.0,3.0 -2796,2023-01-20 10:00:00,19.0,3.0 -2797,2023-01-20 10:10:00,12.0,3.0 -2798,2023-01-20 10:20:00,0.0,3.0 -2799,2023-01-20 10:30:00,0.0,3.0 -2800,2023-01-20 10:40:00,0.0,3.0 -2801,2023-01-20 10:50:00,0.0,3.0 -2802,2023-01-20 11:00:00,16.0,3.0 -2803,2023-01-20 11:10:00,0.0,3.0 -2804,2023-01-20 11:20:00,0.0,3.0 -2805,2023-01-20 11:30:00,0.0,3.0 -2806,2023-01-20 11:40:00,39.0,3.0 -2807,2023-01-20 11:50:00,0.0,3.0 -2808,2023-01-20 12:00:00,0.0,3.0 -2809,2023-01-20 12:10:00,0.0,3.0 -2810,2023-01-20 12:20:00,12.0,3.0 -2811,2023-01-20 12:30:00,0.0,3.0 -2812,2023-01-20 12:40:00,0.0,3.0 -2813,2023-01-20 12:50:00,18.0,3.0 -2820,2023-01-20 14:00:00,28.0,3.0 -2821,2023-01-20 14:10:00,0.0,3.0 -2822,2023-01-20 14:20:00,19.54222972972973,3.0 -2823,2023-01-20 14:30:00,59.457770270270274,3.0 -2824,2023-01-20 14:40:00,0.0,3.0 -2825,2023-01-20 14:50:00,0.0,3.0 -2838,2023-01-20 17:00:00,0.0,4.0 -2839,2023-01-20 17:10:00,0.0,4.0 -2840,2023-01-20 17:20:00,0.0,4.0 -2841,2023-01-20 17:30:00,0.0,4.0 -2842,2023-01-20 17:40:00,0.0,4.0 -2843,2023-01-20 17:50:00,0.0,4.0 -2856,2023-01-20 20:00:00,79.90625,1.0 -2857,2023-01-20 20:10:00,0.0,1.0 -2858,2023-01-20 20:20:00,0.0,1.0 -2859,2023-01-20 20:30:00,0.0,1.0 -2860,2023-01-20 20:40:00,0.0,1.0 -2861,2023-01-20 20:50:00,0.0,1.0 -2862,2023-01-20 21:00:00,0.0,3.0 -2863,2023-01-20 21:10:00,0.0,3.0 -2864,2023-01-20 21:20:00,2.0,3.0 -2865,2023-01-20 21:30:00,0.0,3.0 -2866,2023-01-20 21:40:00,30.0,3.0 -2867,2023-01-20 21:50:00,12.0,3.0 -2868,2023-01-20 22:00:00,0.0,1.0 -2869,2023-01-20 22:10:00,0.0,1.0 -2870,2023-01-20 22:20:00,21.2,1.0 -2871,2023-01-20 22:30:00,31.8,1.0 -2872,2023-01-20 22:40:00,0.0,1.0 -2873,2023-01-20 22:50:00,0.0,1.0 -2874,2023-01-20 23:00:00,0.0,1.0 -2875,2023-01-20 23:10:00,0.0,1.0 -2876,2023-01-20 23:20:00,0.0,1.0 -2877,2023-01-20 23:30:00,0.0,1.0 -2878,2023-01-20 23:40:00,0.0,1.0 -2879,2023-01-20 23:50:00,0.0,1.0 -2880,2023-01-21 00:00:00,0.0,1.0 -2881,2023-01-21 00:10:00,0.0,1.0 -2882,2023-01-21 00:20:00,0.0,1.0 -2883,2023-01-21 00:30:00,0.0,1.0 -2884,2023-01-21 00:40:00,0.0,1.0 -2885,2023-01-21 00:50:00,0.0,1.0 -2886,2023-01-21 01:00:00,46.99300699300699,1.0 -2887,2023-01-21 01:10:00,13.006993006993008,1.0 -2888,2023-01-21 01:20:00,0.0,1.0 -2889,2023-01-21 01:30:00,0.0,1.0 -2890,2023-01-21 01:40:00,0.0,1.0 -2891,2023-01-21 01:50:00,0.0,1.0 -2898,2023-01-21 03:00:00,0.0,1.0 -2899,2023-01-21 03:10:00,0.0,1.0 -2900,2023-01-21 03:20:00,0.0,1.0 -2901,2023-01-21 03:30:00,0.0,1.0 -2902,2023-01-21 03:40:00,0.0,1.0 -2903,2023-01-21 03:50:00,0.0,1.0 -2910,2023-01-21 05:00:00,0.0,1.0 -2911,2023-01-21 05:10:00,0.0,1.0 -2912,2023-01-21 05:20:00,0.0,1.0 -2913,2023-01-21 05:30:00,0.0,1.0 -2914,2023-01-21 05:40:00,0.0,1.0 -2915,2023-01-21 05:50:00,0.0,1.0 -2916,2023-01-21 06:00:00,0.0,1.0 -2917,2023-01-21 06:10:00,0.0,1.0 -2918,2023-01-21 06:20:00,0.0,1.0 -2919,2023-01-21 06:30:00,0.0,1.0 -2920,2023-01-21 06:40:00,0.0,1.0 -2921,2023-01-21 06:50:00,0.0,1.0 -2928,2023-01-21 08:00:00,0.0,1.0 -2929,2023-01-21 08:10:00,0.0,1.0 -2930,2023-01-21 08:20:00,0.0,1.0 -2931,2023-01-21 08:30:00,0.0,1.0 -2932,2023-01-21 08:40:00,0.0,1.0 -2933,2023-01-21 08:50:00,0.0,1.0 -2952,2023-01-21 12:00:00,46.14736842105263,3.0 -2953,2023-01-21 12:10:00,218.85263157894732,3.0 -2954,2023-01-21 12:20:00,263.4507575757576,3.0 -2955,2023-01-21 12:30:00,147.20308857808857,3.0 -2956,2023-01-21 12:40:00,123.195468914647,3.0 -2957,2023-01-21 12:50:00,118.3605147991817,3.0 -2958,2023-01-21 13:00:00,137.47668501848975,3.0 -2959,2023-01-21 13:10:00,262.8456340140046,3.0 -2960,2023-01-21 13:20:00,121.65490524841772,3.0 -2961,2023-01-21 13:30:00,248.50602819490712,3.0 -2962,2023-01-21 13:40:00,281.40469668270373,3.0 -2963,2023-01-21 13:50:00,91.10429447852762,3.0 -2964,2023-01-21 14:00:00,0.0,1.0 -2965,2023-01-21 14:10:00,0.0,1.0 -2966,2023-01-21 14:20:00,66.0,1.0 -2967,2023-01-21 14:30:00,0.0,1.0 -2968,2023-01-21 14:40:00,0.0,1.0 -2969,2023-01-21 14:50:00,0.0,1.0 -2970,2023-01-21 15:00:00,111.35755258126196,3.0 -2971,2023-01-21 15:10:00,43.60244741873805,3.0 -2972,2023-01-21 15:20:00,255.61627118644068,3.0 -2973,2023-01-21 15:30:00,45.42372881355932,3.0 -2974,2023-01-21 15:40:00,72.03883495145631,3.0 -2975,2023-01-21 15:50:00,27.961165048543688,3.0 -2994,2023-01-21 19:00:00,0.0,1.0 -2995,2023-01-21 19:10:00,0.0,1.0 -2996,2023-01-21 19:20:00,35.0,1.0 -2997,2023-01-21 19:30:00,0.0,1.0 -2998,2023-01-21 19:40:00,0.0,1.0 -2999,2023-01-21 19:50:00,0.0,1.0 -3006,2023-01-21 21:00:00,15.0,3.0 -3007,2023-01-21 21:10:00,27.0,3.0 -3008,2023-01-21 21:20:00,0.0,3.0 -3009,2023-01-21 21:30:00,0.0,3.0 -3010,2023-01-21 21:40:00,0.0,3.0 -3011,2023-01-21 21:50:00,0.0,3.0 -3012,2023-01-21 22:00:00,112.71571906354514,1.0 -3013,2023-01-21 22:10:00,156.28428093645485,1.0 -3014,2023-01-21 22:20:00,36.0,1.0 -3015,2023-01-21 22:30:00,163.81833333333333,1.0 -3016,2023-01-21 22:40:00,546.6261111111112,1.0 -3017,2023-01-21 22:50:00,96.55555555555556,1.0 -3018,2023-01-21 23:00:00,0.0,1.0 -3019,2023-01-21 23:10:00,0.0,1.0 -3020,2023-01-21 23:20:00,0.0,1.0 -3021,2023-01-21 23:30:00,0.0,1.0 -3022,2023-01-21 23:40:00,0.0,1.0 -3023,2023-01-21 23:50:00,0.0,1.0 -3030,2023-01-22 01:00:00,187.0,1.0 -3031,2023-01-22 01:10:00,0.0,1.0 -3032,2023-01-22 01:20:00,0.0,1.0 -3033,2023-01-22 01:30:00,0.0,1.0 -3034,2023-01-22 01:40:00,0.0,1.0 -3035,2023-01-22 01:50:00,0.0,1.0 -3042,2023-01-22 03:00:00,0.0,1.0 -3043,2023-01-22 03:10:00,0.0,1.0 -3044,2023-01-22 03:20:00,0.0,1.0 -3045,2023-01-22 03:30:00,0.0,1.0 -3046,2023-01-22 03:40:00,0.0,1.0 -3047,2023-01-22 03:50:00,0.0,1.0 -3048,2023-01-22 04:00:00,0.0,1.0 -3049,2023-01-22 04:10:00,0.0,1.0 -3050,2023-01-22 04:20:00,0.0,1.0 -3051,2023-01-22 04:30:00,0.0,1.0 -3052,2023-01-22 04:40:00,0.0,1.0 -3053,2023-01-22 04:50:00,0.0,1.0 -3054,2023-01-22 05:00:00,0.0,1.0 -3055,2023-01-22 05:10:00,0.0,1.0 -3056,2023-01-22 05:20:00,0.0,1.0 -3057,2023-01-22 05:30:00,0.0,1.0 -3058,2023-01-22 05:40:00,0.0,1.0 -3059,2023-01-22 05:50:00,0.0,1.0 -3072,2023-01-22 08:00:00,0.0,3.0 -3073,2023-01-22 08:10:00,0.0,3.0 -3074,2023-01-22 08:20:00,0.0,3.0 -3075,2023-01-22 08:30:00,0.0,3.0 -3076,2023-01-22 08:40:00,0.0,3.0 -3077,2023-01-22 08:50:00,0.0,3.0 -3084,2023-01-22 10:00:00,0.0,3.0 -3085,2023-01-22 10:10:00,0.0,3.0 -3086,2023-01-22 10:20:00,0.0,3.0 -3087,2023-01-22 10:30:00,0.0,3.0 -3088,2023-01-22 10:40:00,27.587939698492463,3.0 -3089,2023-01-22 10:50:00,26.412060301507537,3.0 -3102,2023-01-22 13:00:00,0.0,3.0 -3103,2023-01-22 13:10:00,42.0,3.0 -3104,2023-01-22 13:20:00,0.0,3.0 -3105,2023-01-22 13:30:00,0.0,3.0 -3106,2023-01-22 13:40:00,0.0,3.0 -3107,2023-01-22 13:50:00,0.0,3.0 -3108,2023-01-22 14:00:00,98.0,3.0 -3109,2023-01-22 14:10:00,27.945205479452053,3.0 -3110,2023-01-22 14:20:00,6.0547945205479445,3.0 -3111,2023-01-22 14:30:00,0.0,3.0 -3112,2023-01-22 14:40:00,0.0,3.0 -3113,2023-01-22 14:50:00,0.0,3.0 -3126,2023-01-22 17:00:00,0.0,3.0 -3127,2023-01-22 17:10:00,0.0,3.0 -3128,2023-01-22 17:20:00,0.0,3.0 -3129,2023-01-22 17:30:00,28.0,3.0 -3130,2023-01-22 17:40:00,0.0,3.0 -3131,2023-01-22 17:50:00,0.0,3.0 -3144,2023-01-22 20:00:00,341.0133333333333,3.0 -3145,2023-01-22 20:10:00,251.98666666666665,3.0 -3146,2023-01-22 20:20:00,0.0,3.0 -3147,2023-01-22 20:30:00,0.0,3.0 -3148,2023-01-22 20:40:00,46.98947368421052,3.0 -3149,2023-01-22 20:50:00,152.01052631578946,3.0 -3174,2023-01-23 01:00:00,0.0,3.0 -3175,2023-01-23 01:10:00,0.0,3.0 -3176,2023-01-23 01:20:00,0.0,3.0 -3177,2023-01-23 01:30:00,0.0,3.0 -3178,2023-01-23 01:40:00,0.0,3.0 -3179,2023-01-23 01:50:00,0.0,3.0 -3198,2023-01-23 05:00:00,0.0,3.0 -3199,2023-01-23 05:10:00,0.0,3.0 -3200,2023-01-23 05:20:00,0.0,3.0 -3201,2023-01-23 05:30:00,0.0,3.0 -3202,2023-01-23 05:40:00,0.0,3.0 -3203,2023-01-23 05:50:00,0.0,3.0 -3204,2023-01-23 06:00:00,0.0,3.0 -3205,2023-01-23 06:10:00,0.0,3.0 -3206,2023-01-23 06:20:00,0.0,3.0 -3207,2023-01-23 06:30:00,0.0,3.0 -3208,2023-01-23 06:40:00,0.0,3.0 -3209,2023-01-23 06:50:00,0.0,3.0 -3210,2023-01-23 07:00:00,0.0,3.0 -3211,2023-01-23 07:10:00,0.0,3.0 -3212,2023-01-23 07:20:00,0.0,3.0 -3213,2023-01-23 07:30:00,0.0,3.0 -3214,2023-01-23 07:40:00,0.0,3.0 -3215,2023-01-23 07:50:00,0.0,3.0 -3216,2023-01-23 08:00:00,0.0,3.0 -3217,2023-01-23 08:10:00,0.0,3.0 -3218,2023-01-23 08:20:00,0.0,3.0 -3219,2023-01-23 08:30:00,0.0,3.0 -3220,2023-01-23 08:40:00,0.0,3.0 -3221,2023-01-23 08:50:00,0.0,3.0 -3222,2023-01-23 09:00:00,0.0,3.0 -3223,2023-01-23 09:10:00,0.0,3.0 -3224,2023-01-23 09:20:00,0.0,3.0 -3225,2023-01-23 09:30:00,0.0,3.0 -3226,2023-01-23 09:40:00,0.0,3.0 -3227,2023-01-23 09:50:00,0.0,3.0 -3228,2023-01-23 10:00:00,0.0,3.0 -3229,2023-01-23 10:10:00,54.0,3.0 -3230,2023-01-23 10:20:00,0.0,3.0 -3231,2023-01-23 10:30:00,0.0,3.0 -3232,2023-01-23 10:40:00,0.0,3.0 -3233,2023-01-23 10:50:00,0.0,3.0 -3246,2023-01-23 13:00:00,0.0,3.0 -3247,2023-01-23 13:10:00,0.0,3.0 -3248,2023-01-23 13:20:00,0.0,3.0 -3249,2023-01-23 13:30:00,0.0,3.0 -3250,2023-01-23 13:40:00,0.0,3.0 -3251,2023-01-23 13:50:00,0.0,3.0 -3270,2023-01-23 17:00:00,0.0,3.0 -3271,2023-01-23 17:10:00,0.0,3.0 -3272,2023-01-23 17:20:00,0.0,3.0 -3273,2023-01-23 17:30:00,0.0,3.0 -3274,2023-01-23 17:40:00,0.0,3.0 -3275,2023-01-23 17:50:00,0.0,3.0 -3276,2023-01-23 18:00:00,0.0,3.0 -3277,2023-01-23 18:10:00,0.0,3.0 -3278,2023-01-23 18:20:00,25.0,3.0 -3279,2023-01-23 18:30:00,0.0,3.0 -3280,2023-01-23 18:40:00,0.0,3.0 -3281,2023-01-23 18:50:00,0.0,3.0 -3282,2023-01-23 19:00:00,33.214285714285715,3.0 -3283,2023-01-23 19:10:00,17.785714285714285,3.0 -3284,2023-01-23 19:20:00,0.0,3.0 -3285,2023-01-23 19:30:00,0.0,3.0 -3286,2023-01-23 19:40:00,0.0,3.0 -3287,2023-01-23 19:50:00,0.0,3.0 -3288,2023-01-23 20:00:00,0.0,3.0 -3289,2023-01-23 20:10:00,0.0,3.0 -3290,2023-01-23 20:20:00,0.0,3.0 -3291,2023-01-23 20:30:00,0.0,3.0 -3292,2023-01-23 20:40:00,47.0,3.0 -3293,2023-01-23 20:50:00,18.0,3.0 -3300,2023-01-23 22:00:00,11.0,3.0 -3301,2023-01-23 22:10:00,0.0,3.0 -3302,2023-01-23 22:20:00,38.0,3.0 -3303,2023-01-23 22:30:00,0.0,3.0 -3304,2023-01-23 22:40:00,37.0,3.0 -3305,2023-01-23 22:50:00,33.0,3.0 -3312,2023-01-24 00:00:00,0.0,3.0 -3313,2023-01-24 00:10:00,0.0,3.0 -3314,2023-01-24 00:20:00,0.0,3.0 -3315,2023-01-24 00:30:00,0.0,3.0 -3316,2023-01-24 00:40:00,12.0,3.0 -3317,2023-01-24 00:50:00,0.0,3.0 -3318,2023-01-24 01:00:00,0.0,3.0 -3319,2023-01-24 01:10:00,0.0,3.0 -3320,2023-01-24 01:20:00,0.0,3.0 -3321,2023-01-24 01:30:00,0.0,3.0 -3322,2023-01-24 01:40:00,0.0,3.0 -3323,2023-01-24 01:50:00,0.0,3.0 -3336,2023-01-24 04:00:00,0.0,3.0 -3337,2023-01-24 04:10:00,0.0,3.0 -3338,2023-01-24 04:20:00,0.0,3.0 -3339,2023-01-24 04:30:00,0.0,3.0 -3340,2023-01-24 04:40:00,0.0,3.0 -3341,2023-01-24 04:50:00,0.0,3.0 -3354,2023-01-24 07:00:00,0.0,3.0 -3355,2023-01-24 07:10:00,0.0,3.0 -3356,2023-01-24 07:20:00,0.0,3.0 -3357,2023-01-24 07:30:00,0.0,3.0 -3358,2023-01-24 07:40:00,0.0,3.0 -3359,2023-01-24 07:50:00,0.0,3.0 -3360,2023-01-24 08:00:00,0.0,3.0 -3361,2023-01-24 08:10:00,0.0,3.0 -3362,2023-01-24 08:20:00,0.0,3.0 -3363,2023-01-24 08:30:00,0.0,3.0 -3364,2023-01-24 08:40:00,0.0,3.0 -3365,2023-01-24 08:50:00,0.0,3.0 -3366,2023-01-24 09:00:00,0.0,3.0 -3367,2023-01-24 09:10:00,0.0,3.0 -3368,2023-01-24 09:20:00,0.0,3.0 -3369,2023-01-24 09:30:00,0.0,3.0 -3370,2023-01-24 09:40:00,0.0,3.0 -3371,2023-01-24 09:50:00,0.0,3.0 -3378,2023-01-24 11:00:00,0.0,3.0 -3379,2023-01-24 11:10:00,0.0,3.0 -3380,2023-01-24 11:20:00,0.0,3.0 -3381,2023-01-24 11:30:00,0.0,3.0 -3382,2023-01-24 11:40:00,0.0,3.0 -3383,2023-01-24 11:50:00,33.0,3.0 -3384,2023-01-24 12:00:00,0.0,3.0 -3385,2023-01-24 12:10:00,0.0,3.0 -3386,2023-01-24 12:20:00,0.0,3.0 -3387,2023-01-24 12:30:00,0.0,3.0 -3388,2023-01-24 12:40:00,0.0,3.0 -3389,2023-01-24 12:50:00,0.0,3.0 -3396,2023-01-24 14:00:00,14.0,3.0 -3397,2023-01-24 14:10:00,0.0,3.0 -3398,2023-01-24 14:20:00,0.0,3.0 -3399,2023-01-24 14:30:00,0.0,3.0 -3400,2023-01-24 14:40:00,0.0,3.0 -3401,2023-01-24 14:50:00,0.0,3.0 -3426,2023-01-24 19:00:00,82.44897754611067,3.0 -3427,2023-01-24 19:10:00,50.14685314685315,3.0 -3428,2023-01-24 19:20:00,50.85314685314685,3.0 -3429,2023-01-24 19:30:00,32.0,3.0 -3430,2023-01-24 19:40:00,0.0,3.0 -3431,2023-01-24 19:50:00,186.0,3.0 -3432,2023-01-24 20:00:00,87.0,3.0 -3433,2023-01-24 20:10:00,0.0,3.0 -3434,2023-01-24 20:20:00,93.44666666666666,3.0 -3435,2023-01-24 20:30:00,244.5533333333333,3.0 -3436,2023-01-24 20:40:00,0.0,3.0 -3437,2023-01-24 20:50:00,38.99999999999999,3.0 -3438,2023-01-24 21:00:00,0.0,3.0 -3439,2023-01-24 21:10:00,0.0,3.0 -3440,2023-01-24 21:20:00,5.879396984924624,3.0 -3441,2023-01-24 21:30:00,59.12060301507538,3.0 -3442,2023-01-24 21:40:00,15.0,3.0 -3443,2023-01-24 21:50:00,41.0,3.0 -3444,2023-01-24 22:00:00,0.0,3.0 -3445,2023-01-24 22:10:00,0.0,3.0 -3446,2023-01-24 22:20:00,0.0,3.0 -3447,2023-01-24 22:30:00,0.0,3.0 -3448,2023-01-24 22:40:00,0.0,3.0 -3449,2023-01-24 22:50:00,9.0,3.0 -3450,2023-01-24 23:00:00,0.0,1.0 -3451,2023-01-24 23:10:00,0.0,1.0 -3452,2023-01-24 23:20:00,0.0,1.0 -3453,2023-01-24 23:30:00,0.0,1.0 -3454,2023-01-24 23:40:00,0.0,1.0 -3455,2023-01-24 23:50:00,0.0,1.0 -3462,2023-01-25 01:00:00,0.0,3.0 -3463,2023-01-25 01:10:00,0.0,3.0 -3464,2023-01-25 01:20:00,35.0,3.0 -3465,2023-01-25 01:30:00,0.0,3.0 -3466,2023-01-25 01:40:00,0.0,3.0 -3467,2023-01-25 01:50:00,0.0,3.0 -3468,2023-01-25 02:00:00,0.0,3.0 -3469,2023-01-25 02:10:00,0.0,3.0 -3470,2023-01-25 02:20:00,0.0,3.0 -3471,2023-01-25 02:30:00,0.0,3.0 -3472,2023-01-25 02:40:00,0.0,3.0 -3473,2023-01-25 02:50:00,0.0,3.0 -3474,2023-01-25 03:00:00,0.0,1.0 -3475,2023-01-25 03:10:00,0.0,1.0 -3476,2023-01-25 03:20:00,0.0,1.0 -3477,2023-01-25 03:30:00,0.0,1.0 -3478,2023-01-25 03:40:00,0.0,1.0 -3479,2023-01-25 03:50:00,0.0,1.0 -3480,2023-01-25 04:00:00,0.0,1.0 -3481,2023-01-25 04:10:00,0.0,1.0 -3482,2023-01-25 04:20:00,0.0,1.0 -3483,2023-01-25 04:30:00,0.0,1.0 -3484,2023-01-25 04:40:00,0.0,1.0 -3485,2023-01-25 04:50:00,0.0,1.0 -3492,2023-01-25 06:00:00,0.0,1.0 -3493,2023-01-25 06:10:00,0.0,1.0 -3494,2023-01-25 06:20:00,0.0,1.0 -3495,2023-01-25 06:30:00,0.0,1.0 -3496,2023-01-25 06:40:00,0.0,1.0 -3497,2023-01-25 06:50:00,0.0,1.0 -3504,2023-01-25 08:00:00,0.0,1.0 -3505,2023-01-25 08:10:00,0.0,1.0 -3506,2023-01-25 08:20:00,0.0,1.0 -3507,2023-01-25 08:30:00,0.0,1.0 -3508,2023-01-25 08:40:00,0.0,1.0 -3509,2023-01-25 08:50:00,0.0,1.0 -3510,2023-01-25 09:00:00,0.0,3.0 -3511,2023-01-25 09:10:00,0.0,3.0 -3512,2023-01-25 09:20:00,0.0,3.0 -3513,2023-01-25 09:30:00,0.0,3.0 -3514,2023-01-25 09:40:00,0.0,3.0 -3515,2023-01-25 09:50:00,0.0,3.0 -3528,2023-01-25 12:00:00,0.0,3.0 -3529,2023-01-25 12:10:00,0.0,3.0 -3530,2023-01-25 12:20:00,0.0,3.0 -3531,2023-01-25 12:30:00,43.32640949554896,3.0 -3532,2023-01-25 12:40:00,49.67359050445104,3.0 -3533,2023-01-25 12:50:00,0.0,3.0 -3534,2023-01-25 13:00:00,67.0,3.0 -3535,2023-01-25 13:10:00,13.0,3.0 -3536,2023-01-25 13:20:00,0.0,3.0 -3537,2023-01-25 13:30:00,0.0,3.0 -3538,2023-01-25 13:40:00,0.0,3.0 -3539,2023-01-25 13:50:00,0.0,3.0 -3558,2023-01-25 17:00:00,0.0,1.0 -3559,2023-01-25 17:10:00,0.0,1.0 -3560,2023-01-25 17:20:00,0.0,1.0 -3561,2023-01-25 17:30:00,0.0,1.0 -3562,2023-01-25 17:40:00,38.43257443082312,1.0 -3563,2023-01-25 17:50:00,16.56742556917688,1.0 -3564,2023-01-25 18:00:00,286.9266666666667,1.0 -3565,2023-01-25 18:10:00,947.0137799834574,1.0 -3566,2023-01-25 18:20:00,372.059553349876,1.0 -3567,2023-01-25 18:30:00,0.0,1.0 -3568,2023-01-25 18:40:00,0.0,1.0 -3569,2023-01-25 18:50:00,129.4582338902148,1.0 -3570,2023-01-25 19:00:00,356.1233263934731,1.0 -3571,2023-01-25 19:10:00,271.41843971631204,1.0 -3572,2023-01-25 19:20:00,0.0,1.0 -3573,2023-01-25 19:30:00,0.0,1.0 -3574,2023-01-25 19:40:00,0.0,1.0 -3575,2023-01-25 19:50:00,0.0,1.0 -3576,2023-01-25 20:00:00,79.0,3.0 -3577,2023-01-25 20:10:00,0.0,3.0 -3578,2023-01-25 20:20:00,0.0,3.0 -3579,2023-01-25 20:30:00,5.813868613138687,3.0 -3580,2023-01-25 20:40:00,61.916468465513,3.0 -3581,2023-01-25 20:50:00,33.26966292134831,3.0 -3600,2023-01-26 00:00:00,0.0,4.0 -3601,2023-01-26 00:10:00,0.0,4.0 -3602,2023-01-26 00:20:00,0.0,4.0 -3603,2023-01-26 00:30:00,0.0,4.0 -3604,2023-01-26 00:40:00,0.0,4.0 -3605,2023-01-26 00:50:00,0.0,4.0 -3606,2023-01-26 01:00:00,37.937106918239,2.0 -3607,2023-01-26 01:10:00,10.062893081761008,2.0 -3608,2023-01-26 01:20:00,0.0,2.0 -3609,2023-01-26 01:30:00,17.0,2.0 -3610,2023-01-26 01:40:00,0.0,2.0 -3611,2023-01-26 01:50:00,0.0,2.0 -3642,2023-01-26 07:00:00,0.0,4.0 -3643,2023-01-26 07:10:00,0.0,4.0 -3644,2023-01-26 07:20:00,0.0,4.0 -3645,2023-01-26 07:30:00,0.0,4.0 -3646,2023-01-26 07:40:00,0.0,4.0 -3647,2023-01-26 07:50:00,0.0,4.0 -3654,2023-01-26 09:00:00,0.0,3.0 -3655,2023-01-26 09:10:00,0.0,3.0 -3656,2023-01-26 09:20:00,0.0,3.0 -3657,2023-01-26 09:30:00,0.0,3.0 -3658,2023-01-26 09:40:00,0.0,3.0 -3659,2023-01-26 09:50:00,0.0,3.0 -3672,2023-01-26 12:00:00,205.0,3.0 -3673,2023-01-26 12:10:00,44.0,3.0 -3674,2023-01-26 12:20:00,154.48669201520912,3.0 -3675,2023-01-26 12:30:00,15.513307984790874,3.0 -3676,2023-01-26 12:40:00,74.9559748427673,3.0 -3677,2023-01-26 12:50:00,43.0440251572327,3.0 -3678,2023-01-26 13:00:00,0.0,3.0 -3679,2023-01-26 13:10:00,0.0,3.0 -3680,2023-01-26 13:20:00,0.2321428571428571,3.0 -3681,2023-01-26 13:30:00,25.767857142857142,3.0 -3682,2023-01-26 13:40:00,0.0,3.0 -3683,2023-01-26 13:50:00,0.0,3.0 -3690,2023-01-26 15:00:00,69.70980392156862,3.0 -3691,2023-01-26 15:10:00,118.29019607843136,3.0 -3692,2023-01-26 15:20:00,175.67333333333332,3.0 -3693,2023-01-26 15:30:00,268.65681547619045,3.0 -3694,2023-01-26 15:40:00,104.96651785714286,3.0 -3695,2023-01-26 15:50:00,159.18711484593837,3.0 -3696,2023-01-26 16:00:00,115.99632606132926,3.0 -3697,2023-01-26 16:10:00,181.0346624136098,3.0 -3698,2023-01-26 16:20:00,257.77231359649124,3.0 -3699,2023-01-26 16:30:00,294.0571395985402,3.0 -3700,2023-01-26 16:40:00,212.00323055765773,3.0 -3701,2023-01-26 16:50:00,283.9738570102786,3.0 -3714,2023-01-26 19:00:00,0.0,3.0 -3715,2023-01-26 19:10:00,45.0,3.0 -3716,2023-01-26 19:20:00,0.0,3.0 -3717,2023-01-26 19:30:00,0.0,3.0 -3718,2023-01-26 19:40:00,0.0,3.0 -3719,2023-01-26 19:50:00,0.0,3.0 -3726,2023-01-26 21:00:00,0.0,3.0 -3727,2023-01-26 21:10:00,0.0,3.0 -3728,2023-01-26 21:20:00,0.0,3.0 -3729,2023-01-26 21:30:00,0.0,3.0 -3730,2023-01-26 21:40:00,0.0,3.0 -3731,2023-01-26 21:50:00,0.0,3.0 -3738,2023-01-26 23:00:00,0.0,3.0 -3739,2023-01-26 23:10:00,0.0,3.0 -3740,2023-01-26 23:20:00,0.0,3.0 -3741,2023-01-26 23:30:00,0.0,3.0 -3742,2023-01-26 23:40:00,21.0,3.0 -3743,2023-01-26 23:50:00,23.0,3.0 -3750,2023-01-27 01:00:00,0.0,3.0 -3751,2023-01-27 01:10:00,0.0,3.0 -3752,2023-01-27 01:20:00,0.0,3.0 -3753,2023-01-27 01:30:00,0.0,3.0 -3754,2023-01-27 01:40:00,0.0,3.0 -3755,2023-01-27 01:50:00,0.0,3.0 -3762,2023-01-27 03:00:00,0.0,3.0 -3763,2023-01-27 03:10:00,0.0,3.0 -3764,2023-01-27 03:20:00,0.0,3.0 -3765,2023-01-27 03:30:00,0.0,3.0 -3766,2023-01-27 03:40:00,0.0,3.0 -3767,2023-01-27 03:50:00,0.0,3.0 -3798,2023-01-27 09:00:00,107.9642058165548,3.0 -3799,2023-01-27 09:10:00,0.0,3.0 -3800,2023-01-27 09:20:00,0.0,3.0 -3801,2023-01-27 09:30:00,0.0,3.0 -3802,2023-01-27 09:40:00,0.0,3.0 -3803,2023-01-27 09:50:00,125.0,3.0 -3816,2023-01-27 12:00:00,0.0,3.0 -3817,2023-01-27 12:10:00,0.0,3.0 -3818,2023-01-27 12:20:00,0.0,3.0 -3819,2023-01-27 12:30:00,0.0,3.0 -3820,2023-01-27 12:40:00,0.0,3.0 -3821,2023-01-27 12:50:00,0.0,3.0 -3834,2023-01-27 15:00:00,56.81318681318681,3.0 -3835,2023-01-27 15:10:00,53.18681318681319,3.0 -3836,2023-01-27 15:20:00,0.0,3.0 -3837,2023-01-27 15:30:00,0.0,3.0 -3838,2023-01-27 15:40:00,21.537313432835823,3.0 -3839,2023-01-27 15:50:00,15.46268656716418,3.0 -3846,2023-01-27 17:00:00,4.888412017167382,3.0 -3847,2023-01-27 17:10:00,62.11158798283262,3.0 -3848,2023-01-27 17:20:00,0.0,3.0 -3849,2023-01-27 17:30:00,0.0,3.0 -3850,2023-01-27 17:40:00,0.0,3.0 -3851,2023-01-27 17:50:00,0.0,3.0 -3864,2023-01-27 20:00:00,0.0,3.0 -3865,2023-01-27 20:10:00,0.0,3.0 -3866,2023-01-27 20:20:00,0.0,3.0 -3867,2023-01-27 20:30:00,0.0,3.0 -3868,2023-01-27 20:40:00,0.0,3.0 -3869,2023-01-27 20:50:00,0.0,3.0 -3894,2023-01-28 01:00:00,0.0,3.0 -3895,2023-01-28 01:10:00,95.90252707581227,3.0 -3896,2023-01-28 01:20:00,12.466456881406977,3.0 -3897,2023-01-28 01:30:00,14.63101604278075,3.0 -3898,2023-01-28 01:40:00,14.0,3.0 -3899,2023-01-28 01:50:00,26.199494949494948,3.0 -3906,2023-01-28 03:00:00,0.0,3.0 -3907,2023-01-28 03:10:00,0.0,3.0 -3908,2023-01-28 03:20:00,0.0,3.0 -3909,2023-01-28 03:30:00,0.0,3.0 -3910,2023-01-28 03:40:00,0.0,3.0 -3911,2023-01-28 03:50:00,0.0,3.0 -3912,2023-01-28 04:00:00,0.0,3.0 -3913,2023-01-28 04:10:00,0.0,3.0 -3914,2023-01-28 04:20:00,0.0,3.0 -3915,2023-01-28 04:30:00,0.0,3.0 -3916,2023-01-28 04:40:00,0.0,3.0 -3917,2023-01-28 04:50:00,0.0,3.0 -3918,2023-01-28 05:00:00,0.0,3.0 -3919,2023-01-28 05:10:00,0.0,3.0 -3920,2023-01-28 05:20:00,0.0,3.0 -3921,2023-01-28 05:30:00,0.0,3.0 -3922,2023-01-28 05:40:00,0.0,3.0 -3923,2023-01-28 05:50:00,0.0,3.0 -3924,2023-01-28 06:00:00,0.0,1.0 -3925,2023-01-28 06:10:00,0.0,1.0 -3926,2023-01-28 06:20:00,0.0,1.0 -3927,2023-01-28 06:30:00,0.0,1.0 -3928,2023-01-28 06:40:00,0.0,1.0 -3929,2023-01-28 06:50:00,0.0,1.0 -3930,2023-01-28 07:00:00,0.0,1.0 -3931,2023-01-28 07:10:00,0.0,1.0 -3932,2023-01-28 07:20:00,0.0,1.0 -3933,2023-01-28 07:30:00,0.0,1.0 -3934,2023-01-28 07:40:00,0.0,1.0 -3935,2023-01-28 07:50:00,0.0,1.0 -3936,2023-01-28 08:00:00,0.0,3.0 -3937,2023-01-28 08:10:00,0.0,3.0 -3938,2023-01-28 08:20:00,0.0,3.0 -3939,2023-01-28 08:30:00,0.0,3.0 -3940,2023-01-28 08:40:00,0.0,3.0 -3941,2023-01-28 08:50:00,0.0,3.0 -3942,2023-01-28 09:00:00,0.0,3.0 -3943,2023-01-28 09:10:00,0.0,3.0 -3944,2023-01-28 09:20:00,0.0,3.0 -3945,2023-01-28 09:30:00,0.0,3.0 -3946,2023-01-28 09:40:00,0.0,3.0 -3947,2023-01-28 09:50:00,0.0,3.0 -3954,2023-01-28 11:00:00,7.3559322033898304,3.0 -3955,2023-01-28 11:10:00,41.64406779661017,3.0 -3956,2023-01-28 11:20:00,0.0,3.0 -3957,2023-01-28 11:30:00,0.0,3.0 -3958,2023-01-28 11:40:00,38.0,3.0 -3959,2023-01-28 11:50:00,0.0,3.0 -3960,2023-01-28 12:00:00,0.0,3.0 -3961,2023-01-28 12:10:00,0.0,3.0 -3962,2023-01-28 12:20:00,3.0,3.0 -3963,2023-01-28 12:30:00,0.0,3.0 -3964,2023-01-28 12:40:00,0.0,3.0 -3965,2023-01-28 12:50:00,0.0,3.0 -3966,2023-01-28 13:00:00,0.0,3.0 -3967,2023-01-28 13:10:00,9.0,3.0 -3968,2023-01-28 13:20:00,0.0,3.0 -3969,2023-01-28 13:30:00,13.312883435582824,3.0 -3970,2023-01-28 13:40:00,21.687116564417177,3.0 -3971,2023-01-28 13:50:00,0.0,3.0 -3984,2023-01-28 16:00:00,0.0,3.0 -3985,2023-01-28 16:10:00,0.0,3.0 -3986,2023-01-28 16:20:00,0.0,3.0 -3987,2023-01-28 16:30:00,0.0,3.0 -3988,2023-01-28 16:40:00,182.0,3.0 -3989,2023-01-28 16:50:00,0.0,3.0 -3990,2023-01-28 17:00:00,0.0,1.0 -3991,2023-01-28 17:10:00,42.87527352297593,1.0 -3992,2023-01-28 17:20:00,159.12472647702407,1.0 -3993,2023-01-28 17:30:00,16.0,1.0 -3994,2023-01-28 17:40:00,0.0,1.0 -3995,2023-01-28 17:50:00,2.0,1.0 -4008,2023-01-28 20:00:00,8.0,3.0 -4009,2023-01-28 20:10:00,18.0,3.0 -4010,2023-01-28 20:20:00,0.0,3.0 -4011,2023-01-28 20:30:00,0.0,3.0 -4012,2023-01-28 20:40:00,0.0,3.0 -4013,2023-01-28 20:50:00,0.0,3.0 -4014,2023-01-28 21:00:00,0.0,3.0 -4015,2023-01-28 21:10:00,0.0,3.0 -4016,2023-01-28 21:20:00,0.0,3.0 -4017,2023-01-28 21:30:00,0.0,3.0 -4018,2023-01-28 21:40:00,40.0,3.0 -4019,2023-01-28 21:50:00,0.0,3.0 -4032,2023-01-29 00:00:00,0.0,3.0 -4033,2023-01-29 00:10:00,0.0,3.0 -4034,2023-01-29 00:20:00,0.0,3.0 -4035,2023-01-29 00:30:00,0.0,3.0 -4036,2023-01-29 00:40:00,0.0,3.0 -4037,2023-01-29 00:50:00,0.0,3.0 -4038,2023-01-29 01:00:00,0.0,3.0 -4039,2023-01-29 01:10:00,0.0,3.0 -4040,2023-01-29 01:20:00,0.0,3.0 -4041,2023-01-29 01:30:00,0.0,3.0 -4042,2023-01-29 01:40:00,0.0,3.0 -4043,2023-01-29 01:50:00,0.0,3.0 -4050,2023-01-29 03:00:00,0.0,1.0 -4051,2023-01-29 03:10:00,0.0,1.0 -4052,2023-01-29 03:20:00,0.0,1.0 -4053,2023-01-29 03:30:00,0.0,1.0 -4054,2023-01-29 03:40:00,0.0,1.0 -4055,2023-01-29 03:50:00,0.0,1.0 -4056,2023-01-29 04:00:00,0.0,3.0 -4057,2023-01-29 04:10:00,0.0,3.0 -4058,2023-01-29 04:20:00,0.0,3.0 -4059,2023-01-29 04:30:00,0.0,3.0 -4060,2023-01-29 04:40:00,0.0,3.0 -4061,2023-01-29 04:50:00,0.0,3.0 -4062,2023-01-29 05:00:00,0.0,3.0 -4063,2023-01-29 05:10:00,0.0,3.0 -4064,2023-01-29 05:20:00,0.0,3.0 -4065,2023-01-29 05:30:00,0.0,3.0 -4066,2023-01-29 05:40:00,0.0,3.0 -4067,2023-01-29 05:50:00,0.0,3.0 -4068,2023-01-29 06:00:00,0.0,3.0 -4069,2023-01-29 06:10:00,0.0,3.0 -4070,2023-01-29 06:20:00,0.0,3.0 -4071,2023-01-29 06:30:00,0.0,3.0 -4072,2023-01-29 06:40:00,0.0,3.0 -4073,2023-01-29 06:50:00,0.0,3.0 -4074,2023-01-29 07:00:00,0.0,3.0 -4075,2023-01-29 07:10:00,0.0,3.0 -4076,2023-01-29 07:20:00,0.0,3.0 -4077,2023-01-29 07:30:00,0.0,3.0 -4078,2023-01-29 07:40:00,0.0,3.0 -4079,2023-01-29 07:50:00,0.0,3.0 -4092,2023-01-29 10:00:00,0.0,3.0 -4093,2023-01-29 10:10:00,0.0,3.0 -4094,2023-01-29 10:20:00,0.0,3.0 -4095,2023-01-29 10:30:00,0.0,3.0 -4096,2023-01-29 10:40:00,0.0,3.0 -4097,2023-01-29 10:50:00,0.0,3.0 -4098,2023-01-29 11:00:00,0.0,3.0 -4099,2023-01-29 11:10:00,16.0,3.0 -4100,2023-01-29 11:20:00,0.0,3.0 -4101,2023-01-29 11:30:00,0.0,3.0 -4102,2023-01-29 11:40:00,0.0,3.0 -4103,2023-01-29 11:50:00,17.39398998330551,3.0 -4116,2023-01-29 14:00:00,35.46503215853061,3.0 -4117,2023-01-29 14:10:00,207.616021282885,3.0 -4118,2023-01-29 14:20:00,122.2491055218764,3.0 -4119,2023-01-29 14:30:00,124.03697478991596,3.0 -4120,2023-01-29 14:40:00,117.55050505050504,3.0 -4121,2023-01-29 14:50:00,240.37145502209023,3.0 -4134,2023-01-29 17:00:00,0.0,3.0 -4135,2023-01-29 17:10:00,0.0,3.0 -4136,2023-01-29 17:20:00,0.0,3.0 -4137,2023-01-29 17:30:00,9.252676659528907,3.0 -4138,2023-01-29 17:40:00,19.74732334047109,3.0 -4139,2023-01-29 17:50:00,0.0,3.0 -4146,2023-01-29 19:00:00,7.297297297297297,3.0 -4147,2023-01-29 19:10:00,46.7027027027027,3.0 -4148,2023-01-29 19:20:00,0.0,3.0 -4149,2023-01-29 19:30:00,0.0,3.0 -4150,2023-01-29 19:40:00,33.0,3.0 -4151,2023-01-29 19:50:00,0.0,3.0 -4152,2023-01-29 20:00:00,65.28366247755835,3.0 -4153,2023-01-29 20:10:00,3.716337522441652,3.0 -4154,2023-01-29 20:20:00,106.48986486486486,3.0 -4155,2023-01-29 20:30:00,51.51013513513514,3.0 -4156,2023-01-29 20:40:00,0.0,3.0 -4157,2023-01-29 20:50:00,0.0,3.0 -4176,2023-01-30 00:00:00,0.0,3.0 -4177,2023-01-30 00:10:00,0.0,3.0 -4178,2023-01-30 00:20:00,0.0,3.0 -4179,2023-01-30 00:30:00,0.0,3.0 -4180,2023-01-30 00:40:00,0.0,3.0 -4181,2023-01-30 00:50:00,0.0,3.0 -4182,2023-01-30 01:00:00,0.0,4.0 -4183,2023-01-30 01:10:00,0.0,4.0 -4184,2023-01-30 01:20:00,0.0,4.0 -4185,2023-01-30 01:30:00,0.0,4.0 -4186,2023-01-30 01:40:00,0.0,4.0 -4187,2023-01-30 01:50:00,0.0,4.0 -4194,2023-01-30 03:00:00,0.0,4.0 -4195,2023-01-30 03:10:00,0.0,4.0 -4196,2023-01-30 03:20:00,0.0,4.0 -4197,2023-01-30 03:30:00,0.0,4.0 -4198,2023-01-30 03:40:00,0.0,4.0 -4199,2023-01-30 03:50:00,0.0,4.0 -4200,2023-01-30 04:00:00,0.0,3.0 -4201,2023-01-30 04:10:00,0.0,3.0 -4202,2023-01-30 04:20:00,0.0,3.0 -4203,2023-01-30 04:30:00,0.0,3.0 -4204,2023-01-30 04:40:00,0.0,3.0 -4205,2023-01-30 04:50:00,0.0,3.0 -4224,2023-01-30 08:00:00,0.0,3.0 -4225,2023-01-30 08:10:00,0.0,3.0 -4226,2023-01-30 08:20:00,0.0,3.0 -4227,2023-01-30 08:30:00,0.0,3.0 -4228,2023-01-30 08:40:00,0.0,3.0 -4229,2023-01-30 08:50:00,0.0,3.0 -4230,2023-01-30 09:00:00,0.0,3.0 -4231,2023-01-30 09:10:00,0.0,3.0 -4232,2023-01-30 09:20:00,0.0,3.0 -4233,2023-01-30 09:30:00,0.0,3.0 -4234,2023-01-30 09:40:00,0.0,3.0 -4235,2023-01-30 09:50:00,0.0,3.0 -4236,2023-01-30 10:00:00,10.450980392156865,3.0 -4237,2023-01-30 10:10:00,30.54901960784314,3.0 -4238,2023-01-30 10:20:00,0.0,3.0 -4239,2023-01-30 10:30:00,0.0,3.0 -4240,2023-01-30 10:40:00,0.0,3.0 -4241,2023-01-30 10:50:00,0.0,3.0 -4248,2023-01-30 12:00:00,23.621559633027523,3.0 -4249,2023-01-30 12:10:00,0.0,3.0 -4250,2023-01-30 12:20:00,0.0,3.0 -4251,2023-01-30 12:30:00,0.0,3.0 -4252,2023-01-30 12:40:00,24.45762711864407,3.0 -4253,2023-01-30 12:50:00,345.5423728813559,3.0 -4254,2023-01-30 13:00:00,74.0,3.0 -4255,2023-01-30 13:10:00,0.0,3.0 -4256,2023-01-30 13:20:00,0.0,3.0 -4257,2023-01-30 13:30:00,0.0,3.0 -4258,2023-01-30 13:40:00,0.0,3.0 -4259,2023-01-30 13:50:00,0.0,3.0 -4260,2023-01-30 14:00:00,0.0,3.0 -4261,2023-01-30 14:10:00,0.0,3.0 -4262,2023-01-30 14:20:00,19.8,3.0 -4263,2023-01-30 14:30:00,5.2,3.0 -4264,2023-01-30 14:40:00,0.0,3.0 -4265,2023-01-30 14:50:00,0.0,3.0 -4272,2023-01-30 16:00:00,61.65116279069768,3.0 -4273,2023-01-30 16:10:00,48.97614991482113,3.0 -4274,2023-01-30 16:20:00,62.02385008517888,3.0 -4275,2023-01-30 16:30:00,14.846666666666666,3.0 -4276,2023-01-30 16:40:00,529.45139329806,3.0 -4277,2023-01-30 16:50:00,656.7019400352734,3.0 -4278,2023-01-30 17:00:00,0.0,3.0 -4279,2023-01-30 17:10:00,0.0,3.0 -4280,2023-01-30 17:20:00,0.0,3.0 -4281,2023-01-30 17:30:00,0.0,3.0 -4282,2023-01-30 17:40:00,0.0,3.0 -4283,2023-01-30 17:50:00,0.0,3.0 -4296,2023-01-30 20:00:00,164.1818181818182,3.0 -4297,2023-01-30 20:10:00,101.41818181818182,3.0 -4298,2023-01-30 20:20:00,125.4,3.0 -4299,2023-01-30 20:30:00,25.0,3.0 -4300,2023-01-30 20:40:00,17.0,3.0 -4301,2023-01-30 20:50:00,11.600760456273765,3.0 -4308,2023-01-30 22:00:00,0.0,3.0 -4309,2023-01-30 22:10:00,0.0,3.0 -4310,2023-01-30 22:20:00,0.0,3.0 -4311,2023-01-30 22:30:00,0.0,3.0 -4312,2023-01-30 22:40:00,0.0,3.0 -4313,2023-01-30 22:50:00,0.0,3.0 -4314,2023-01-30 23:00:00,0.0,3.0 -4315,2023-01-30 23:10:00,12.0,3.0 -4316,2023-01-30 23:20:00,0.0,3.0 -4317,2023-01-30 23:30:00,0.0,3.0 -4318,2023-01-30 23:40:00,0.0,3.0 -4319,2023-01-30 23:50:00,0.0,3.0 -4326,2023-01-31 01:00:00,0.0,3.0 -4327,2023-01-31 01:10:00,0.0,3.0 -4328,2023-01-31 01:20:00,0.0,3.0 -4329,2023-01-31 01:30:00,0.0,3.0 -4330,2023-01-31 01:40:00,0.0,3.0 -4331,2023-01-31 01:50:00,0.0,3.0 -4338,2023-01-31 03:00:00,0.0,3.0 -4339,2023-01-31 03:10:00,0.0,3.0 -4340,2023-01-31 03:20:00,0.0,3.0 -4341,2023-01-31 03:30:00,0.0,3.0 -4342,2023-01-31 03:40:00,0.0,3.0 -4343,2023-01-31 03:50:00,0.0,3.0 -4344,2023-01-31 04:00:00,0.0,3.0 -4345,2023-01-31 04:10:00,0.0,3.0 -4346,2023-01-31 04:20:00,0.0,3.0 -4347,2023-01-31 04:30:00,0.0,3.0 -4348,2023-01-31 04:40:00,0.0,3.0 -4349,2023-01-31 04:50:00,0.0,3.0 -4350,2023-01-31 05:00:00,0.0,4.0 -4351,2023-01-31 05:10:00,0.0,4.0 -4352,2023-01-31 05:20:00,0.0,4.0 -4353,2023-01-31 05:30:00,0.0,4.0 -4354,2023-01-31 05:40:00,0.0,4.0 -4355,2023-01-31 05:50:00,0.0,4.0 -4356,2023-01-31 06:00:00,0.0,3.0 -4357,2023-01-31 06:10:00,0.0,3.0 -4358,2023-01-31 06:20:00,0.0,3.0 -4359,2023-01-31 06:30:00,0.0,3.0 -4360,2023-01-31 06:40:00,0.0,3.0 -4361,2023-01-31 06:50:00,0.0,3.0 -4368,2023-01-31 08:00:00,0.0,3.0 -4369,2023-01-31 08:10:00,0.0,3.0 -4370,2023-01-31 08:20:00,0.0,3.0 -4371,2023-01-31 08:30:00,0.0,3.0 -4372,2023-01-31 08:40:00,0.0,3.0 -4373,2023-01-31 08:50:00,0.0,3.0 -4374,2023-01-31 09:00:00,0.0,4.0 -4375,2023-01-31 09:10:00,0.0,4.0 -4376,2023-01-31 09:20:00,0.0,4.0 -4377,2023-01-31 09:30:00,0.0,4.0 -4378,2023-01-31 09:40:00,0.0,4.0 -4379,2023-01-31 09:50:00,47.33416458852868,4.0 -4386,2023-01-31 11:00:00,97.16666666666669,3.0 -4387,2023-01-31 11:10:00,0.0,3.0 -4388,2023-01-31 11:20:00,0.0,3.0 -4389,2023-01-31 11:30:00,0.0,3.0 -4390,2023-01-31 11:40:00,0.0,3.0 -4391,2023-01-31 11:50:00,79.6964586846543,3.0 -4392,2023-01-31 12:00:00,340.3235413153457,3.0 -4393,2023-01-31 12:10:00,485.5,3.0 -4394,2023-01-31 12:20:00,368.4597160243408,3.0 -4395,2023-01-31 12:30:00,192.02028397565925,3.0 -4396,2023-01-31 12:40:00,0.0,3.0 -4397,2023-01-31 12:50:00,0.0,3.0 -4416,2023-01-31 16:00:00,0.0,3.0 -4417,2023-01-31 16:10:00,0.0,3.0 -4418,2023-01-31 16:20:00,0.0,3.0 -4419,2023-01-31 16:30:00,88.0,3.0 -4420,2023-01-31 16:40:00,404.6968174204355,3.0 -4421,2023-01-31 16:50:00,559.2388394160256,3.0 -4422,2023-01-31 17:00:00,17.064343163538876,3.0 -4423,2023-01-31 17:10:00,0.0,3.0 -4424,2023-01-31 17:20:00,0.0,3.0 -4425,2023-01-31 17:30:00,109.7286432160804,3.0 -4426,2023-01-31 17:40:00,96.2713567839196,3.0 -4427,2023-01-31 17:50:00,53.0,3.0 -4428,2023-01-31 18:00:00,0.0,3.0 -4429,2023-01-31 18:10:00,40.0,3.0 -4430,2023-01-31 18:20:00,37.24849373066276,3.0 -4431,2023-01-31 18:30:00,78.96972415659133,3.0 -4432,2023-01-31 18:40:00,76.21077338251857,3.0 -4433,2023-01-31 18:50:00,170.34481845909065,3.0 -4440,2023-01-31 20:00:00,256.8904109589041,3.0 -4441,2023-01-31 20:10:00,189.1095890410959,3.0 -4442,2023-01-31 20:20:00,0.0,3.0 -4443,2023-01-31 20:30:00,16.0,3.0 -4444,2023-01-31 20:40:00,31.330303030303032,3.0 -4445,2023-01-31 20:50:00,180.37577805077805,3.0 -4458,2023-01-31 23:00:00,23.80813953488372,3.0 -4459,2023-01-31 23:10:00,41.19186046511628,3.0 -4460,2023-01-31 23:20:00,0.0,3.0 -4461,2023-01-31 23:30:00,0.0,3.0 -4462,2023-01-31 23:40:00,0.0,3.0 -4463,2023-01-31 23:50:00,0.0,3.0 -4464,2023-02-01 00:00:00,0.0,3.0 -4465,2023-02-01 00:10:00,0.0,3.0 -4466,2023-02-01 00:20:00,0.0,3.0 -4467,2023-02-01 00:30:00,0.0,3.0 -4468,2023-02-01 00:40:00,0.0,3.0 -4469,2023-02-01 00:50:00,0.0,3.0 -4476,2023-02-01 02:00:00,0.0,3.0 -4477,2023-02-01 02:10:00,0.0,3.0 -4478,2023-02-01 02:20:00,0.0,3.0 -4479,2023-02-01 02:30:00,0.0,3.0 -4480,2023-02-01 02:40:00,0.0,3.0 -4481,2023-02-01 02:50:00,0.0,3.0 -4488,2023-02-01 04:00:00,0.0,3.0 -4489,2023-02-01 04:10:00,0.0,3.0 -4490,2023-02-01 04:20:00,0.0,3.0 -4491,2023-02-01 04:30:00,0.0,3.0 -4492,2023-02-01 04:40:00,0.0,3.0 -4493,2023-02-01 04:50:00,0.0,3.0 -4500,2023-02-01 06:00:00,0.0,3.0 -4501,2023-02-01 06:10:00,0.0,3.0 -4502,2023-02-01 06:20:00,0.0,3.0 -4503,2023-02-01 06:30:00,0.0,3.0 -4504,2023-02-01 06:40:00,0.0,3.0 -4505,2023-02-01 06:50:00,0.0,3.0 -4506,2023-02-01 07:00:00,0.0,3.0 -4507,2023-02-01 07:10:00,0.0,3.0 -4508,2023-02-01 07:20:00,0.0,3.0 -4509,2023-02-01 07:30:00,0.0,3.0 -4510,2023-02-01 07:40:00,0.0,3.0 -4511,2023-02-01 07:50:00,0.0,3.0 -4518,2023-02-01 09:00:00,0.0,4.0 -4519,2023-02-01 09:10:00,0.0,4.0 -4520,2023-02-01 09:20:00,0.0,4.0 -4521,2023-02-01 09:30:00,0.0,4.0 -4522,2023-02-01 09:40:00,0.0,4.0 -4523,2023-02-01 09:50:00,0.0,4.0 -4530,2023-02-01 11:00:00,0.0,4.0 -4531,2023-02-01 11:10:00,0.0,4.0 -4532,2023-02-01 11:20:00,0.0,4.0 -4533,2023-02-01 11:30:00,0.0,4.0 -4534,2023-02-01 11:40:00,0.0,4.0 -4535,2023-02-01 11:50:00,0.0,4.0 -4536,2023-02-01 12:00:00,0.0,3.0 -4537,2023-02-01 12:10:00,0.0,3.0 -4538,2023-02-01 12:20:00,0.0,3.0 -4539,2023-02-01 12:30:00,0.0,3.0 -4540,2023-02-01 12:40:00,0.0,3.0 -4541,2023-02-01 12:50:00,0.0,3.0 -4542,2023-02-01 13:00:00,0.0,3.0 -4543,2023-02-01 13:10:00,0.0,3.0 -4544,2023-02-01 13:20:00,0.0,3.0 -4545,2023-02-01 13:30:00,0.0,3.0 -4546,2023-02-01 13:40:00,0.0,3.0 -4547,2023-02-01 13:50:00,0.0,3.0 -4560,2023-02-01 16:00:00,0.0,3.0 -4561,2023-02-01 16:10:00,0.0,3.0 -4562,2023-02-01 16:20:00,0.0,3.0 -4563,2023-02-01 16:30:00,0.0,3.0 -4564,2023-02-01 16:40:00,0.0,3.0 -4565,2023-02-01 16:50:00,0.0,3.0 -4566,2023-02-01 17:00:00,0.0,3.0 -4567,2023-02-01 17:10:00,0.0,3.0 -4568,2023-02-01 17:20:00,0.0,3.0 -4569,2023-02-01 17:30:00,0.0,3.0 -4570,2023-02-01 17:40:00,0.0,3.0 -4571,2023-02-01 17:50:00,0.0,3.0 -4590,2023-02-01 21:00:00,0.0,3.0 -4591,2023-02-01 21:10:00,0.0,3.0 -4592,2023-02-01 21:20:00,0.0,3.0 -4593,2023-02-01 21:30:00,0.0,3.0 -4594,2023-02-01 21:40:00,0.0,3.0 -4595,2023-02-01 21:50:00,0.0,3.0 -4596,2023-02-01 22:00:00,0.0,3.0 -4597,2023-02-01 22:10:00,0.0,3.0 -4598,2023-02-01 22:20:00,0.0,3.0 -4599,2023-02-01 22:30:00,0.0,3.0 -4600,2023-02-01 22:40:00,0.0,3.0 -4601,2023-02-01 22:50:00,0.0,3.0 -4602,2023-02-01 23:00:00,0.0,3.0 -4603,2023-02-01 23:10:00,0.0,3.0 -4604,2023-02-01 23:20:00,0.0,3.0 -4605,2023-02-01 23:30:00,0.0,3.0 -4606,2023-02-01 23:40:00,0.0,3.0 -4607,2023-02-01 23:50:00,0.0,3.0 -4614,2023-02-02 01:00:00,0.0,3.0 -4615,2023-02-02 01:10:00,0.0,3.0 -4616,2023-02-02 01:20:00,0.0,3.0 -4617,2023-02-02 01:30:00,0.0,3.0 -4618,2023-02-02 01:40:00,0.0,3.0 -4619,2023-02-02 01:50:00,0.0,3.0 -4638,2023-02-02 05:00:00,0.0,3.0 -4639,2023-02-02 05:10:00,0.0,3.0 -4640,2023-02-02 05:20:00,0.0,3.0 -4641,2023-02-02 05:30:00,0.0,3.0 -4642,2023-02-02 05:40:00,0.0,3.0 -4643,2023-02-02 05:50:00,0.0,3.0 -4650,2023-02-02 07:00:00,0.0,4.0 -4651,2023-02-02 07:10:00,0.0,4.0 -4652,2023-02-02 07:20:00,0.0,4.0 -4653,2023-02-02 07:30:00,0.0,4.0 -4654,2023-02-02 07:40:00,0.0,4.0 -4655,2023-02-02 07:50:00,0.0,4.0 -4662,2023-02-02 09:00:00,0.0,4.0 -4663,2023-02-02 09:10:00,0.0,4.0 -4664,2023-02-02 09:20:00,0.0,4.0 -4665,2023-02-02 09:30:00,0.0,4.0 -4666,2023-02-02 09:40:00,0.0,4.0 -4667,2023-02-02 09:50:00,0.0,4.0 -4668,2023-02-02 10:00:00,0.0,3.0 -4669,2023-02-02 10:10:00,0.0,3.0 -4670,2023-02-02 10:20:00,0.0,3.0 -4671,2023-02-02 10:30:00,0.0,3.0 -4672,2023-02-02 10:40:00,0.0,3.0 -4673,2023-02-02 10:50:00,0.0,3.0 -4680,2023-02-02 12:00:00,0.0,4.0 -4681,2023-02-02 12:10:00,0.0,4.0 -4682,2023-02-02 12:20:00,0.0,4.0 -4683,2023-02-02 12:30:00,0.0,4.0 -4684,2023-02-02 12:40:00,0.0,4.0 -4685,2023-02-02 12:50:00,0.0,4.0 -4692,2023-02-02 14:00:00,0.0,4.0 -4693,2023-02-02 14:10:00,0.0,4.0 -4694,2023-02-02 14:20:00,0.0,4.0 -4695,2023-02-02 14:30:00,0.0,4.0 -4696,2023-02-02 14:40:00,0.0,4.0 -4697,2023-02-02 14:50:00,0.0,4.0 -4698,2023-02-02 15:00:00,0.0,3.0 -4699,2023-02-02 15:10:00,0.0,3.0 -4700,2023-02-02 15:20:00,0.0,3.0 -4701,2023-02-02 15:30:00,0.0,3.0 -4702,2023-02-02 15:40:00,0.0,3.0 -4703,2023-02-02 15:50:00,0.0,3.0 -4710,2023-02-02 17:00:00,0.0,3.0 -4711,2023-02-02 17:10:00,0.0,3.0 -4712,2023-02-02 17:20:00,0.0,3.0 -4713,2023-02-02 17:30:00,0.0,3.0 -4714,2023-02-02 17:40:00,0.0,3.0 -4715,2023-02-02 17:50:00,0.0,3.0 -4716,2023-02-02 18:00:00,0.0,3.0 -4717,2023-02-02 18:10:00,0.0,3.0 -4718,2023-02-02 18:20:00,0.0,3.0 -4719,2023-02-02 18:30:00,0.0,3.0 -4720,2023-02-02 18:40:00,0.0,3.0 -4721,2023-02-02 18:50:00,0.0,3.0 -4728,2023-02-02 20:00:00,0.0,3.0 -4729,2023-02-02 20:10:00,0.0,3.0 -4730,2023-02-02 20:20:00,0.0,3.0 -4731,2023-02-02 20:30:00,0.0,3.0 -4732,2023-02-02 20:40:00,0.0,3.0 -4733,2023-02-02 20:50:00,0.0,3.0 -4734,2023-02-02 21:00:00,0.0,3.0 -4735,2023-02-02 21:10:00,0.0,3.0 -4736,2023-02-02 21:20:00,0.0,3.0 -4737,2023-02-02 21:30:00,0.0,3.0 -4738,2023-02-02 21:40:00,0.0,3.0 -4739,2023-02-02 21:50:00,0.0,3.0 -4740,2023-02-02 22:00:00,0.0,3.0 -4741,2023-02-02 22:10:00,0.0,3.0 -4742,2023-02-02 22:20:00,0.0,3.0 -4743,2023-02-02 22:30:00,0.0,3.0 -4744,2023-02-02 22:40:00,0.0,3.0 -4745,2023-02-02 22:50:00,0.0,3.0 -4746,2023-02-02 23:00:00,0.0,3.0 -4747,2023-02-02 23:10:00,0.0,3.0 -4748,2023-02-02 23:20:00,0.0,3.0 -4749,2023-02-02 23:30:00,0.0,3.0 -4750,2023-02-02 23:40:00,0.0,3.0 -4751,2023-02-02 23:50:00,0.0,3.0 -4752,2023-02-03 00:00:00,0.0,3.0 -4753,2023-02-03 00:10:00,0.0,3.0 -4754,2023-02-03 00:20:00,0.0,3.0 -4755,2023-02-03 00:30:00,0.0,3.0 -4756,2023-02-03 00:40:00,0.0,3.0 -4757,2023-02-03 00:50:00,0.0,3.0 -4758,2023-02-03 01:00:00,0.0,3.0 -4759,2023-02-03 01:10:00,0.0,3.0 -4760,2023-02-03 01:20:00,0.0,3.0 -4761,2023-02-03 01:30:00,0.0,3.0 -4762,2023-02-03 01:40:00,0.0,3.0 -4763,2023-02-03 01:50:00,0.0,3.0 -4764,2023-02-03 02:00:00,0.0,3.0 -4765,2023-02-03 02:10:00,0.0,3.0 -4766,2023-02-03 02:20:00,0.0,3.0 -4767,2023-02-03 02:30:00,0.0,3.0 -4768,2023-02-03 02:40:00,0.0,3.0 -4769,2023-02-03 02:50:00,0.0,3.0 -4770,2023-02-03 03:00:00,0.0,3.0 -4771,2023-02-03 03:10:00,0.0,3.0 -4772,2023-02-03 03:20:00,0.0,3.0 -4773,2023-02-03 03:30:00,0.0,3.0 -4774,2023-02-03 03:40:00,0.0,3.0 -4775,2023-02-03 03:50:00,0.0,3.0 -4782,2023-02-03 05:00:00,0.0,3.0 -4783,2023-02-03 05:10:00,0.0,3.0 -4784,2023-02-03 05:20:00,0.0,3.0 -4785,2023-02-03 05:30:00,0.0,3.0 -4786,2023-02-03 05:40:00,0.0,3.0 -4787,2023-02-03 05:50:00,0.0,3.0 -4794,2023-02-03 07:00:00,0.0,3.0 -4795,2023-02-03 07:10:00,0.0,3.0 -4796,2023-02-03 07:20:00,0.0,3.0 -4797,2023-02-03 07:30:00,0.0,3.0 -4798,2023-02-03 07:40:00,0.0,3.0 -4799,2023-02-03 07:50:00,0.0,3.0 -4800,2023-02-03 08:00:00,0.0,3.0 -4801,2023-02-03 08:10:00,0.0,3.0 -4802,2023-02-03 08:20:00,0.0,3.0 -4803,2023-02-03 08:30:00,0.0,3.0 -4804,2023-02-03 08:40:00,0.0,3.0 -4805,2023-02-03 08:50:00,0.0,3.0 -4806,2023-02-03 09:00:00,0.0,3.0 -4807,2023-02-03 09:10:00,0.0,3.0 -4808,2023-02-03 09:20:00,0.0,3.0 -4809,2023-02-03 09:30:00,0.0,3.0 -4810,2023-02-03 09:40:00,0.0,3.0 -4811,2023-02-03 09:50:00,0.0,3.0 -4812,2023-02-03 10:00:00,0.0,3.0 -4813,2023-02-03 10:10:00,0.0,3.0 -4814,2023-02-03 10:20:00,0.0,3.0 -4815,2023-02-03 10:30:00,0.0,3.0 -4816,2023-02-03 10:40:00,0.0,3.0 -4817,2023-02-03 10:50:00,0.0,3.0 -4818,2023-02-03 11:00:00,0.0,5.0 -4819,2023-02-03 11:10:00,0.0,5.0 -4820,2023-02-03 11:20:00,0.0,5.0 -4821,2023-02-03 11:30:00,0.0,5.0 -4822,2023-02-03 11:40:00,0.0,5.0 -4823,2023-02-03 11:50:00,0.0,5.0 -4848,2023-02-03 16:00:00,0.0,3.0 -4849,2023-02-03 16:10:00,0.0,3.0 -4850,2023-02-03 16:20:00,0.0,3.0 -4851,2023-02-03 16:30:00,0.0,3.0 -4852,2023-02-03 16:40:00,0.0,3.0 -4853,2023-02-03 16:50:00,0.0,3.0 -4854,2023-02-03 17:00:00,0.0,3.0 -4855,2023-02-03 17:10:00,0.0,3.0 -4856,2023-02-03 17:20:00,0.0,3.0 -4857,2023-02-03 17:30:00,0.0,3.0 -4858,2023-02-03 17:40:00,0.0,3.0 -4859,2023-02-03 17:50:00,0.0,3.0 -4860,2023-02-03 18:00:00,0.0,3.0 -4861,2023-02-03 18:10:00,0.0,3.0 -4862,2023-02-03 18:20:00,0.0,3.0 -4863,2023-02-03 18:30:00,0.0,3.0 -4864,2023-02-03 18:40:00,0.0,3.0 -4865,2023-02-03 18:50:00,0.0,3.0 -4866,2023-02-03 19:00:00,0.0,4.0 -4867,2023-02-03 19:10:00,0.0,4.0 -4868,2023-02-03 19:20:00,0.0,4.0 -4869,2023-02-03 19:30:00,0.0,4.0 -4870,2023-02-03 19:40:00,0.0,4.0 -4871,2023-02-03 19:50:00,0.0,4.0 -4878,2023-02-03 21:00:00,0.0,4.0 -4879,2023-02-03 21:10:00,0.0,4.0 -4880,2023-02-03 21:20:00,0.0,4.0 -4881,2023-02-03 21:30:00,0.0,4.0 -4882,2023-02-03 21:40:00,0.0,4.0 -4883,2023-02-03 21:50:00,0.0,4.0 -4884,2023-02-03 22:00:00,0.0,3.0 -4885,2023-02-03 22:10:00,0.0,3.0 -4886,2023-02-03 22:20:00,0.0,3.0 -4887,2023-02-03 22:30:00,0.0,3.0 -4888,2023-02-03 22:40:00,0.0,3.0 -4889,2023-02-03 22:50:00,0.0,3.0 -4896,2023-02-04 00:00:00,0.0,3.0 -4897,2023-02-04 00:10:00,0.0,3.0 -4898,2023-02-04 00:20:00,0.0,3.0 -4899,2023-02-04 00:30:00,0.0,3.0 -4900,2023-02-04 00:40:00,0.0,3.0 -4901,2023-02-04 00:50:00,0.0,3.0 -4914,2023-02-04 03:00:00,0.0,3.0 -4915,2023-02-04 03:10:00,0.0,3.0 -4916,2023-02-04 03:20:00,0.0,3.0 -4917,2023-02-04 03:30:00,0.0,3.0 -4918,2023-02-04 03:40:00,0.0,3.0 -4919,2023-02-04 03:50:00,0.0,3.0 -4920,2023-02-04 04:00:00,0.0,3.0 -4921,2023-02-04 04:10:00,0.0,3.0 -4922,2023-02-04 04:20:00,0.0,3.0 -4923,2023-02-04 04:30:00,0.0,3.0 -4924,2023-02-04 04:40:00,0.0,3.0 -4925,2023-02-04 04:50:00,0.0,3.0 -4944,2023-02-04 08:00:00,0.0,4.0 -4945,2023-02-04 08:10:00,0.0,4.0 -4946,2023-02-04 08:20:00,0.0,4.0 -4947,2023-02-04 08:30:00,0.0,4.0 -4948,2023-02-04 08:40:00,0.0,4.0 -4949,2023-02-04 08:50:00,0.0,4.0 -4950,2023-02-04 09:00:00,0.0,3.0 -4951,2023-02-04 09:10:00,0.0,3.0 -4952,2023-02-04 09:20:00,0.0,3.0 -4953,2023-02-04 09:30:00,0.0,3.0 -4954,2023-02-04 09:40:00,0.0,3.0 -4955,2023-02-04 09:50:00,0.0,3.0 -4956,2023-02-04 10:00:00,0.0,3.0 -4957,2023-02-04 10:10:00,0.0,3.0 -4958,2023-02-04 10:20:00,0.0,3.0 -4959,2023-02-04 10:30:00,0.0,3.0 -4960,2023-02-04 10:40:00,0.0,3.0 -4961,2023-02-04 10:50:00,0.0,3.0 -4968,2023-02-04 12:00:00,0.0,3.0 -4969,2023-02-04 12:10:00,0.0,3.0 -4970,2023-02-04 12:20:00,0.0,3.0 -4971,2023-02-04 12:30:00,0.0,3.0 -4972,2023-02-04 12:40:00,0.0,3.0 -4973,2023-02-04 12:50:00,0.0,3.0 -4974,2023-02-04 13:00:00,0.0,4.0 -4975,2023-02-04 13:10:00,0.0,4.0 -4976,2023-02-04 13:20:00,0.0,4.0 -4977,2023-02-04 13:30:00,0.0,4.0 -4978,2023-02-04 13:40:00,0.0,4.0 -4979,2023-02-04 13:50:00,0.0,4.0 -4986,2023-02-04 15:00:00,0.0,3.0 -4987,2023-02-04 15:10:00,0.0,3.0 -4988,2023-02-04 15:20:00,0.0,3.0 -4989,2023-02-04 15:30:00,0.0,3.0 -4990,2023-02-04 15:40:00,0.0,3.0 -4991,2023-02-04 15:50:00,0.0,3.0 -5010,2023-02-04 19:00:00,0.0,3.0 -5011,2023-02-04 19:10:00,0.0,3.0 -5012,2023-02-04 19:20:00,0.0,3.0 -5013,2023-02-04 19:30:00,0.0,3.0 -5014,2023-02-04 19:40:00,0.0,3.0 -5015,2023-02-04 19:50:00,0.0,3.0 -5016,2023-02-04 20:00:00,0.0,4.0 -5017,2023-02-04 20:10:00,0.0,4.0 -5018,2023-02-04 20:20:00,0.0,4.0 -5019,2023-02-04 20:30:00,0.0,4.0 -5020,2023-02-04 20:40:00,0.0,4.0 -5021,2023-02-04 20:50:00,0.0,4.0 -5022,2023-02-04 21:00:00,0.0,3.0 -5023,2023-02-04 21:10:00,0.0,3.0 -5024,2023-02-04 21:20:00,0.0,3.0 -5025,2023-02-04 21:30:00,0.0,3.0 -5026,2023-02-04 21:40:00,0.0,3.0 -5027,2023-02-04 21:50:00,0.0,3.0 -5028,2023-02-04 22:00:00,0.0,3.0 -5029,2023-02-04 22:10:00,0.0,3.0 -5030,2023-02-04 22:20:00,0.0,3.0 -5031,2023-02-04 22:30:00,0.0,3.0 -5032,2023-02-04 22:40:00,0.0,3.0 -5033,2023-02-04 22:50:00,0.0,3.0 -5034,2023-02-04 23:00:00,0.0,4.0 -5035,2023-02-04 23:10:00,0.0,4.0 -5036,2023-02-04 23:20:00,0.0,4.0 -5037,2023-02-04 23:30:00,0.0,4.0 -5038,2023-02-04 23:40:00,0.0,4.0 -5039,2023-02-04 23:50:00,0.0,4.0 -5040,2023-02-05 00:00:00,0.0,3.0 -5041,2023-02-05 00:10:00,0.0,3.0 -5042,2023-02-05 00:20:00,0.0,3.0 -5043,2023-02-05 00:30:00,0.0,3.0 -5044,2023-02-05 00:40:00,0.0,3.0 -5045,2023-02-05 00:50:00,0.0,3.0 -5046,2023-02-05 01:00:00,0.0,3.0 -5047,2023-02-05 01:10:00,0.0,3.0 -5048,2023-02-05 01:20:00,0.0,3.0 -5049,2023-02-05 01:30:00,0.0,3.0 -5050,2023-02-05 01:40:00,0.0,3.0 -5051,2023-02-05 01:50:00,0.0,3.0 -5052,2023-02-05 02:00:00,0.0,4.0 -5053,2023-02-05 02:10:00,0.0,4.0 -5054,2023-02-05 02:20:00,0.0,4.0 -5055,2023-02-05 02:30:00,0.0,4.0 -5056,2023-02-05 02:40:00,0.0,4.0 -5057,2023-02-05 02:50:00,0.0,4.0 -5076,2023-02-05 06:00:00,0.0,4.0 -5077,2023-02-05 06:10:00,0.0,4.0 -5078,2023-02-05 06:20:00,0.0,4.0 -5079,2023-02-05 06:30:00,0.0,4.0 -5080,2023-02-05 06:40:00,0.0,4.0 -5081,2023-02-05 06:50:00,0.0,4.0 -5082,2023-02-05 07:00:00,0.0,4.0 -5083,2023-02-05 07:10:00,0.0,4.0 -5084,2023-02-05 07:20:00,0.0,4.0 -5085,2023-02-05 07:30:00,0.0,4.0 -5086,2023-02-05 07:40:00,0.0,4.0 -5087,2023-02-05 07:50:00,0.0,4.0 -5088,2023-02-05 08:00:00,0.0,4.0 -5089,2023-02-05 08:10:00,0.0,4.0 -5090,2023-02-05 08:20:00,0.0,4.0 -5091,2023-02-05 08:30:00,0.0,4.0 -5092,2023-02-05 08:40:00,0.0,4.0 -5093,2023-02-05 08:50:00,0.0,4.0 -5094,2023-02-05 09:00:00,0.0,3.0 -5095,2023-02-05 09:10:00,0.0,3.0 -5096,2023-02-05 09:20:00,0.0,3.0 -5097,2023-02-05 09:30:00,0.0,3.0 -5098,2023-02-05 09:40:00,0.0,3.0 -5099,2023-02-05 09:50:00,0.0,3.0 -5136,2023-02-05 16:00:00,0.0,3.0 -5137,2023-02-05 16:10:00,0.0,3.0 -5138,2023-02-05 16:20:00,0.0,3.0 -5139,2023-02-05 16:30:00,0.0,3.0 -5140,2023-02-05 16:40:00,0.0,3.0 -5141,2023-02-05 16:50:00,0.0,3.0 -5142,2023-02-05 17:00:00,0.0,3.0 -5143,2023-02-05 17:10:00,0.0,3.0 -5144,2023-02-05 17:20:00,0.0,3.0 -5145,2023-02-05 17:30:00,0.0,3.0 -5146,2023-02-05 17:40:00,0.0,3.0 -5147,2023-02-05 17:50:00,0.0,3.0 -5148,2023-02-05 18:00:00,0.0,3.0 -5149,2023-02-05 18:10:00,0.0,3.0 -5150,2023-02-05 18:20:00,0.0,3.0 -5151,2023-02-05 18:30:00,0.0,3.0 -5152,2023-02-05 18:40:00,0.0,3.0 -5153,2023-02-05 18:50:00,0.0,3.0 -5154,2023-02-05 19:00:00,0.0,3.0 -5155,2023-02-05 19:10:00,0.0,3.0 -5156,2023-02-05 19:20:00,0.0,3.0 -5157,2023-02-05 19:30:00,0.0,3.0 -5158,2023-02-05 19:40:00,0.0,3.0 -5159,2023-02-05 19:50:00,0.0,3.0 -5166,2023-02-05 21:00:00,0.0,3.0 -5167,2023-02-05 21:10:00,0.0,3.0 -5168,2023-02-05 21:20:00,0.0,3.0 -5169,2023-02-05 21:30:00,0.0,3.0 -5170,2023-02-05 21:40:00,0.0,3.0 -5171,2023-02-05 21:50:00,0.0,3.0 -5196,2023-02-06 02:00:00,0.0,3.0 -5197,2023-02-06 02:10:00,0.0,3.0 -5198,2023-02-06 02:20:00,0.0,3.0 -5199,2023-02-06 02:30:00,0.0,3.0 -5200,2023-02-06 02:40:00,0.0,3.0 -5201,2023-02-06 02:50:00,0.0,3.0 -5202,2023-02-06 03:00:00,0.0,3.0 -5203,2023-02-06 03:10:00,0.0,3.0 -5204,2023-02-06 03:20:00,0.0,3.0 -5205,2023-02-06 03:30:00,0.0,3.0 -5206,2023-02-06 03:40:00,0.0,3.0 -5207,2023-02-06 03:50:00,0.0,3.0 -5220,2023-02-06 06:00:00,0.0,3.0 -5221,2023-02-06 06:10:00,0.0,3.0 -5222,2023-02-06 06:20:00,0.0,3.0 -5223,2023-02-06 06:30:00,0.0,3.0 -5224,2023-02-06 06:40:00,0.0,3.0 -5225,2023-02-06 06:50:00,0.0,3.0 -5244,2023-02-06 10:00:00,0.0,3.0 -5245,2023-02-06 10:10:00,0.0,3.0 -5246,2023-02-06 10:20:00,0.0,3.0 -5247,2023-02-06 10:30:00,0.0,3.0 -5248,2023-02-06 10:40:00,0.0,3.0 -5249,2023-02-06 10:50:00,0.0,3.0 -5250,2023-02-06 11:00:00,0.0,3.0 -5251,2023-02-06 11:10:00,0.0,3.0 -5252,2023-02-06 11:20:00,0.0,3.0 -5253,2023-02-06 11:30:00,0.0,3.0 -5254,2023-02-06 11:40:00,0.0,3.0 -5255,2023-02-06 11:50:00,0.0,3.0 -5256,2023-02-06 12:00:00,0.0,3.0 -5257,2023-02-06 12:10:00,0.0,3.0 -5258,2023-02-06 12:20:00,0.0,3.0 -5259,2023-02-06 12:30:00,0.0,3.0 -5260,2023-02-06 12:40:00,0.0,3.0 -5261,2023-02-06 12:50:00,0.0,3.0 -5262,2023-02-06 13:00:00,0.0,3.0 -5263,2023-02-06 13:10:00,0.0,3.0 -5264,2023-02-06 13:20:00,0.0,3.0 -5265,2023-02-06 13:30:00,0.0,3.0 -5266,2023-02-06 13:40:00,0.0,3.0 -5267,2023-02-06 13:50:00,0.0,3.0 -5274,2023-02-06 15:00:00,0.0,3.0 -5275,2023-02-06 15:10:00,0.0,3.0 -5276,2023-02-06 15:20:00,0.0,3.0 -5277,2023-02-06 15:30:00,0.0,3.0 -5278,2023-02-06 15:40:00,0.0,3.0 -5279,2023-02-06 15:50:00,0.0,3.0 -5280,2023-02-06 16:00:00,0.0,3.0 -5281,2023-02-06 16:10:00,0.0,3.0 -5282,2023-02-06 16:20:00,0.0,3.0 -5283,2023-02-06 16:30:00,0.0,3.0 -5284,2023-02-06 16:40:00,0.0,3.0 -5285,2023-02-06 16:50:00,0.0,3.0 -5310,2023-02-06 21:00:00,0.0,3.0 -5311,2023-02-06 21:10:00,0.0,3.0 -5312,2023-02-06 21:20:00,0.0,3.0 -5313,2023-02-06 21:30:00,0.0,3.0 -5314,2023-02-06 21:40:00,0.0,3.0 -5315,2023-02-06 21:50:00,0.0,3.0 -5316,2023-02-06 22:00:00,0.0,3.0 -5317,2023-02-06 22:10:00,0.0,3.0 -5318,2023-02-06 22:20:00,0.0,3.0 -5319,2023-02-06 22:30:00,0.0,3.0 -5320,2023-02-06 22:40:00,0.0,3.0 -5321,2023-02-06 22:50:00,0.0,3.0 -5322,2023-02-06 23:00:00,0.0,1.0 -5323,2023-02-06 23:10:00,0.0,1.0 -5324,2023-02-06 23:20:00,0.0,1.0 -5325,2023-02-06 23:30:00,0.0,1.0 -5326,2023-02-06 23:40:00,0.0,1.0 -5327,2023-02-06 23:50:00,0.0,1.0 -5340,2023-02-07 02:00:00,0.0,1.0 -5341,2023-02-07 02:10:00,0.0,1.0 -5342,2023-02-07 02:20:00,0.0,1.0 -5343,2023-02-07 02:30:00,0.0,1.0 -5344,2023-02-07 02:40:00,0.0,1.0 -5345,2023-02-07 02:50:00,0.0,1.0 -5346,2023-02-07 03:00:00,0.0,1.0 -5347,2023-02-07 03:10:00,0.0,1.0 -5348,2023-02-07 03:20:00,0.0,1.0 -5349,2023-02-07 03:30:00,0.0,1.0 -5350,2023-02-07 03:40:00,0.0,1.0 -5351,2023-02-07 03:50:00,0.0,1.0 -5352,2023-02-07 04:00:00,0.0,3.0 -5353,2023-02-07 04:10:00,0.0,3.0 -5354,2023-02-07 04:20:00,0.0,3.0 -5355,2023-02-07 04:30:00,0.0,3.0 -5356,2023-02-07 04:40:00,0.0,3.0 -5357,2023-02-07 04:50:00,0.0,3.0 -5358,2023-02-07 05:00:00,0.0,1.0 -5359,2023-02-07 05:10:00,0.0,1.0 -5360,2023-02-07 05:20:00,0.0,1.0 -5361,2023-02-07 05:30:00,0.0,1.0 -5362,2023-02-07 05:40:00,0.0,1.0 -5363,2023-02-07 05:50:00,0.0,1.0 -5364,2023-02-07 06:00:00,0.0,1.0 -5365,2023-02-07 06:10:00,0.0,1.0 -5366,2023-02-07 06:20:00,0.0,1.0 -5367,2023-02-07 06:30:00,0.0,1.0 -5368,2023-02-07 06:40:00,0.0,1.0 -5369,2023-02-07 06:50:00,0.0,1.0 -5370,2023-02-07 07:00:00,0.0,3.0 -5371,2023-02-07 07:10:00,0.0,3.0 -5372,2023-02-07 07:20:00,0.0,3.0 -5373,2023-02-07 07:30:00,0.0,3.0 -5374,2023-02-07 07:40:00,0.0,3.0 -5375,2023-02-07 07:50:00,0.0,3.0 -5376,2023-02-07 08:00:00,0.0,3.0 -5377,2023-02-07 08:10:00,0.0,3.0 -5378,2023-02-07 08:20:00,0.0,3.0 -5379,2023-02-07 08:30:00,0.0,3.0 -5380,2023-02-07 08:40:00,0.0,3.0 -5381,2023-02-07 08:50:00,0.0,3.0 -5382,2023-02-07 09:00:00,0.0,1.0 -5383,2023-02-07 09:10:00,0.0,1.0 -5384,2023-02-07 09:20:00,0.0,1.0 -5385,2023-02-07 09:30:00,0.0,1.0 -5386,2023-02-07 09:40:00,0.0,1.0 -5387,2023-02-07 09:50:00,0.0,1.0 -5400,2023-02-07 12:00:00,0.0,3.0 -5401,2023-02-07 12:10:00,0.0,3.0 -5402,2023-02-07 12:20:00,0.0,3.0 -5403,2023-02-07 12:30:00,0.0,3.0 -5404,2023-02-07 12:40:00,0.0,3.0 -5405,2023-02-07 12:50:00,0.0,3.0 -5406,2023-02-07 13:00:00,0.0,3.0 -5407,2023-02-07 13:10:00,0.0,3.0 -5408,2023-02-07 13:20:00,0.0,3.0 -5409,2023-02-07 13:30:00,0.0,3.0 -5410,2023-02-07 13:40:00,0.0,3.0 -5411,2023-02-07 13:50:00,0.0,3.0 -5412,2023-02-07 14:00:00,0.0,3.0 -5413,2023-02-07 14:10:00,0.0,3.0 -5414,2023-02-07 14:20:00,0.0,3.0 -5415,2023-02-07 14:30:00,0.0,3.0 -5416,2023-02-07 14:40:00,0.0,3.0 -5417,2023-02-07 14:50:00,0.0,3.0 -5418,2023-02-07 15:00:00,0.0,3.0 -5419,2023-02-07 15:10:00,0.0,3.0 -5420,2023-02-07 15:20:00,0.0,3.0 -5421,2023-02-07 15:30:00,0.0,3.0 -5422,2023-02-07 15:40:00,0.0,3.0 -5423,2023-02-07 15:50:00,0.0,3.0 -5442,2023-02-07 19:00:00,0.0,1.0 -5443,2023-02-07 19:10:00,0.0,1.0 -5444,2023-02-07 19:20:00,0.0,1.0 -5445,2023-02-07 19:30:00,0.0,1.0 -5446,2023-02-07 19:40:00,0.0,1.0 -5447,2023-02-07 19:50:00,0.0,1.0 -5448,2023-02-07 20:00:00,0.0,1.0 -5449,2023-02-07 20:10:00,0.0,1.0 -5450,2023-02-07 20:20:00,0.0,1.0 -5451,2023-02-07 20:30:00,0.0,1.0 -5452,2023-02-07 20:40:00,0.0,1.0 -5453,2023-02-07 20:50:00,0.0,1.0 -5466,2023-02-07 23:00:00,0.0,1.0 -5467,2023-02-07 23:10:00,0.0,1.0 -5468,2023-02-07 23:20:00,0.0,1.0 -5469,2023-02-07 23:30:00,0.0,1.0 -5470,2023-02-07 23:40:00,0.0,1.0 -5471,2023-02-07 23:50:00,0.0,1.0 -5472,2023-02-08 00:00:00,0.0,1.0 -5473,2023-02-08 00:10:00,0.0,1.0 -5474,2023-02-08 00:20:00,0.0,1.0 -5475,2023-02-08 00:30:00,0.0,1.0 -5476,2023-02-08 00:40:00,0.0,1.0 -5477,2023-02-08 00:50:00,0.0,1.0 -5478,2023-02-08 01:00:00,0.0,1.0 -5479,2023-02-08 01:10:00,0.0,1.0 -5480,2023-02-08 01:20:00,0.0,1.0 -5481,2023-02-08 01:30:00,0.0,1.0 -5482,2023-02-08 01:40:00,0.0,1.0 -5483,2023-02-08 01:50:00,0.0,1.0 -5490,2023-02-08 03:00:00,0.0,1.0 -5491,2023-02-08 03:10:00,0.0,1.0 -5492,2023-02-08 03:20:00,0.0,1.0 -5493,2023-02-08 03:30:00,0.0,1.0 -5494,2023-02-08 03:40:00,0.0,1.0 -5495,2023-02-08 03:50:00,0.0,1.0 -5496,2023-02-08 04:00:00,0.0,1.0 -5497,2023-02-08 04:10:00,0.0,1.0 -5498,2023-02-08 04:20:00,0.0,1.0 -5499,2023-02-08 04:30:00,0.0,1.0 -5500,2023-02-08 04:40:00,0.0,1.0 -5501,2023-02-08 04:50:00,0.0,1.0 -5502,2023-02-08 05:00:00,0.0,1.0 -5503,2023-02-08 05:10:00,0.0,1.0 -5504,2023-02-08 05:20:00,0.0,1.0 -5505,2023-02-08 05:30:00,0.0,1.0 -5506,2023-02-08 05:40:00,0.0,1.0 -5507,2023-02-08 05:50:00,0.0,1.0 -5514,2023-02-08 07:00:00,0.0,3.0 -5515,2023-02-08 07:10:00,0.0,3.0 -5516,2023-02-08 07:20:00,0.0,3.0 -5517,2023-02-08 07:30:00,0.0,3.0 -5518,2023-02-08 07:40:00,0.0,3.0 -5519,2023-02-08 07:50:00,0.0,3.0 -5526,2023-02-08 09:00:00,0.0,3.0 -5527,2023-02-08 09:10:00,0.0,3.0 -5528,2023-02-08 09:20:00,0.0,3.0 -5529,2023-02-08 09:30:00,0.0,3.0 -5530,2023-02-08 09:40:00,0.0,3.0 -5531,2023-02-08 09:50:00,0.0,3.0 -5556,2023-02-08 14:00:00,0.0,3.0 -5557,2023-02-08 14:10:00,0.0,3.0 -5558,2023-02-08 14:20:00,0.0,3.0 -5559,2023-02-08 14:30:00,0.0,3.0 -5560,2023-02-08 14:40:00,0.0,3.0 -5561,2023-02-08 14:50:00,0.0,3.0 -5562,2023-02-08 15:00:00,0.0,3.0 -5563,2023-02-08 15:10:00,0.0,3.0 -5564,2023-02-08 15:20:00,0.0,3.0 -5565,2023-02-08 15:30:00,0.0,3.0 -5566,2023-02-08 15:40:00,0.0,3.0 -5567,2023-02-08 15:50:00,0.0,3.0 -5574,2023-02-08 17:00:00,0.0,3.0 -5575,2023-02-08 17:10:00,0.0,3.0 -5576,2023-02-08 17:20:00,0.0,3.0 -5577,2023-02-08 17:30:00,0.0,3.0 -5578,2023-02-08 17:40:00,0.0,3.0 -5579,2023-02-08 17:50:00,0.0,3.0 -5580,2023-02-08 18:00:00,0.0,3.0 -5581,2023-02-08 18:10:00,0.0,3.0 -5582,2023-02-08 18:20:00,0.0,3.0 -5583,2023-02-08 18:30:00,0.0,3.0 -5584,2023-02-08 18:40:00,0.0,3.0 -5585,2023-02-08 18:50:00,0.0,3.0 -5592,2023-02-08 20:00:00,0.0,3.0 -5593,2023-02-08 20:10:00,0.0,3.0 -5594,2023-02-08 20:20:00,0.0,3.0 -5595,2023-02-08 20:30:00,0.0,3.0 -5596,2023-02-08 20:40:00,0.0,3.0 -5597,2023-02-08 20:50:00,0.0,3.0 -5604,2023-02-08 22:00:00,0.0,1.0 -5605,2023-02-08 22:10:00,0.0,1.0 -5606,2023-02-08 22:20:00,0.0,1.0 -5607,2023-02-08 22:30:00,0.0,1.0 -5608,2023-02-08 22:40:00,0.0,1.0 -5609,2023-02-08 22:50:00,0.0,1.0 -5616,2023-02-09 00:00:00,0.0,1.0 -5617,2023-02-09 00:10:00,0.0,1.0 -5618,2023-02-09 00:20:00,0.0,1.0 -5619,2023-02-09 00:30:00,0.0,1.0 -5620,2023-02-09 00:40:00,0.0,1.0 -5621,2023-02-09 00:50:00,0.0,1.0 -5622,2023-02-09 01:00:00,0.0,1.0 -5623,2023-02-09 01:10:00,0.0,1.0 -5624,2023-02-09 01:20:00,0.0,1.0 -5625,2023-02-09 01:30:00,0.0,1.0 -5626,2023-02-09 01:40:00,0.0,1.0 -5627,2023-02-09 01:50:00,0.0,1.0 -5670,2023-02-09 09:00:00,0.0,3.0 -5671,2023-02-09 09:10:00,0.0,3.0 -5672,2023-02-09 09:20:00,0.0,3.0 -5673,2023-02-09 09:30:00,0.0,3.0 -5674,2023-02-09 09:40:00,0.0,3.0 -5675,2023-02-09 09:50:00,0.0,3.0 -5688,2023-02-09 12:00:00,0.0,3.0 -5689,2023-02-09 12:10:00,0.0,3.0 -5690,2023-02-09 12:20:00,0.0,3.0 -5691,2023-02-09 12:30:00,0.0,3.0 -5692,2023-02-09 12:40:00,0.0,3.0 -5693,2023-02-09 12:50:00,0.0,3.0 -5694,2023-02-09 13:00:00,0.0,3.0 -5695,2023-02-09 13:10:00,0.0,3.0 -5696,2023-02-09 13:20:00,0.0,3.0 -5697,2023-02-09 13:30:00,0.0,3.0 -5698,2023-02-09 13:40:00,0.0,3.0 -5699,2023-02-09 13:50:00,0.0,3.0 -5700,2023-02-09 14:00:00,0.0,3.0 -5701,2023-02-09 14:10:00,0.0,3.0 -5702,2023-02-09 14:20:00,0.0,3.0 -5703,2023-02-09 14:30:00,0.0,3.0 -5704,2023-02-09 14:40:00,0.0,3.0 -5705,2023-02-09 14:50:00,0.0,3.0 -5712,2023-02-09 16:00:00,0.0,3.0 -5713,2023-02-09 16:10:00,0.0,3.0 -5714,2023-02-09 16:20:00,0.0,3.0 -5715,2023-02-09 16:30:00,0.0,3.0 -5716,2023-02-09 16:40:00,0.0,3.0 -5717,2023-02-09 16:50:00,0.0,3.0 -5718,2023-02-09 17:00:00,0.0,3.0 -5719,2023-02-09 17:10:00,0.0,3.0 -5720,2023-02-09 17:20:00,0.0,3.0 -5721,2023-02-09 17:30:00,0.0,3.0 -5722,2023-02-09 17:40:00,0.0,3.0 -5723,2023-02-09 17:50:00,0.0,3.0 -5724,2023-02-09 18:00:00,0.0,3.0 -5725,2023-02-09 18:10:00,0.0,3.0 -5726,2023-02-09 18:20:00,0.0,3.0 -5727,2023-02-09 18:30:00,0.0,3.0 -5728,2023-02-09 18:40:00,0.0,3.0 -5729,2023-02-09 18:50:00,0.0,3.0 -5736,2023-02-09 20:00:00,0.0,3.0 -5737,2023-02-09 20:10:00,0.0,3.0 -5738,2023-02-09 20:20:00,0.0,3.0 -5739,2023-02-09 20:30:00,0.0,3.0 -5740,2023-02-09 20:40:00,0.0,3.0 -5741,2023-02-09 20:50:00,0.0,3.0 -5754,2023-02-09 23:00:00,0.0,3.0 -5755,2023-02-09 23:10:00,0.0,3.0 -5756,2023-02-09 23:20:00,0.0,3.0 -5757,2023-02-09 23:30:00,0.0,3.0 -5758,2023-02-09 23:40:00,0.0,3.0 -5759,2023-02-09 23:50:00,0.0,3.0 -5766,2023-02-10 01:00:00,0.0,3.0 -5767,2023-02-10 01:10:00,0.0,3.0 -5768,2023-02-10 01:20:00,0.0,3.0 -5769,2023-02-10 01:30:00,0.0,3.0 -5770,2023-02-10 01:40:00,0.0,3.0 -5771,2023-02-10 01:50:00,0.0,3.0 -5778,2023-02-10 03:00:00,0.0,1.0 -5779,2023-02-10 03:10:00,0.0,1.0 -5780,2023-02-10 03:20:00,0.0,1.0 -5781,2023-02-10 03:30:00,0.0,1.0 -5782,2023-02-10 03:40:00,0.0,1.0 -5783,2023-02-10 03:50:00,0.0,1.0 -5790,2023-02-10 05:00:00,0.0,3.0 -5791,2023-02-10 05:10:00,0.0,3.0 -5792,2023-02-10 05:20:00,0.0,3.0 -5793,2023-02-10 05:30:00,0.0,3.0 -5794,2023-02-10 05:40:00,0.0,3.0 -5795,2023-02-10 05:50:00,0.0,3.0 -5796,2023-02-10 06:00:00,0.0,1.0 -5797,2023-02-10 06:10:00,0.0,1.0 -5798,2023-02-10 06:20:00,0.0,1.0 -5799,2023-02-10 06:30:00,0.0,1.0 -5800,2023-02-10 06:40:00,0.0,1.0 -5801,2023-02-10 06:50:00,0.0,1.0 -5808,2023-02-10 08:00:00,0.0,3.0 -5809,2023-02-10 08:10:00,0.0,3.0 -5810,2023-02-10 08:20:00,0.0,3.0 -5811,2023-02-10 08:30:00,0.0,3.0 -5812,2023-02-10 08:40:00,0.0,3.0 -5813,2023-02-10 08:50:00,0.0,3.0 -5814,2023-02-10 09:00:00,0.0,3.0 -5815,2023-02-10 09:10:00,0.0,3.0 -5816,2023-02-10 09:20:00,0.0,3.0 -5817,2023-02-10 09:30:00,0.0,3.0 -5818,2023-02-10 09:40:00,0.0,3.0 -5819,2023-02-10 09:50:00,0.0,3.0 -5820,2023-02-10 10:00:00,0.0,3.0 -5821,2023-02-10 10:10:00,0.0,3.0 -5822,2023-02-10 10:20:00,0.0,3.0 -5823,2023-02-10 10:30:00,0.0,3.0 -5824,2023-02-10 10:40:00,0.0,3.0 -5825,2023-02-10 10:50:00,0.0,3.0 -5826,2023-02-10 11:00:00,0.0,3.0 -5827,2023-02-10 11:10:00,0.0,3.0 -5828,2023-02-10 11:20:00,0.0,3.0 -5829,2023-02-10 11:30:00,0.0,3.0 -5830,2023-02-10 11:40:00,0.0,3.0 -5831,2023-02-10 11:50:00,0.0,3.0 -5838,2023-02-10 13:00:00,0.0,3.0 -5839,2023-02-10 13:10:00,0.0,3.0 -5840,2023-02-10 13:20:00,0.0,3.0 -5841,2023-02-10 13:30:00,0.0,3.0 -5842,2023-02-10 13:40:00,0.0,3.0 -5843,2023-02-10 13:50:00,0.0,3.0 -5862,2023-02-10 17:00:00,0.0,3.0 -5863,2023-02-10 17:10:00,0.0,3.0 -5864,2023-02-10 17:20:00,0.0,3.0 -5865,2023-02-10 17:30:00,0.0,3.0 -5866,2023-02-10 17:40:00,0.0,3.0 -5867,2023-02-10 17:50:00,0.0,3.0 -5874,2023-02-10 19:00:00,0.0,3.0 -5875,2023-02-10 19:10:00,0.0,3.0 -5876,2023-02-10 19:20:00,0.0,3.0 -5877,2023-02-10 19:30:00,0.0,3.0 -5878,2023-02-10 19:40:00,0.0,3.0 -5879,2023-02-10 19:50:00,0.0,3.0 -5898,2023-02-10 23:00:00,0.0,3.0 -5899,2023-02-10 23:10:00,0.0,3.0 -5900,2023-02-10 23:20:00,0.0,3.0 -5901,2023-02-10 23:30:00,0.0,3.0 -5902,2023-02-10 23:40:00,0.0,3.0 -5903,2023-02-10 23:50:00,0.0,3.0 -5904,2023-02-11 00:00:00,0.0,3.0 -5905,2023-02-11 00:10:00,0.0,3.0 -5906,2023-02-11 00:20:00,0.0,3.0 -5907,2023-02-11 00:30:00,0.0,3.0 -5908,2023-02-11 00:40:00,0.0,3.0 -5909,2023-02-11 00:50:00,0.0,3.0 -5922,2023-02-11 03:00:00,0.0,3.0 -5923,2023-02-11 03:10:00,0.0,3.0 -5924,2023-02-11 03:20:00,0.0,3.0 -5925,2023-02-11 03:30:00,0.0,3.0 -5926,2023-02-11 03:40:00,0.0,3.0 -5927,2023-02-11 03:50:00,0.0,3.0 -5928,2023-02-11 04:00:00,0.0,3.0 -5929,2023-02-11 04:10:00,0.0,3.0 -5930,2023-02-11 04:20:00,0.0,3.0 -5931,2023-02-11 04:30:00,0.0,3.0 -5932,2023-02-11 04:40:00,0.0,3.0 -5933,2023-02-11 04:50:00,0.0,3.0 -5934,2023-02-11 05:00:00,0.0,3.0 -5935,2023-02-11 05:10:00,0.0,3.0 -5936,2023-02-11 05:20:00,0.0,3.0 -5937,2023-02-11 05:30:00,0.0,3.0 -5938,2023-02-11 05:40:00,0.0,3.0 -5939,2023-02-11 05:50:00,0.0,3.0 -5958,2023-02-11 09:00:00,0.0,3.0 -5959,2023-02-11 09:10:00,0.0,3.0 -5960,2023-02-11 09:20:00,0.0,3.0 -5961,2023-02-11 09:30:00,0.0,3.0 -5962,2023-02-11 09:40:00,0.0,3.0 -5963,2023-02-11 09:50:00,0.0,3.0 -5976,2023-02-11 12:00:00,0.0,3.0 -5977,2023-02-11 12:10:00,0.0,3.0 -5978,2023-02-11 12:20:00,0.0,3.0 -5979,2023-02-11 12:30:00,0.0,3.0 -5980,2023-02-11 12:40:00,0.0,3.0 -5981,2023-02-11 12:50:00,0.0,3.0 -5988,2023-02-11 14:00:00,0.0,3.0 -5989,2023-02-11 14:10:00,0.0,3.0 -5990,2023-02-11 14:20:00,0.0,3.0 -5991,2023-02-11 14:30:00,0.0,3.0 -5992,2023-02-11 14:40:00,0.0,3.0 -5993,2023-02-11 14:50:00,0.0,3.0 -5994,2023-02-11 15:00:00,0.0,3.0 -5995,2023-02-11 15:10:00,0.0,3.0 -5996,2023-02-11 15:20:00,0.0,3.0 -5997,2023-02-11 15:30:00,0.0,3.0 -5998,2023-02-11 15:40:00,0.0,3.0 -5999,2023-02-11 15:50:00,0.0,3.0 -6006,2023-02-11 17:00:00,0.0,3.0 -6007,2023-02-11 17:10:00,0.0,3.0 -6008,2023-02-11 17:20:00,0.0,3.0 -6009,2023-02-11 17:30:00,0.0,3.0 -6010,2023-02-11 17:40:00,0.0,3.0 -6011,2023-02-11 17:50:00,0.0,3.0 -6012,2023-02-11 18:00:00,0.0,3.0 -6013,2023-02-11 18:10:00,0.0,3.0 -6014,2023-02-11 18:20:00,0.0,3.0 -6015,2023-02-11 18:30:00,0.0,3.0 -6016,2023-02-11 18:40:00,0.0,3.0 -6017,2023-02-11 18:50:00,0.0,3.0 -6018,2023-02-11 19:00:00,0.0,3.0 -6019,2023-02-11 19:10:00,0.0,3.0 -6020,2023-02-11 19:20:00,0.0,3.0 -6021,2023-02-11 19:30:00,0.0,3.0 -6022,2023-02-11 19:40:00,0.0,3.0 -6023,2023-02-11 19:50:00,0.0,3.0 -6030,2023-02-11 21:00:00,0.0,3.0 -6031,2023-02-11 21:10:00,0.0,3.0 -6032,2023-02-11 21:20:00,0.0,3.0 -6033,2023-02-11 21:30:00,0.0,3.0 -6034,2023-02-11 21:40:00,0.0,3.0 -6035,2023-02-11 21:50:00,0.0,3.0 -6042,2023-02-11 23:00:00,0.0,3.0 -6043,2023-02-11 23:10:00,0.0,3.0 -6044,2023-02-11 23:20:00,0.0,3.0 -6045,2023-02-11 23:30:00,0.0,3.0 -6046,2023-02-11 23:40:00,0.0,3.0 -6047,2023-02-11 23:50:00,0.0,3.0 -6048,2023-02-12 00:00:00,0.0,3.0 -6049,2023-02-12 00:10:00,0.0,3.0 -6050,2023-02-12 00:20:00,0.0,3.0 -6051,2023-02-12 00:30:00,0.0,3.0 -6052,2023-02-12 00:40:00,0.0,3.0 -6053,2023-02-12 00:50:00,0.0,3.0 -6060,2023-02-12 02:00:00,0.0,3.0 -6061,2023-02-12 02:10:00,0.0,3.0 -6062,2023-02-12 02:20:00,0.0,3.0 -6063,2023-02-12 02:30:00,0.0,3.0 -6064,2023-02-12 02:40:00,0.0,3.0 -6065,2023-02-12 02:50:00,0.0,3.0 -6066,2023-02-12 03:00:00,0.0,3.0 -6067,2023-02-12 03:10:00,0.0,3.0 -6068,2023-02-12 03:20:00,0.0,3.0 -6069,2023-02-12 03:30:00,0.0,3.0 -6070,2023-02-12 03:40:00,0.0,3.0 -6071,2023-02-12 03:50:00,0.0,3.0 -6078,2023-02-12 05:00:00,0.0,3.0 -6079,2023-02-12 05:10:00,0.0,3.0 -6080,2023-02-12 05:20:00,0.0,3.0 -6081,2023-02-12 05:30:00,0.0,3.0 -6082,2023-02-12 05:40:00,0.0,3.0 -6083,2023-02-12 05:50:00,0.0,3.0 -6090,2023-02-12 07:00:00,0.0,3.0 -6091,2023-02-12 07:10:00,0.0,3.0 -6092,2023-02-12 07:20:00,0.0,3.0 -6093,2023-02-12 07:30:00,0.0,3.0 -6094,2023-02-12 07:40:00,0.0,3.0 -6095,2023-02-12 07:50:00,0.0,3.0 -6132,2023-02-12 14:00:00,0.0,3.0 -6133,2023-02-12 14:10:00,0.0,3.0 -6134,2023-02-12 14:20:00,0.0,3.0 -6135,2023-02-12 14:30:00,0.0,3.0 -6136,2023-02-12 14:40:00,0.0,3.0 -6137,2023-02-12 14:50:00,0.0,3.0 -6144,2023-02-12 16:00:00,0.0,3.0 -6145,2023-02-12 16:10:00,0.0,3.0 -6146,2023-02-12 16:20:00,0.0,3.0 -6147,2023-02-12 16:30:00,0.0,3.0 -6148,2023-02-12 16:40:00,0.0,3.0 -6149,2023-02-12 16:50:00,0.0,3.0 -6174,2023-02-12 21:00:00,0.0,3.0 -6175,2023-02-12 21:10:00,0.0,3.0 -6176,2023-02-12 21:20:00,0.0,3.0 -6177,2023-02-12 21:30:00,0.0,3.0 -6178,2023-02-12 21:40:00,0.0,3.0 -6179,2023-02-12 21:50:00,0.0,3.0 -6180,2023-02-12 22:00:00,0.0,3.0 -6181,2023-02-12 22:10:00,0.0,3.0 -6182,2023-02-12 22:20:00,0.0,3.0 -6183,2023-02-12 22:30:00,0.0,3.0 -6184,2023-02-12 22:40:00,0.0,3.0 -6185,2023-02-12 22:50:00,0.0,3.0 -6186,2023-02-12 23:00:00,0.0,3.0 -6187,2023-02-12 23:10:00,0.0,3.0 -6188,2023-02-12 23:20:00,0.0,3.0 -6189,2023-02-12 23:30:00,0.0,3.0 -6190,2023-02-12 23:40:00,0.0,3.0 -6191,2023-02-12 23:50:00,0.0,3.0 -6198,2023-02-13 01:00:00,0.0,3.0 -6199,2023-02-13 01:10:00,0.0,3.0 -6200,2023-02-13 01:20:00,0.0,3.0 -6201,2023-02-13 01:30:00,0.0,3.0 -6202,2023-02-13 01:40:00,0.0,3.0 -6203,2023-02-13 01:50:00,0.0,3.0 -6204,2023-02-13 02:00:00,0.0,3.0 -6205,2023-02-13 02:10:00,0.0,3.0 -6206,2023-02-13 02:20:00,0.0,3.0 -6207,2023-02-13 02:30:00,0.0,3.0 -6208,2023-02-13 02:40:00,0.0,3.0 -6209,2023-02-13 02:50:00,0.0,3.0 -6210,2023-02-13 03:00:00,0.0,3.0 -6211,2023-02-13 03:10:00,0.0,3.0 -6212,2023-02-13 03:20:00,0.0,3.0 -6213,2023-02-13 03:30:00,0.0,3.0 -6214,2023-02-13 03:40:00,0.0,3.0 -6215,2023-02-13 03:50:00,0.0,3.0 -6216,2023-02-13 04:00:00,0.0,3.0 -6217,2023-02-13 04:10:00,0.0,3.0 -6218,2023-02-13 04:20:00,0.0,3.0 -6219,2023-02-13 04:30:00,0.0,3.0 -6220,2023-02-13 04:40:00,0.0,3.0 -6221,2023-02-13 04:50:00,0.0,3.0 -6234,2023-02-13 07:00:00,0.0,3.0 -6235,2023-02-13 07:10:00,0.0,3.0 -6236,2023-02-13 07:20:00,0.0,3.0 -6237,2023-02-13 07:30:00,0.0,3.0 -6238,2023-02-13 07:40:00,0.0,3.0 -6239,2023-02-13 07:50:00,0.0,3.0 -6240,2023-02-13 08:00:00,0.0,3.0 -6241,2023-02-13 08:10:00,0.0,3.0 -6242,2023-02-13 08:20:00,0.0,3.0 -6243,2023-02-13 08:30:00,0.0,3.0 -6244,2023-02-13 08:40:00,0.0,3.0 -6245,2023-02-13 08:50:00,0.0,3.0 -6246,2023-02-13 09:00:00,0.0,3.0 -6247,2023-02-13 09:10:00,0.0,3.0 -6248,2023-02-13 09:20:00,0.0,3.0 -6249,2023-02-13 09:30:00,0.0,3.0 -6250,2023-02-13 09:40:00,0.0,3.0 -6251,2023-02-13 09:50:00,0.0,3.0 -6258,2023-02-13 11:00:00,0.0,3.0 -6259,2023-02-13 11:10:00,0.0,3.0 -6260,2023-02-13 11:20:00,0.0,3.0 -6261,2023-02-13 11:30:00,0.0,3.0 -6262,2023-02-13 11:40:00,0.0,3.0 -6263,2023-02-13 11:50:00,0.0,3.0 -6264,2023-02-13 12:00:00,0.0,5.0 -6265,2023-02-13 12:10:00,0.0,5.0 -6266,2023-02-13 12:20:00,0.0,5.0 -6267,2023-02-13 12:30:00,0.0,5.0 -6268,2023-02-13 12:40:00,0.0,5.0 -6269,2023-02-13 12:50:00,0.0,5.0 -6270,2023-02-13 13:00:00,0.0,5.0 -6271,2023-02-13 13:10:00,0.0,5.0 -6272,2023-02-13 13:20:00,0.0,5.0 -6273,2023-02-13 13:30:00,0.0,5.0 -6274,2023-02-13 13:40:00,0.0,5.0 -6275,2023-02-13 13:50:00,0.0,5.0 -6288,2023-02-13 16:00:00,0.0,3.0 -6289,2023-02-13 16:10:00,0.0,3.0 -6290,2023-02-13 16:20:00,0.0,3.0 -6291,2023-02-13 16:30:00,0.0,3.0 -6292,2023-02-13 16:40:00,0.0,3.0 -6293,2023-02-13 16:50:00,0.0,3.0 -6294,2023-02-13 17:00:00,0.0,3.0 -6295,2023-02-13 17:10:00,0.0,3.0 -6296,2023-02-13 17:20:00,0.0,3.0 -6297,2023-02-13 17:30:00,0.0,3.0 -6298,2023-02-13 17:40:00,0.0,3.0 -6299,2023-02-13 17:50:00,0.0,3.0 -6306,2023-02-13 19:00:00,0.0,3.0 -6307,2023-02-13 19:10:00,0.0,3.0 -6308,2023-02-13 19:20:00,0.0,3.0 -6309,2023-02-13 19:30:00,0.0,3.0 -6310,2023-02-13 19:40:00,0.0,3.0 -6311,2023-02-13 19:50:00,0.0,3.0 -6312,2023-02-13 20:00:00,0.0,3.0 -6313,2023-02-13 20:10:00,0.0,3.0 -6314,2023-02-13 20:20:00,0.0,3.0 -6315,2023-02-13 20:30:00,0.0,3.0 -6316,2023-02-13 20:40:00,0.0,3.0 -6317,2023-02-13 20:50:00,0.0,3.0 -6318,2023-02-13 21:00:00,0.0,3.0 -6319,2023-02-13 21:10:00,0.0,3.0 -6320,2023-02-13 21:20:00,0.0,3.0 -6321,2023-02-13 21:30:00,0.0,3.0 -6322,2023-02-13 21:40:00,0.0,3.0 -6323,2023-02-13 21:50:00,0.0,3.0 -6324,2023-02-13 22:00:00,0.0,3.0 -6325,2023-02-13 22:10:00,0.0,3.0 -6326,2023-02-13 22:20:00,0.0,3.0 -6327,2023-02-13 22:30:00,0.0,3.0 -6328,2023-02-13 22:40:00,0.0,3.0 -6329,2023-02-13 22:50:00,0.0,3.0 -6330,2023-02-13 23:00:00,0.0,3.0 -6331,2023-02-13 23:10:00,0.0,3.0 -6332,2023-02-13 23:20:00,0.0,3.0 -6333,2023-02-13 23:30:00,0.0,3.0 -6334,2023-02-13 23:40:00,0.0,3.0 -6335,2023-02-13 23:50:00,0.0,3.0 -6342,2023-02-14 01:00:00,0.0,1.0 -6343,2023-02-14 01:10:00,0.0,1.0 -6344,2023-02-14 01:20:00,0.0,1.0 -6345,2023-02-14 01:30:00,0.0,1.0 -6346,2023-02-14 01:40:00,0.0,1.0 -6347,2023-02-14 01:50:00,0.0,1.0 -6360,2023-02-14 04:00:00,0.0,1.0 -6361,2023-02-14 04:10:00,0.0,1.0 -6362,2023-02-14 04:20:00,0.0,1.0 -6363,2023-02-14 04:30:00,0.0,1.0 -6364,2023-02-14 04:40:00,0.0,1.0 -6365,2023-02-14 04:50:00,0.0,1.0 -6372,2023-02-14 06:00:00,0.0,3.0 -6373,2023-02-14 06:10:00,0.0,3.0 -6374,2023-02-14 06:20:00,0.0,3.0 -6375,2023-02-14 06:30:00,0.0,3.0 -6376,2023-02-14 06:40:00,0.0,3.0 -6377,2023-02-14 06:50:00,0.0,3.0 -6384,2023-02-14 08:00:00,0.0,3.0 -6385,2023-02-14 08:10:00,0.0,3.0 -6386,2023-02-14 08:20:00,0.0,3.0 -6387,2023-02-14 08:30:00,0.0,3.0 -6388,2023-02-14 08:40:00,0.0,3.0 -6389,2023-02-14 08:50:00,0.0,3.0 -6396,2023-02-14 10:00:00,0.0,3.0 -6397,2023-02-14 10:10:00,0.0,3.0 -6398,2023-02-14 10:20:00,0.0,3.0 -6399,2023-02-14 10:30:00,0.0,3.0 -6400,2023-02-14 10:40:00,0.0,3.0 -6401,2023-02-14 10:50:00,0.0,3.0 -6426,2023-02-14 15:00:00,0.0,3.0 -6427,2023-02-14 15:10:00,0.0,3.0 -6428,2023-02-14 15:20:00,0.0,3.0 -6429,2023-02-14 15:30:00,0.0,3.0 -6430,2023-02-14 15:40:00,0.0,3.0 -6431,2023-02-14 15:50:00,0.0,3.0 -6432,2023-02-14 16:00:00,0.0,3.0 -6433,2023-02-14 16:10:00,0.0,3.0 -6434,2023-02-14 16:20:00,0.0,3.0 -6435,2023-02-14 16:30:00,0.0,3.0 -6436,2023-02-14 16:40:00,0.0,3.0 -6437,2023-02-14 16:50:00,0.0,3.0 -6438,2023-02-14 17:00:00,0.0,3.0 -6439,2023-02-14 17:10:00,0.0,3.0 -6440,2023-02-14 17:20:00,0.0,3.0 -6441,2023-02-14 17:30:00,0.0,3.0 -6442,2023-02-14 17:40:00,0.0,3.0 -6443,2023-02-14 17:50:00,0.0,3.0 -6450,2023-02-14 19:00:00,0.0,3.0 -6451,2023-02-14 19:10:00,0.0,3.0 -6452,2023-02-14 19:20:00,0.0,3.0 -6453,2023-02-14 19:30:00,0.0,3.0 -6454,2023-02-14 19:40:00,0.0,3.0 -6455,2023-02-14 19:50:00,0.0,3.0 -6456,2023-02-14 20:00:00,0.0,3.0 -6457,2023-02-14 20:10:00,0.0,3.0 -6458,2023-02-14 20:20:00,0.0,3.0 -6459,2023-02-14 20:30:00,0.0,3.0 -6460,2023-02-14 20:40:00,0.0,3.0 -6461,2023-02-14 20:50:00,0.0,3.0 -6462,2023-02-14 21:00:00,0.0,3.0 -6463,2023-02-14 21:10:00,0.0,3.0 -6464,2023-02-14 21:20:00,0.0,3.0 -6465,2023-02-14 21:30:00,0.0,3.0 -6466,2023-02-14 21:40:00,0.0,3.0 -6467,2023-02-14 21:50:00,0.0,3.0 -6468,2023-02-14 22:00:00,0.0,3.0 -6469,2023-02-14 22:10:00,0.0,3.0 -6470,2023-02-14 22:20:00,0.0,3.0 -6471,2023-02-14 22:30:00,0.0,3.0 -6472,2023-02-14 22:40:00,0.0,3.0 -6473,2023-02-14 22:50:00,0.0,3.0 -6474,2023-02-14 23:00:00,0.0,3.0 -6475,2023-02-14 23:10:00,0.0,3.0 -6476,2023-02-14 23:20:00,0.0,3.0 -6477,2023-02-14 23:30:00,0.0,3.0 -6478,2023-02-14 23:40:00,0.0,3.0 -6479,2023-02-14 23:50:00,0.0,3.0 -6534,2023-02-15 09:00:00,0.0,3.0 -6535,2023-02-15 09:10:00,0.0,3.0 -6536,2023-02-15 09:20:00,0.0,3.0 -6537,2023-02-15 09:30:00,0.0,3.0 -6538,2023-02-15 09:40:00,0.0,3.0 -6539,2023-02-15 09:50:00,0.0,3.0 -6546,2023-02-15 11:00:00,0.0,5.0 -6547,2023-02-15 11:10:00,0.0,5.0 -6548,2023-02-15 11:20:00,0.0,5.0 -6549,2023-02-15 11:30:00,0.0,5.0 -6550,2023-02-15 11:40:00,0.0,5.0 -6551,2023-02-15 11:50:00,0.0,5.0 -6552,2023-02-15 12:00:00,0.0,5.0 -6553,2023-02-15 12:10:00,0.0,5.0 -6554,2023-02-15 12:20:00,0.0,5.0 -6555,2023-02-15 12:30:00,0.0,5.0 -6556,2023-02-15 12:40:00,0.0,5.0 -6557,2023-02-15 12:50:00,0.0,5.0 -6570,2023-02-15 15:00:00,0.0,3.0 -6571,2023-02-15 15:10:00,0.0,3.0 -6572,2023-02-15 15:20:00,0.0,3.0 -6573,2023-02-15 15:30:00,0.0,3.0 -6574,2023-02-15 15:40:00,0.0,3.0 -6575,2023-02-15 15:50:00,0.0,3.0 -6576,2023-02-15 16:00:00,0.0,3.0 -6577,2023-02-15 16:10:00,0.0,3.0 -6578,2023-02-15 16:20:00,0.0,3.0 -6579,2023-02-15 16:30:00,0.0,3.0 -6580,2023-02-15 16:40:00,0.0,3.0 -6581,2023-02-15 16:50:00,0.0,3.0 -6582,2023-02-15 17:00:00,0.0,3.0 -6583,2023-02-15 17:10:00,0.0,3.0 -6584,2023-02-15 17:20:00,0.0,3.0 -6585,2023-02-15 17:30:00,0.0,3.0 -6586,2023-02-15 17:40:00,0.0,3.0 -6587,2023-02-15 17:50:00,0.0,3.0 -6588,2023-02-15 18:00:00,0.0,3.0 -6589,2023-02-15 18:10:00,0.0,3.0 -6590,2023-02-15 18:20:00,0.0,3.0 -6591,2023-02-15 18:30:00,0.0,3.0 -6592,2023-02-15 18:40:00,0.0,3.0 -6593,2023-02-15 18:50:00,0.0,3.0 -6594,2023-02-15 19:00:00,0.0,3.0 -6595,2023-02-15 19:10:00,0.0,3.0 -6596,2023-02-15 19:20:00,0.0,3.0 -6597,2023-02-15 19:30:00,0.0,3.0 -6598,2023-02-15 19:40:00,0.0,3.0 -6599,2023-02-15 19:50:00,0.0,3.0 -6618,2023-02-15 23:00:00,0.0,3.0 -6619,2023-02-15 23:10:00,0.0,3.0 -6620,2023-02-15 23:20:00,0.0,3.0 -6621,2023-02-15 23:30:00,0.0,3.0 -6622,2023-02-15 23:40:00,0.0,3.0 -6623,2023-02-15 23:50:00,0.0,3.0 -6624,2023-02-16 00:00:00,0.0,3.0 -6625,2023-02-16 00:10:00,0.0,3.0 -6626,2023-02-16 00:20:00,0.0,3.0 -6627,2023-02-16 00:30:00,0.0,3.0 -6628,2023-02-16 00:40:00,0.0,3.0 -6629,2023-02-16 00:50:00,0.0,3.0 -6636,2023-02-16 02:00:00,0.0,4.0 -6637,2023-02-16 02:10:00,0.0,4.0 -6638,2023-02-16 02:20:00,0.0,4.0 -6639,2023-02-16 02:30:00,0.0,4.0 -6640,2023-02-16 02:40:00,0.0,4.0 -6641,2023-02-16 02:50:00,0.0,4.0 -6642,2023-02-16 03:00:00,0.0,3.0 -6643,2023-02-16 03:10:00,0.0,3.0 -6644,2023-02-16 03:20:00,0.0,3.0 -6645,2023-02-16 03:30:00,0.0,3.0 -6646,2023-02-16 03:40:00,0.0,3.0 -6647,2023-02-16 03:50:00,0.0,3.0 -6654,2023-02-16 05:00:00,0.0,3.0 -6655,2023-02-16 05:10:00,0.0,3.0 -6656,2023-02-16 05:20:00,0.0,3.0 -6657,2023-02-16 05:30:00,0.0,3.0 -6658,2023-02-16 05:40:00,0.0,3.0 -6659,2023-02-16 05:50:00,0.0,3.0 -6660,2023-02-16 06:00:00,0.0,3.0 -6661,2023-02-16 06:10:00,0.0,3.0 -6662,2023-02-16 06:20:00,0.0,3.0 -6663,2023-02-16 06:30:00,0.0,3.0 -6664,2023-02-16 06:40:00,0.0,3.0 -6665,2023-02-16 06:50:00,0.0,3.0 -6672,2023-02-16 08:00:00,0.0,4.0 -6673,2023-02-16 08:10:00,0.0,4.0 -6674,2023-02-16 08:20:00,0.0,4.0 -6675,2023-02-16 08:30:00,0.0,4.0 -6676,2023-02-16 08:40:00,0.0,4.0 -6677,2023-02-16 08:50:00,0.0,4.0 -6678,2023-02-16 09:00:00,0.0,4.0 -6679,2023-02-16 09:10:00,0.0,4.0 -6680,2023-02-16 09:20:00,0.0,4.0 -6681,2023-02-16 09:30:00,0.0,4.0 -6682,2023-02-16 09:40:00,0.0,4.0 -6683,2023-02-16 09:50:00,0.0,4.0 -6714,2023-02-16 15:00:00,0.0,4.0 -6715,2023-02-16 15:10:00,0.0,4.0 -6716,2023-02-16 15:20:00,0.0,4.0 -6717,2023-02-16 15:30:00,0.0,4.0 -6718,2023-02-16 15:40:00,0.0,4.0 -6719,2023-02-16 15:50:00,0.0,4.0 -6732,2023-02-16 18:00:00,0.0,4.0 -6733,2023-02-16 18:10:00,0.0,4.0 -6734,2023-02-16 18:20:00,0.0,4.0 -6735,2023-02-16 18:30:00,0.0,4.0 -6736,2023-02-16 18:40:00,0.0,4.0 -6737,2023-02-16 18:50:00,0.0,4.0 -6738,2023-02-16 19:00:00,0.0,4.0 -6739,2023-02-16 19:10:00,0.0,4.0 -6740,2023-02-16 19:20:00,0.0,4.0 -6741,2023-02-16 19:30:00,0.0,4.0 -6742,2023-02-16 19:40:00,0.0,4.0 -6743,2023-02-16 19:50:00,0.0,4.0 -6744,2023-02-16 20:00:00,0.0,4.0 -6745,2023-02-16 20:10:00,0.0,4.0 -6746,2023-02-16 20:20:00,0.0,4.0 -6747,2023-02-16 20:30:00,0.0,4.0 -6748,2023-02-16 20:40:00,0.0,4.0 -6749,2023-02-16 20:50:00,0.0,4.0 -6750,2023-02-16 21:00:00,0.0,4.0 -6751,2023-02-16 21:10:00,0.0,4.0 -6752,2023-02-16 21:20:00,0.0,4.0 -6753,2023-02-16 21:30:00,0.0,4.0 -6754,2023-02-16 21:40:00,0.0,4.0 -6755,2023-02-16 21:50:00,0.0,4.0 -6756,2023-02-16 22:00:00,0.0,4.0 -6757,2023-02-16 22:10:00,0.0,4.0 -6758,2023-02-16 22:20:00,0.0,4.0 -6759,2023-02-16 22:30:00,0.0,4.0 -6760,2023-02-16 22:40:00,0.0,4.0 -6761,2023-02-16 22:50:00,0.0,4.0 -6768,2023-02-17 00:00:00,0.0,5.0 -6769,2023-02-17 00:10:00,0.0,5.0 -6770,2023-02-17 00:20:00,0.0,5.0 -6771,2023-02-17 00:30:00,0.0,5.0 -6772,2023-02-17 00:40:00,0.0,5.0 -6773,2023-02-17 00:50:00,0.0,5.0 -6774,2023-02-17 01:00:00,0.0,3.0 -6775,2023-02-17 01:10:00,0.0,3.0 -6776,2023-02-17 01:20:00,0.0,3.0 -6777,2023-02-17 01:30:00,0.0,3.0 -6778,2023-02-17 01:40:00,0.0,3.0 -6779,2023-02-17 01:50:00,0.0,3.0 -6792,2023-02-17 04:00:00,0.0,3.0 -6793,2023-02-17 04:10:00,0.0,3.0 -6794,2023-02-17 04:20:00,0.0,3.0 -6795,2023-02-17 04:30:00,0.0,3.0 -6796,2023-02-17 04:40:00,0.0,3.0 -6797,2023-02-17 04:50:00,0.0,3.0 -6798,2023-02-17 05:00:00,0.0,4.0 -6799,2023-02-17 05:10:00,0.0,4.0 -6800,2023-02-17 05:20:00,0.0,4.0 -6801,2023-02-17 05:30:00,0.0,4.0 -6802,2023-02-17 05:40:00,0.0,4.0 -6803,2023-02-17 05:50:00,0.0,4.0 -6822,2023-02-17 09:00:00,0.0,5.0 -6823,2023-02-17 09:10:00,0.0,5.0 -6824,2023-02-17 09:20:00,0.0,5.0 -6825,2023-02-17 09:30:00,0.0,5.0 -6826,2023-02-17 09:40:00,0.0,5.0 -6827,2023-02-17 09:50:00,0.0,5.0 -6828,2023-02-17 10:00:00,0.0,5.0 -6829,2023-02-17 10:10:00,0.0,5.0 -6830,2023-02-17 10:20:00,0.0,5.0 -6831,2023-02-17 10:30:00,0.0,5.0 -6832,2023-02-17 10:40:00,0.0,5.0 -6833,2023-02-17 10:50:00,0.0,5.0 -6834,2023-02-17 11:00:00,0.0,5.0 -6835,2023-02-17 11:10:00,0.0,5.0 -6836,2023-02-17 11:20:00,0.0,5.0 -6837,2023-02-17 11:30:00,0.0,5.0 -6838,2023-02-17 11:40:00,0.0,5.0 -6839,2023-02-17 11:50:00,0.0,5.0 -6852,2023-02-17 14:00:00,0.0,5.0 -6853,2023-02-17 14:10:00,0.0,5.0 -6854,2023-02-17 14:20:00,0.0,5.0 -6855,2023-02-17 14:30:00,0.0,5.0 -6856,2023-02-17 14:40:00,0.0,5.0 -6857,2023-02-17 14:50:00,0.0,5.0 -6858,2023-02-17 15:00:00,0.0,5.0 -6859,2023-02-17 15:10:00,0.0,5.0 -6860,2023-02-17 15:20:00,0.0,5.0 -6861,2023-02-17 15:30:00,0.0,5.0 -6862,2023-02-17 15:40:00,0.0,5.0 -6863,2023-02-17 15:50:00,0.0,5.0 -6864,2023-02-17 16:00:00,0.0,3.0 -6865,2023-02-17 16:10:00,0.0,3.0 -6866,2023-02-17 16:20:00,0.0,3.0 -6867,2023-02-17 16:30:00,0.0,3.0 -6868,2023-02-17 16:40:00,0.0,3.0 -6869,2023-02-17 16:50:00,0.0,3.0 -6870,2023-02-17 17:00:00,0.0,5.0 -6871,2023-02-17 17:10:00,0.0,5.0 -6872,2023-02-17 17:20:00,0.0,5.0 -6873,2023-02-17 17:30:00,0.0,5.0 -6874,2023-02-17 17:40:00,0.0,5.0 -6875,2023-02-17 17:50:00,0.0,5.0 -6876,2023-02-17 18:00:00,0.0,3.0 -6877,2023-02-17 18:10:00,0.0,3.0 -6878,2023-02-17 18:20:00,0.0,3.0 -6879,2023-02-17 18:30:00,0.0,3.0 -6880,2023-02-17 18:40:00,0.0,3.0 -6881,2023-02-17 18:50:00,0.0,3.0 -6888,2023-02-17 20:00:00,0.0,5.0 -6889,2023-02-17 20:10:00,0.0,5.0 -6890,2023-02-17 20:20:00,0.0,5.0 -6891,2023-02-17 20:30:00,0.0,5.0 -6892,2023-02-17 20:40:00,0.0,5.0 -6893,2023-02-17 20:50:00,0.0,5.0 -6894,2023-02-17 21:00:00,0.0,3.0 -6895,2023-02-17 21:10:00,0.0,3.0 -6896,2023-02-17 21:20:00,0.0,3.0 -6897,2023-02-17 21:30:00,0.0,3.0 -6898,2023-02-17 21:40:00,0.0,3.0 -6899,2023-02-17 21:50:00,0.0,3.0 -6900,2023-02-17 22:00:00,0.0,3.0 -6901,2023-02-17 22:10:00,0.0,3.0 -6902,2023-02-17 22:20:00,0.0,3.0 -6903,2023-02-17 22:30:00,0.0,3.0 -6904,2023-02-17 22:40:00,0.0,3.0 -6905,2023-02-17 22:50:00,0.0,3.0 -6906,2023-02-17 23:00:00,0.0,3.0 -6907,2023-02-17 23:10:00,0.0,3.0 -6908,2023-02-17 23:20:00,0.0,3.0 -6909,2023-02-17 23:30:00,0.0,3.0 -6910,2023-02-17 23:40:00,0.0,3.0 -6911,2023-02-17 23:50:00,0.0,3.0 -6912,2023-02-18 00:00:00,0.0,3.0 -6913,2023-02-18 00:10:00,0.0,3.0 -6914,2023-02-18 00:20:00,0.0,3.0 -6915,2023-02-18 00:30:00,0.0,3.0 -6916,2023-02-18 00:40:00,0.0,3.0 -6917,2023-02-18 00:50:00,0.0,3.0 -6942,2023-02-18 05:00:00,0.0,6.0 -6943,2023-02-18 05:10:00,0.0,6.0 -6944,2023-02-18 05:20:00,0.0,6.0 -6945,2023-02-18 05:30:00,0.0,6.0 -6946,2023-02-18 05:40:00,0.0,6.0 -6947,2023-02-18 05:50:00,0.0,6.0 -6966,2023-02-18 09:00:00,0.0,4.0 -6967,2023-02-18 09:10:00,0.0,4.0 -6968,2023-02-18 09:20:00,0.0,4.0 -6969,2023-02-18 09:30:00,0.0,4.0 -6970,2023-02-18 09:40:00,0.0,4.0 -6971,2023-02-18 09:50:00,0.0,4.0 -6978,2023-02-18 11:00:00,0.0,5.0 -6979,2023-02-18 11:10:00,0.0,5.0 -6980,2023-02-18 11:20:00,0.0,5.0 -6981,2023-02-18 11:30:00,0.0,5.0 -6982,2023-02-18 11:40:00,0.0,5.0 -6983,2023-02-18 11:50:00,0.0,5.0 -6990,2023-02-18 13:00:00,0.0,5.0 -6991,2023-02-18 13:10:00,0.0,5.0 -6992,2023-02-18 13:20:00,0.0,5.0 -6993,2023-02-18 13:30:00,0.0,5.0 -6994,2023-02-18 13:40:00,0.0,5.0 -6995,2023-02-18 13:50:00,0.0,5.0 -7002,2023-02-18 15:00:00,0.0,5.0 -7003,2023-02-18 15:10:00,0.0,5.0 -7004,2023-02-18 15:20:00,0.0,5.0 -7005,2023-02-18 15:30:00,0.0,5.0 -7006,2023-02-18 15:40:00,0.0,5.0 -7007,2023-02-18 15:50:00,0.0,5.0 -7008,2023-02-18 16:00:00,0.0,5.0 -7009,2023-02-18 16:10:00,0.0,5.0 -7010,2023-02-18 16:20:00,0.0,5.0 -7011,2023-02-18 16:30:00,0.0,5.0 -7012,2023-02-18 16:40:00,0.0,5.0 -7013,2023-02-18 16:50:00,0.0,5.0 -7020,2023-02-18 18:00:00,0.0,4.0 -7021,2023-02-18 18:10:00,0.0,4.0 -7022,2023-02-18 18:20:00,0.0,4.0 -7023,2023-02-18 18:30:00,0.0,4.0 -7024,2023-02-18 18:40:00,0.0,4.0 -7025,2023-02-18 18:50:00,0.0,4.0 -7026,2023-02-18 19:00:00,0.0,4.0 -7027,2023-02-18 19:10:00,0.0,4.0 -7028,2023-02-18 19:20:00,0.0,4.0 -7029,2023-02-18 19:30:00,0.0,4.0 -7030,2023-02-18 19:40:00,0.0,4.0 -7031,2023-02-18 19:50:00,0.0,4.0 -7038,2023-02-18 21:00:00,0.0,3.0 -7039,2023-02-18 21:10:00,0.0,3.0 -7040,2023-02-18 21:20:00,0.0,3.0 -7041,2023-02-18 21:30:00,0.0,3.0 -7042,2023-02-18 21:40:00,0.0,3.0 -7043,2023-02-18 21:50:00,0.0,3.0 -7044,2023-02-18 22:00:00,0.0,4.0 -7045,2023-02-18 22:10:00,0.0,4.0 -7046,2023-02-18 22:20:00,0.0,4.0 -7047,2023-02-18 22:30:00,0.0,4.0 -7048,2023-02-18 22:40:00,0.0,4.0 -7049,2023-02-18 22:50:00,0.0,4.0 -7050,2023-02-18 23:00:00,0.0,4.0 -7051,2023-02-18 23:10:00,0.0,4.0 -7052,2023-02-18 23:20:00,0.0,4.0 -7053,2023-02-18 23:30:00,0.0,4.0 -7054,2023-02-18 23:40:00,0.0,4.0 -7055,2023-02-18 23:50:00,0.0,4.0 -7056,2023-02-19 00:00:00,0.0,6.0 -7057,2023-02-19 00:10:00,0.0,6.0 -7058,2023-02-19 00:20:00,0.0,6.0 -7059,2023-02-19 00:30:00,0.0,6.0 -7060,2023-02-19 00:40:00,0.0,6.0 -7061,2023-02-19 00:50:00,0.0,6.0 -7062,2023-02-19 01:00:00,0.0,4.0 -7063,2023-02-19 01:10:00,0.0,4.0 -7064,2023-02-19 01:20:00,0.0,4.0 -7065,2023-02-19 01:30:00,0.0,4.0 -7066,2023-02-19 01:40:00,0.0,4.0 -7067,2023-02-19 01:50:00,0.0,4.0 -7068,2023-02-19 02:00:00,0.0,4.0 -7069,2023-02-19 02:10:00,0.0,4.0 -7070,2023-02-19 02:20:00,0.0,4.0 -7071,2023-02-19 02:30:00,0.0,4.0 -7072,2023-02-19 02:40:00,0.0,4.0 -7073,2023-02-19 02:50:00,0.0,4.0 -7074,2023-02-19 03:00:00,0.0,3.0 -7075,2023-02-19 03:10:00,0.0,3.0 -7076,2023-02-19 03:20:00,0.0,3.0 -7077,2023-02-19 03:30:00,0.0,3.0 -7078,2023-02-19 03:40:00,0.0,3.0 -7079,2023-02-19 03:50:00,0.0,3.0 -7098,2023-02-19 07:00:00,0.0,4.0 -7099,2023-02-19 07:10:00,0.0,4.0 -7100,2023-02-19 07:20:00,0.0,4.0 -7101,2023-02-19 07:30:00,0.0,4.0 -7102,2023-02-19 07:40:00,0.0,4.0 -7103,2023-02-19 07:50:00,0.0,4.0 -7110,2023-02-19 09:00:00,0.0,3.0 -7111,2023-02-19 09:10:00,0.0,3.0 -7112,2023-02-19 09:20:00,0.0,3.0 -7113,2023-02-19 09:30:00,0.0,3.0 -7114,2023-02-19 09:40:00,0.0,3.0 -7115,2023-02-19 09:50:00,0.0,3.0 -7122,2023-02-19 11:00:00,0.0,4.0 -7123,2023-02-19 11:10:00,0.0,4.0 -7124,2023-02-19 11:20:00,0.0,4.0 -7125,2023-02-19 11:30:00,0.0,4.0 -7126,2023-02-19 11:40:00,0.0,4.0 -7127,2023-02-19 11:50:00,0.0,4.0 -7134,2023-02-19 13:00:00,0.0,3.0 -7135,2023-02-19 13:10:00,0.0,3.0 -7136,2023-02-19 13:20:00,0.0,3.0 -7137,2023-02-19 13:30:00,0.0,3.0 -7138,2023-02-19 13:40:00,0.0,3.0 -7139,2023-02-19 13:50:00,0.0,3.0 -7140,2023-02-19 14:00:00,0.0,3.0 -7141,2023-02-19 14:10:00,0.0,3.0 -7142,2023-02-19 14:20:00,0.0,3.0 -7143,2023-02-19 14:30:00,0.0,3.0 -7144,2023-02-19 14:40:00,0.0,3.0 -7145,2023-02-19 14:50:00,0.0,3.0 -7152,2023-02-19 16:00:00,0.0,3.0 -7153,2023-02-19 16:10:00,0.0,3.0 -7154,2023-02-19 16:20:00,0.0,3.0 -7155,2023-02-19 16:30:00,0.0,3.0 -7156,2023-02-19 16:40:00,0.0,3.0 -7157,2023-02-19 16:50:00,0.0,3.0 -7164,2023-02-19 18:00:00,0.0,3.0 -7165,2023-02-19 18:10:00,0.0,3.0 -7166,2023-02-19 18:20:00,0.0,3.0 -7167,2023-02-19 18:30:00,0.0,3.0 -7168,2023-02-19 18:40:00,0.0,3.0 -7169,2023-02-19 18:50:00,0.0,3.0 -7176,2023-02-19 20:00:00,0.0,3.0 -7177,2023-02-19 20:10:00,0.0,3.0 -7178,2023-02-19 20:20:00,0.0,3.0 -7179,2023-02-19 20:30:00,0.0,3.0 -7180,2023-02-19 20:40:00,0.0,3.0 -7181,2023-02-19 20:50:00,0.0,3.0 -7188,2023-02-19 22:00:00,0.0,3.0 -7189,2023-02-19 22:10:00,0.0,3.0 -7190,2023-02-19 22:20:00,0.0,3.0 -7191,2023-02-19 22:30:00,0.0,3.0 -7192,2023-02-19 22:40:00,0.0,3.0 -7193,2023-02-19 22:50:00,0.0,3.0 -7194,2023-02-19 23:00:00,0.0,3.0 -7195,2023-02-19 23:10:00,0.0,3.0 -7196,2023-02-19 23:20:00,0.0,3.0 -7197,2023-02-19 23:30:00,0.0,3.0 -7198,2023-02-19 23:40:00,0.0,3.0 -7199,2023-02-19 23:50:00,0.0,3.0 -7206,2023-02-20 01:00:00,0.0,3.0 -7207,2023-02-20 01:10:00,0.0,3.0 -7208,2023-02-20 01:20:00,0.0,3.0 -7209,2023-02-20 01:30:00,0.0,3.0 -7210,2023-02-20 01:40:00,0.0,3.0 -7211,2023-02-20 01:50:00,0.0,3.0 -7212,2023-02-20 02:00:00,0.0,3.0 -7213,2023-02-20 02:10:00,0.0,3.0 -7214,2023-02-20 02:20:00,0.0,3.0 -7215,2023-02-20 02:30:00,0.0,3.0 -7216,2023-02-20 02:40:00,0.0,3.0 -7217,2023-02-20 02:50:00,0.0,3.0 -7218,2023-02-20 03:00:00,0.0,3.0 -7219,2023-02-20 03:10:00,0.0,3.0 -7220,2023-02-20 03:20:00,0.0,3.0 -7221,2023-02-20 03:30:00,0.0,3.0 -7222,2023-02-20 03:40:00,0.0,3.0 -7223,2023-02-20 03:50:00,0.0,3.0 -7242,2023-02-20 07:00:00,0.0,3.0 -7243,2023-02-20 07:10:00,0.0,3.0 -7244,2023-02-20 07:20:00,0.0,3.0 -7245,2023-02-20 07:30:00,0.0,3.0 -7246,2023-02-20 07:40:00,0.0,3.0 -7247,2023-02-20 07:50:00,0.0,3.0 -7248,2023-02-20 08:00:00,0.0,3.0 -7249,2023-02-20 08:10:00,0.0,3.0 -7250,2023-02-20 08:20:00,0.0,3.0 -7251,2023-02-20 08:30:00,0.0,3.0 -7252,2023-02-20 08:40:00,0.0,3.0 -7253,2023-02-20 08:50:00,0.0,3.0 -7254,2023-02-20 09:00:00,0.0,3.0 -7255,2023-02-20 09:10:00,0.0,3.0 -7256,2023-02-20 09:20:00,0.0,3.0 -7257,2023-02-20 09:30:00,0.0,3.0 -7258,2023-02-20 09:40:00,0.0,3.0 -7259,2023-02-20 09:50:00,0.0,3.0 -7260,2023-02-20 10:00:00,0.0,3.0 -7261,2023-02-20 10:10:00,0.0,3.0 -7262,2023-02-20 10:20:00,0.0,3.0 -7263,2023-02-20 10:30:00,0.0,3.0 -7264,2023-02-20 10:40:00,0.0,3.0 -7265,2023-02-20 10:50:00,0.0,3.0 -7272,2023-02-20 12:00:00,0.0,3.0 -7273,2023-02-20 12:10:00,0.0,3.0 -7274,2023-02-20 12:20:00,0.0,3.0 -7275,2023-02-20 12:30:00,0.0,3.0 -7276,2023-02-20 12:40:00,0.0,3.0 -7277,2023-02-20 12:50:00,0.0,3.0 -7290,2023-02-20 15:00:00,0.0,3.0 -7291,2023-02-20 15:10:00,0.0,3.0 -7292,2023-02-20 15:20:00,0.0,3.0 -7293,2023-02-20 15:30:00,0.0,3.0 -7294,2023-02-20 15:40:00,0.0,3.0 -7295,2023-02-20 15:50:00,0.0,3.0 -7296,2023-02-20 16:00:00,0.0,3.0 -7297,2023-02-20 16:10:00,0.0,3.0 -7298,2023-02-20 16:20:00,0.0,3.0 -7299,2023-02-20 16:30:00,0.0,3.0 -7300,2023-02-20 16:40:00,0.0,3.0 -7301,2023-02-20 16:50:00,0.0,3.0 -7326,2023-02-20 21:00:00,0.0,3.0 -7327,2023-02-20 21:10:00,0.0,3.0 -7328,2023-02-20 21:20:00,0.0,3.0 -7329,2023-02-20 21:30:00,0.0,3.0 -7330,2023-02-20 21:40:00,0.0,3.0 -7331,2023-02-20 21:50:00,0.0,3.0 -7332,2023-02-20 22:00:00,0.0,3.0 -7333,2023-02-20 22:10:00,0.0,3.0 -7334,2023-02-20 22:20:00,0.0,3.0 -7335,2023-02-20 22:30:00,0.0,3.0 -7336,2023-02-20 22:40:00,0.0,3.0 -7337,2023-02-20 22:50:00,0.0,3.0 -7344,2023-02-21 00:00:00,0.0,3.0 -7345,2023-02-21 00:10:00,0.0,3.0 -7346,2023-02-21 00:20:00,0.0,3.0 -7347,2023-02-21 00:30:00,0.0,3.0 -7348,2023-02-21 00:40:00,0.0,3.0 -7349,2023-02-21 00:50:00,0.0,3.0 -7356,2023-02-21 02:00:00,0.0,3.0 -7357,2023-02-21 02:10:00,0.0,3.0 -7358,2023-02-21 02:20:00,0.0,3.0 -7359,2023-02-21 02:30:00,0.0,3.0 -7360,2023-02-21 02:40:00,0.0,3.0 -7361,2023-02-21 02:50:00,0.0,3.0 -7362,2023-02-21 03:00:00,0.0,3.0 -7363,2023-02-21 03:10:00,0.0,3.0 -7364,2023-02-21 03:20:00,0.0,3.0 -7365,2023-02-21 03:30:00,0.0,3.0 -7366,2023-02-21 03:40:00,0.0,3.0 -7367,2023-02-21 03:50:00,0.0,3.0 -7368,2023-02-21 04:00:00,0.0,3.0 -7369,2023-02-21 04:10:00,0.0,3.0 -7370,2023-02-21 04:20:00,0.0,3.0 -7371,2023-02-21 04:30:00,0.0,3.0 -7372,2023-02-21 04:40:00,0.0,3.0 -7373,2023-02-21 04:50:00,0.0,3.0 -7380,2023-02-21 06:00:00,0.0,3.0 -7381,2023-02-21 06:10:00,0.0,3.0 -7382,2023-02-21 06:20:00,0.0,3.0 -7383,2023-02-21 06:30:00,0.0,3.0 -7384,2023-02-21 06:40:00,0.0,3.0 -7385,2023-02-21 06:50:00,0.0,3.0 -7416,2023-02-21 12:00:00,0.0,3.0 -7417,2023-02-21 12:10:00,0.0,3.0 -7418,2023-02-21 12:20:00,0.0,3.0 -7419,2023-02-21 12:30:00,0.0,3.0 -7420,2023-02-21 12:40:00,0.0,3.0 -7421,2023-02-21 12:50:00,0.0,3.0 -7422,2023-02-21 13:00:00,0.0,3.0 -7423,2023-02-21 13:10:00,0.0,3.0 -7424,2023-02-21 13:20:00,0.0,3.0 -7425,2023-02-21 13:30:00,0.0,3.0 -7426,2023-02-21 13:40:00,0.0,3.0 -7427,2023-02-21 13:50:00,0.0,3.0 -7434,2023-02-21 15:00:00,0.0,3.0 -7435,2023-02-21 15:10:00,0.0,3.0 -7436,2023-02-21 15:20:00,0.0,3.0 -7437,2023-02-21 15:30:00,0.0,3.0 -7438,2023-02-21 15:40:00,0.0,3.0 -7439,2023-02-21 15:50:00,0.0,3.0 -7440,2023-02-21 16:00:00,0.0,3.0 -7441,2023-02-21 16:10:00,0.0,3.0 -7442,2023-02-21 16:20:00,0.0,3.0 -7443,2023-02-21 16:30:00,0.0,3.0 -7444,2023-02-21 16:40:00,0.0,3.0 -7445,2023-02-21 16:50:00,0.0,3.0 -7446,2023-02-21 17:00:00,0.0,4.0 -7447,2023-02-21 17:10:00,0.0,4.0 -7448,2023-02-21 17:20:00,0.0,4.0 -7449,2023-02-21 17:30:00,0.0,4.0 -7450,2023-02-21 17:40:00,0.0,4.0 -7451,2023-02-21 17:50:00,0.0,4.0 -7464,2023-02-21 20:00:00,0.0,3.0 -7465,2023-02-21 20:10:00,0.0,3.0 -7466,2023-02-21 20:20:00,0.0,3.0 -7467,2023-02-21 20:30:00,0.0,3.0 -7468,2023-02-21 20:40:00,0.0,3.0 -7469,2023-02-21 20:50:00,0.0,3.0 -7488,2023-02-22 00:00:00,0.0,3.0 -7489,2023-02-22 00:10:00,0.0,3.0 -7490,2023-02-22 00:20:00,0.0,3.0 -7491,2023-02-22 00:30:00,0.0,3.0 -7492,2023-02-22 00:40:00,0.0,3.0 -7493,2023-02-22 00:50:00,0.0,3.0 -7524,2023-02-22 06:00:00,0.0,3.0 -7525,2023-02-22 06:10:00,0.0,3.0 -7526,2023-02-22 06:20:00,0.0,3.0 -7527,2023-02-22 06:30:00,0.0,3.0 -7528,2023-02-22 06:40:00,0.0,3.0 -7529,2023-02-22 06:50:00,0.0,3.0 -7542,2023-02-22 09:00:00,0.0,3.0 -7543,2023-02-22 09:10:00,0.0,3.0 -7544,2023-02-22 09:20:00,0.0,3.0 -7545,2023-02-22 09:30:00,0.0,3.0 -7546,2023-02-22 09:40:00,0.0,3.0 -7547,2023-02-22 09:50:00,0.0,3.0 -7548,2023-02-22 10:00:00,0.0,3.0 -7549,2023-02-22 10:10:00,0.0,3.0 -7550,2023-02-22 10:20:00,0.0,3.0 -7551,2023-02-22 10:30:00,0.0,3.0 -7552,2023-02-22 10:40:00,0.0,3.0 -7553,2023-02-22 10:50:00,0.0,3.0 -7566,2023-02-22 13:00:00,0.0,3.0 -7567,2023-02-22 13:10:00,0.0,3.0 -7568,2023-02-22 13:20:00,0.0,3.0 -7569,2023-02-22 13:30:00,0.0,3.0 -7570,2023-02-22 13:40:00,0.0,3.0 -7571,2023-02-22 13:50:00,0.0,3.0 -7596,2023-02-22 18:00:00,0.0,4.0 -7597,2023-02-22 18:10:00,0.0,4.0 -7598,2023-02-22 18:20:00,0.0,4.0 -7599,2023-02-22 18:30:00,0.0,4.0 -7600,2023-02-22 18:40:00,0.0,4.0 -7601,2023-02-22 18:50:00,0.0,4.0 -7602,2023-02-22 19:00:00,0.0,3.0 -7603,2023-02-22 19:10:00,0.0,3.0 -7604,2023-02-22 19:20:00,0.0,3.0 -7605,2023-02-22 19:30:00,0.0,3.0 -7606,2023-02-22 19:40:00,0.0,3.0 -7607,2023-02-22 19:50:00,0.0,3.0 -7614,2023-02-22 21:00:00,0.0,3.0 -7615,2023-02-22 21:10:00,0.0,3.0 -7616,2023-02-22 21:20:00,0.0,3.0 -7617,2023-02-22 21:30:00,0.0,3.0 -7618,2023-02-22 21:40:00,0.0,3.0 -7619,2023-02-22 21:50:00,0.0,3.0 -7650,2023-02-23 03:00:00,0.0,4.0 -7651,2023-02-23 03:10:00,0.0,4.0 -7652,2023-02-23 03:20:00,0.0,4.0 -7653,2023-02-23 03:30:00,0.0,4.0 -7654,2023-02-23 03:40:00,0.0,4.0 -7655,2023-02-23 03:50:00,0.0,4.0 -7662,2023-02-23 05:00:00,0.0,3.0 -7663,2023-02-23 05:10:00,0.0,3.0 -7664,2023-02-23 05:20:00,0.0,3.0 -7665,2023-02-23 05:30:00,0.0,3.0 -7666,2023-02-23 05:40:00,0.0,3.0 -7667,2023-02-23 05:50:00,0.0,3.0 -7668,2023-02-23 06:00:00,0.0,3.0 -7669,2023-02-23 06:10:00,0.0,3.0 -7670,2023-02-23 06:20:00,0.0,3.0 -7671,2023-02-23 06:30:00,0.0,3.0 -7672,2023-02-23 06:40:00,0.0,3.0 -7673,2023-02-23 06:50:00,0.0,3.0 -7674,2023-02-23 07:00:00,0.0,3.0 -7675,2023-02-23 07:10:00,0.0,3.0 -7676,2023-02-23 07:20:00,0.0,3.0 -7677,2023-02-23 07:30:00,0.0,3.0 -7678,2023-02-23 07:40:00,0.0,3.0 -7679,2023-02-23 07:50:00,0.0,3.0 -7680,2023-02-23 08:00:00,0.0,4.0 -7681,2023-02-23 08:10:00,0.0,4.0 -7682,2023-02-23 08:20:00,0.0,4.0 -7683,2023-02-23 08:30:00,0.0,4.0 -7684,2023-02-23 08:40:00,0.0,4.0 -7685,2023-02-23 08:50:00,0.0,4.0 -7698,2023-02-23 11:00:00,0.0,3.0 -7699,2023-02-23 11:10:00,0.0,3.0 -7700,2023-02-23 11:20:00,0.0,3.0 -7701,2023-02-23 11:30:00,0.0,3.0 -7702,2023-02-23 11:40:00,0.0,3.0 -7703,2023-02-23 11:50:00,0.0,3.0 -7710,2023-02-23 13:00:00,0.0,3.0 -7711,2023-02-23 13:10:00,0.0,3.0 -7712,2023-02-23 13:20:00,0.0,3.0 -7713,2023-02-23 13:30:00,0.0,3.0 -7714,2023-02-23 13:40:00,0.0,3.0 -7715,2023-02-23 13:50:00,0.0,3.0 -7716,2023-02-23 14:00:00,0.0,3.0 -7717,2023-02-23 14:10:00,0.0,3.0 -7718,2023-02-23 14:20:00,0.0,3.0 -7719,2023-02-23 14:30:00,0.0,3.0 -7720,2023-02-23 14:40:00,0.0,3.0 -7721,2023-02-23 14:50:00,0.0,3.0 -7722,2023-02-23 15:00:00,0.0,3.0 -7723,2023-02-23 15:10:00,0.0,3.0 -7724,2023-02-23 15:20:00,0.0,3.0 -7725,2023-02-23 15:30:00,0.0,3.0 -7726,2023-02-23 15:40:00,0.0,3.0 -7727,2023-02-23 15:50:00,0.0,3.0 -7746,2023-02-23 19:00:00,0.0,4.0 -7747,2023-02-23 19:10:00,0.0,4.0 -7748,2023-02-23 19:20:00,0.0,4.0 -7749,2023-02-23 19:30:00,0.0,4.0 -7750,2023-02-23 19:40:00,0.0,4.0 -7751,2023-02-23 19:50:00,0.0,4.0 -7752,2023-02-23 20:00:00,0.0,4.0 -7753,2023-02-23 20:10:00,0.0,4.0 -7754,2023-02-23 20:20:00,0.0,4.0 -7755,2023-02-23 20:30:00,0.0,4.0 -7756,2023-02-23 20:40:00,0.0,4.0 -7757,2023-02-23 20:50:00,0.0,4.0 -7758,2023-02-23 21:00:00,0.0,3.0 -7759,2023-02-23 21:10:00,0.0,3.0 -7760,2023-02-23 21:20:00,0.0,3.0 -7761,2023-02-23 21:30:00,0.0,3.0 -7762,2023-02-23 21:40:00,0.0,3.0 -7763,2023-02-23 21:50:00,0.0,3.0 -7770,2023-02-23 23:00:00,0.0,3.0 -7771,2023-02-23 23:10:00,0.0,3.0 -7772,2023-02-23 23:20:00,0.0,3.0 -7773,2023-02-23 23:30:00,0.0,3.0 -7774,2023-02-23 23:40:00,0.0,3.0 -7775,2023-02-23 23:50:00,0.0,3.0 -7782,2023-02-24 01:00:00,0.0,1.0 -7783,2023-02-24 01:10:00,0.0,1.0 -7784,2023-02-24 01:20:00,0.0,1.0 -7785,2023-02-24 01:30:00,0.0,1.0 -7786,2023-02-24 01:40:00,0.0,1.0 -7787,2023-02-24 01:50:00,0.0,1.0 -7794,2023-02-24 03:00:00,0.0,3.0 -7795,2023-02-24 03:10:00,0.0,3.0 -7796,2023-02-24 03:20:00,0.0,3.0 -7797,2023-02-24 03:30:00,0.0,3.0 -7798,2023-02-24 03:40:00,0.0,3.0 -7799,2023-02-24 03:50:00,0.0,3.0 -7818,2023-02-24 07:00:00,0.0,4.0 -7819,2023-02-24 07:10:00,0.0,4.0 -7820,2023-02-24 07:20:00,0.0,4.0 -7821,2023-02-24 07:30:00,0.0,4.0 -7822,2023-02-24 07:40:00,0.0,4.0 -7823,2023-02-24 07:50:00,0.0,4.0 -7848,2023-02-24 12:00:00,0.0,4.0 -7849,2023-02-24 12:10:00,0.0,4.0 -7850,2023-02-24 12:20:00,0.0,4.0 -7851,2023-02-24 12:30:00,0.0,4.0 -7852,2023-02-24 12:40:00,0.0,4.0 -7853,2023-02-24 12:50:00,0.0,4.0 -7854,2023-02-24 13:00:00,0.0,3.0 -7855,2023-02-24 13:10:00,0.0,3.0 -7856,2023-02-24 13:20:00,0.0,3.0 -7857,2023-02-24 13:30:00,0.0,3.0 -7858,2023-02-24 13:40:00,0.0,3.0 -7859,2023-02-24 13:50:00,0.0,3.0 -7872,2023-02-24 16:00:00,0.0,4.0 -7873,2023-02-24 16:10:00,0.0,4.0 -7874,2023-02-24 16:20:00,0.0,4.0 -7875,2023-02-24 16:30:00,0.0,4.0 -7876,2023-02-24 16:40:00,0.0,4.0 -7877,2023-02-24 16:50:00,0.0,4.0 -7878,2023-02-24 17:00:00,0.0,4.0 -7879,2023-02-24 17:10:00,0.0,4.0 -7880,2023-02-24 17:20:00,0.0,4.0 -7881,2023-02-24 17:30:00,0.0,4.0 -7882,2023-02-24 17:40:00,0.0,4.0 -7883,2023-02-24 17:50:00,0.0,4.0 -7884,2023-02-24 18:00:00,0.0,4.0 -7885,2023-02-24 18:10:00,0.0,4.0 -7886,2023-02-24 18:20:00,0.0,4.0 -7887,2023-02-24 18:30:00,0.0,4.0 -7888,2023-02-24 18:40:00,0.0,4.0 -7889,2023-02-24 18:50:00,0.0,4.0 -7890,2023-02-24 19:00:00,0.0,4.0 -7891,2023-02-24 19:10:00,0.0,4.0 -7892,2023-02-24 19:20:00,0.0,4.0 -7893,2023-02-24 19:30:00,0.0,4.0 -7894,2023-02-24 19:40:00,0.0,4.0 -7895,2023-02-24 19:50:00,0.0,4.0 -7908,2023-02-24 22:00:00,0.0,4.0 -7909,2023-02-24 22:10:00,0.0,4.0 -7910,2023-02-24 22:20:00,0.0,4.0 -7911,2023-02-24 22:30:00,0.0,4.0 -7912,2023-02-24 22:40:00,0.0,4.0 -7913,2023-02-24 22:50:00,0.0,4.0 -7926,2023-02-25 01:00:00,0.0,3.0 -7927,2023-02-25 01:10:00,0.0,3.0 -7928,2023-02-25 01:20:00,0.0,3.0 -7929,2023-02-25 01:30:00,0.0,3.0 -7930,2023-02-25 01:40:00,0.0,3.0 -7931,2023-02-25 01:50:00,0.0,3.0 -7938,2023-02-25 03:00:00,0.0,3.0 -7939,2023-02-25 03:10:00,0.0,3.0 -7940,2023-02-25 03:20:00,0.0,3.0 -7941,2023-02-25 03:30:00,0.0,3.0 -7942,2023-02-25 03:40:00,0.0,3.0 -7943,2023-02-25 03:50:00,0.0,3.0 -7944,2023-02-25 04:00:00,0.0,3.0 -7945,2023-02-25 04:10:00,0.0,3.0 -7946,2023-02-25 04:20:00,0.0,3.0 -7947,2023-02-25 04:30:00,0.0,3.0 -7948,2023-02-25 04:40:00,0.0,3.0 -7949,2023-02-25 04:50:00,0.0,3.0 -7950,2023-02-25 05:00:00,0.0,3.0 -7951,2023-02-25 05:10:00,0.0,3.0 -7952,2023-02-25 05:20:00,0.0,3.0 -7953,2023-02-25 05:30:00,0.0,3.0 -7954,2023-02-25 05:40:00,0.0,3.0 -7955,2023-02-25 05:50:00,0.0,3.0 -7968,2023-02-25 08:00:00,0.0,3.0 -7969,2023-02-25 08:10:00,0.0,3.0 -7970,2023-02-25 08:20:00,0.0,3.0 -7971,2023-02-25 08:30:00,0.0,3.0 -7972,2023-02-25 08:40:00,0.0,3.0 -7973,2023-02-25 08:50:00,0.0,3.0 -7974,2023-02-25 09:00:00,0.0,4.0 -7975,2023-02-25 09:10:00,0.0,4.0 -7976,2023-02-25 09:20:00,0.0,4.0 -7977,2023-02-25 09:30:00,0.0,4.0 -7978,2023-02-25 09:40:00,0.0,4.0 -7979,2023-02-25 09:50:00,0.0,4.0 -7986,2023-02-25 11:00:00,0.0,4.0 -7987,2023-02-25 11:10:00,0.0,4.0 -7988,2023-02-25 11:20:00,0.0,4.0 -7989,2023-02-25 11:30:00,0.0,4.0 -7990,2023-02-25 11:40:00,0.0,4.0 -7991,2023-02-25 11:50:00,0.0,4.0 -8010,2023-02-25 15:00:00,0.0,3.0 -8011,2023-02-25 15:10:00,0.0,3.0 -8012,2023-02-25 15:20:00,0.0,3.0 -8013,2023-02-25 15:30:00,0.0,3.0 -8014,2023-02-25 15:40:00,0.0,3.0 -8015,2023-02-25 15:50:00,0.0,3.0 -8034,2023-02-25 19:00:00,0.0,3.0 -8035,2023-02-25 19:10:00,0.0,3.0 -8036,2023-02-25 19:20:00,0.0,3.0 -8037,2023-02-25 19:30:00,0.0,3.0 -8038,2023-02-25 19:40:00,0.0,3.0 -8039,2023-02-25 19:50:00,0.0,3.0 -8040,2023-02-25 20:00:00,0.0,3.0 -8041,2023-02-25 20:10:00,0.0,3.0 -8042,2023-02-25 20:20:00,0.0,3.0 -8043,2023-02-25 20:30:00,0.0,3.0 -8044,2023-02-25 20:40:00,0.0,3.0 -8045,2023-02-25 20:50:00,0.0,3.0 -8046,2023-02-25 21:00:00,0.0,1.0 -8047,2023-02-25 21:10:00,0.0,1.0 -8048,2023-02-25 21:20:00,0.0,1.0 -8049,2023-02-25 21:30:00,0.0,1.0 -8050,2023-02-25 21:40:00,0.0,1.0 -8051,2023-02-25 21:50:00,0.0,1.0 -8052,2023-02-25 22:00:00,0.0,4.0 -8053,2023-02-25 22:10:00,0.0,4.0 -8054,2023-02-25 22:20:00,0.0,4.0 -8055,2023-02-25 22:30:00,0.0,4.0 -8056,2023-02-25 22:40:00,0.0,4.0 -8057,2023-02-25 22:50:00,0.0,4.0 -8064,2023-02-26 00:00:00,0.0,3.0 -8065,2023-02-26 00:10:00,0.0,3.0 -8066,2023-02-26 00:20:00,0.0,3.0 -8067,2023-02-26 00:30:00,0.0,3.0 -8068,2023-02-26 00:40:00,0.0,3.0 -8069,2023-02-26 00:50:00,0.0,3.0 -8082,2023-02-26 03:00:00,0.0,1.0 -8083,2023-02-26 03:10:00,0.0,1.0 -8084,2023-02-26 03:20:00,0.0,1.0 -8085,2023-02-26 03:30:00,0.0,1.0 -8086,2023-02-26 03:40:00,0.0,1.0 -8087,2023-02-26 03:50:00,0.0,1.0 -8100,2023-02-26 06:00:00,0.0,3.0 -8101,2023-02-26 06:10:00,0.0,3.0 -8102,2023-02-26 06:20:00,0.0,3.0 -8103,2023-02-26 06:30:00,0.0,3.0 -8104,2023-02-26 06:40:00,0.0,3.0 -8105,2023-02-26 06:50:00,0.0,3.0 -8106,2023-02-26 07:00:00,0.0,3.0 -8107,2023-02-26 07:10:00,0.0,3.0 -8108,2023-02-26 07:20:00,0.0,3.0 -8109,2023-02-26 07:30:00,0.0,3.0 -8110,2023-02-26 07:40:00,0.0,3.0 -8111,2023-02-26 07:50:00,0.0,3.0 -8112,2023-02-26 08:00:00,0.0,3.0 -8113,2023-02-26 08:10:00,0.0,3.0 -8114,2023-02-26 08:20:00,0.0,3.0 -8115,2023-02-26 08:30:00,0.0,3.0 -8116,2023-02-26 08:40:00,0.0,3.0 -8117,2023-02-26 08:50:00,0.0,3.0 -8118,2023-02-26 09:00:00,0.0,3.0 -8119,2023-02-26 09:10:00,0.0,3.0 -8120,2023-02-26 09:20:00,0.0,3.0 -8121,2023-02-26 09:30:00,0.0,3.0 -8122,2023-02-26 09:40:00,0.0,3.0 -8123,2023-02-26 09:50:00,0.0,3.0 -8130,2023-02-26 11:00:00,0.0,3.0 -8131,2023-02-26 11:10:00,0.0,3.0 -8132,2023-02-26 11:20:00,0.0,3.0 -8133,2023-02-26 11:30:00,0.0,3.0 -8134,2023-02-26 11:40:00,0.0,3.0 -8135,2023-02-26 11:50:00,0.0,3.0 -8178,2023-02-26 19:00:00,0.0,3.0 -8179,2023-02-26 19:10:00,0.0,3.0 -8180,2023-02-26 19:20:00,0.0,3.0 -8181,2023-02-26 19:30:00,0.0,3.0 -8182,2023-02-26 19:40:00,0.0,3.0 -8183,2023-02-26 19:50:00,0.0,3.0 -8220,2023-02-27 02:00:00,0.0,1.0 -8221,2023-02-27 02:10:00,0.0,1.0 -8222,2023-02-27 02:20:00,0.0,1.0 -8223,2023-02-27 02:30:00,0.0,1.0 -8224,2023-02-27 02:40:00,0.0,1.0 -8225,2023-02-27 02:50:00,0.0,1.0 -8226,2023-02-27 03:00:00,0.0,1.0 -8227,2023-02-27 03:10:00,0.0,1.0 -8228,2023-02-27 03:20:00,0.0,1.0 -8229,2023-02-27 03:30:00,0.0,1.0 -8230,2023-02-27 03:40:00,0.0,1.0 -8231,2023-02-27 03:50:00,0.0,1.0 -8238,2023-02-27 05:00:00,0.0,1.0 -8239,2023-02-27 05:10:00,0.0,1.0 -8240,2023-02-27 05:20:00,0.0,1.0 -8241,2023-02-27 05:30:00,0.0,1.0 -8242,2023-02-27 05:40:00,0.0,1.0 -8243,2023-02-27 05:50:00,0.0,1.0 -8250,2023-02-27 07:00:00,0.0,3.0 -8251,2023-02-27 07:10:00,0.0,3.0 -8252,2023-02-27 07:20:00,0.0,3.0 -8253,2023-02-27 07:30:00,0.0,3.0 -8254,2023-02-27 07:40:00,0.0,3.0 -8255,2023-02-27 07:50:00,0.0,3.0 -8262,2023-02-27 09:00:00,0.0,3.0 -8263,2023-02-27 09:10:00,0.0,3.0 -8264,2023-02-27 09:20:00,0.0,3.0 -8265,2023-02-27 09:30:00,0.0,3.0 -8266,2023-02-27 09:40:00,0.0,3.0 -8267,2023-02-27 09:50:00,0.0,3.0 -8268,2023-02-27 10:00:00,0.0,3.0 -8269,2023-02-27 10:10:00,0.0,3.0 -8270,2023-02-27 10:20:00,0.0,3.0 -8271,2023-02-27 10:30:00,0.0,3.0 -8272,2023-02-27 10:40:00,0.0,3.0 -8273,2023-02-27 10:50:00,0.0,3.0 -8298,2023-02-27 15:00:00,0.0,3.0 -8299,2023-02-27 15:10:00,0.0,3.0 -8300,2023-02-27 15:20:00,0.0,3.0 -8301,2023-02-27 15:30:00,0.0,3.0 -8302,2023-02-27 15:40:00,0.0,3.0 -8303,2023-02-27 15:50:00,0.0,3.0 -8316,2023-02-27 18:00:00,0.0,3.0 -8317,2023-02-27 18:10:00,0.0,3.0 -8318,2023-02-27 18:20:00,0.0,3.0 -8319,2023-02-27 18:30:00,0.0,3.0 -8320,2023-02-27 18:40:00,0.0,3.0 -8321,2023-02-27 18:50:00,0.0,3.0 -8328,2023-02-27 20:00:00,0.0,1.0 -8329,2023-02-27 20:10:00,0.0,1.0 -8330,2023-02-27 20:20:00,0.0,1.0 -8331,2023-02-27 20:30:00,0.0,1.0 -8332,2023-02-27 20:40:00,0.0,1.0 -8333,2023-02-27 20:50:00,0.0,1.0 -8334,2023-02-27 21:00:00,0.0,1.0 -8335,2023-02-27 21:10:00,0.0,1.0 -8336,2023-02-27 21:20:00,0.0,1.0 -8337,2023-02-27 21:30:00,0.0,1.0 -8338,2023-02-27 21:40:00,0.0,1.0 -8339,2023-02-27 21:50:00,0.0,1.0 -8346,2023-02-27 23:00:00,0.0,3.0 -8347,2023-02-27 23:10:00,0.0,3.0 -8348,2023-02-27 23:20:00,0.0,3.0 -8349,2023-02-27 23:30:00,0.0,3.0 -8350,2023-02-27 23:40:00,0.0,3.0 -8351,2023-02-27 23:50:00,0.0,3.0 -8370,2023-02-28 03:00:00,0.0,3.0 -8371,2023-02-28 03:10:00,0.0,3.0 -8372,2023-02-28 03:20:00,0.0,3.0 -8373,2023-02-28 03:30:00,0.0,3.0 -8374,2023-02-28 03:40:00,0.0,3.0 -8375,2023-02-28 03:50:00,0.0,3.0 -8376,2023-02-28 04:00:00,0.0,3.0 -8377,2023-02-28 04:10:00,0.0,3.0 -8378,2023-02-28 04:20:00,0.0,3.0 -8379,2023-02-28 04:30:00,0.0,3.0 -8380,2023-02-28 04:40:00,0.0,3.0 -8381,2023-02-28 04:50:00,0.0,3.0 -8382,2023-02-28 05:00:00,0.0,4.0 -8383,2023-02-28 05:10:00,0.0,4.0 -8384,2023-02-28 05:20:00,0.0,4.0 -8385,2023-02-28 05:30:00,0.0,4.0 -8386,2023-02-28 05:40:00,0.0,4.0 -8387,2023-02-28 05:50:00,0.0,4.0 -8388,2023-02-28 06:00:00,0.0,3.0 -8389,2023-02-28 06:10:00,0.0,3.0 -8390,2023-02-28 06:20:00,0.0,3.0 -8391,2023-02-28 06:30:00,0.0,3.0 -8392,2023-02-28 06:40:00,0.0,3.0 -8393,2023-02-28 06:50:00,0.0,3.0 -8412,2023-02-28 10:00:00,0.0,3.0 -8413,2023-02-28 10:10:00,0.0,3.0 -8414,2023-02-28 10:20:00,0.0,3.0 -8415,2023-02-28 10:30:00,0.0,3.0 -8416,2023-02-28 10:40:00,0.0,3.0 -8417,2023-02-28 10:50:00,0.0,3.0 -8424,2023-02-28 12:00:00,0.0,3.0 -8425,2023-02-28 12:10:00,0.0,3.0 -8426,2023-02-28 12:20:00,0.0,3.0 -8427,2023-02-28 12:30:00,0.0,3.0 -8428,2023-02-28 12:40:00,0.0,3.0 -8429,2023-02-28 12:50:00,0.0,3.0 -8436,2023-02-28 14:00:00,0.0,3.0 -8437,2023-02-28 14:10:00,0.0,3.0 -8438,2023-02-28 14:20:00,0.0,3.0 -8439,2023-02-28 14:30:00,0.0,3.0 -8440,2023-02-28 14:40:00,0.0,3.0 -8441,2023-02-28 14:50:00,0.0,3.0 -8454,2023-02-28 17:00:00,0.0,3.0 -8455,2023-02-28 17:10:00,0.0,3.0 -8456,2023-02-28 17:20:00,0.0,3.0 -8457,2023-02-28 17:30:00,0.0,3.0 -8458,2023-02-28 17:40:00,0.0,3.0 -8459,2023-02-28 17:50:00,0.0,3.0 -8460,2023-02-28 18:00:00,0.0,3.0 -8461,2023-02-28 18:10:00,0.0,3.0 -8462,2023-02-28 18:20:00,0.0,3.0 -8463,2023-02-28 18:30:00,0.0,3.0 -8464,2023-02-28 18:40:00,0.0,3.0 -8465,2023-02-28 18:50:00,0.0,3.0 -8466,2023-02-28 19:00:00,0.0,3.0 -8467,2023-02-28 19:10:00,0.0,3.0 -8468,2023-02-28 19:20:00,0.0,3.0 -8469,2023-02-28 19:30:00,0.0,3.0 -8470,2023-02-28 19:40:00,0.0,3.0 -8471,2023-02-28 19:50:00,0.0,3.0 -8472,2023-02-28 20:00:00,0.0,3.0 -8473,2023-02-28 20:10:00,0.0,3.0 -8474,2023-02-28 20:20:00,0.0,3.0 -8475,2023-02-28 20:30:00,0.0,3.0 -8476,2023-02-28 20:40:00,0.0,3.0 -8477,2023-02-28 20:50:00,0.0,3.0 -8478,2023-02-28 21:00:00,0.0,1.0 -8479,2023-02-28 21:10:00,0.0,1.0 -8480,2023-02-28 21:20:00,0.0,1.0 -8481,2023-02-28 21:30:00,0.0,1.0 -8482,2023-02-28 21:40:00,0.0,1.0 -8483,2023-02-28 21:50:00,0.0,1.0 -8484,2023-02-28 22:00:00,0.0,1.0 -8485,2023-02-28 22:10:00,0.0,1.0 -8486,2023-02-28 22:20:00,0.0,1.0 -8487,2023-02-28 22:30:00,0.0,1.0 -8488,2023-02-28 22:40:00,0.0,1.0 -8489,2023-02-28 22:50:00,0.0,1.0 -8502,2023-03-01 01:00:00,0.0,1.0 -8503,2023-03-01 01:10:00,0.0,1.0 -8504,2023-03-01 01:20:00,0.0,1.0 -8505,2023-03-01 01:30:00,0.0,1.0 -8506,2023-03-01 01:40:00,0.0,1.0 -8507,2023-03-01 01:50:00,0.0,1.0 -8508,2023-03-01 02:00:00,0.0,3.0 -8509,2023-03-01 02:10:00,0.0,3.0 -8510,2023-03-01 02:20:00,0.0,3.0 -8511,2023-03-01 02:30:00,0.0,3.0 -8512,2023-03-01 02:40:00,0.0,3.0 -8513,2023-03-01 02:50:00,0.0,3.0 -8520,2023-03-01 04:00:00,0.0,1.0 -8521,2023-03-01 04:10:00,0.0,1.0 -8522,2023-03-01 04:20:00,0.0,1.0 -8523,2023-03-01 04:30:00,0.0,1.0 -8524,2023-03-01 04:40:00,0.0,1.0 -8525,2023-03-01 04:50:00,0.0,1.0 -8532,2023-03-01 06:00:00,0.0,1.0 -8533,2023-03-01 06:10:00,0.0,1.0 -8534,2023-03-01 06:20:00,0.0,1.0 -8535,2023-03-01 06:30:00,0.0,1.0 -8536,2023-03-01 06:40:00,0.0,1.0 -8537,2023-03-01 06:50:00,0.0,1.0 -8544,2023-03-01 08:00:00,0.0,3.0 -8545,2023-03-01 08:10:00,0.0,3.0 -8546,2023-03-01 08:20:00,0.0,3.0 -8547,2023-03-01 08:30:00,0.0,3.0 -8548,2023-03-01 08:40:00,0.0,3.0 -8549,2023-03-01 08:50:00,0.0,3.0 -8550,2023-03-01 09:00:00,0.0,3.0 -8551,2023-03-01 09:10:00,0.0,3.0 -8552,2023-03-01 09:20:00,0.0,3.0 -8553,2023-03-01 09:30:00,0.0,3.0 -8554,2023-03-01 09:40:00,0.0,3.0 -8555,2023-03-01 09:50:00,0.0,3.0 -8556,2023-03-01 10:00:00,0.0,3.0 -8557,2023-03-01 10:10:00,0.0,3.0 -8558,2023-03-01 10:20:00,0.0,3.0 -8559,2023-03-01 10:30:00,0.0,3.0 -8560,2023-03-01 10:40:00,0.0,3.0 -8561,2023-03-01 10:50:00,0.0,3.0 -8562,2023-03-01 11:00:00,0.0,3.0 -8563,2023-03-01 11:10:00,0.0,3.0 -8564,2023-03-01 11:20:00,0.0,3.0 -8565,2023-03-01 11:30:00,0.0,3.0 -8566,2023-03-01 11:40:00,0.0,3.0 -8567,2023-03-01 11:50:00,0.0,3.0 -8574,2023-03-01 13:00:00,0.0,3.0 -8575,2023-03-01 13:10:00,0.0,3.0 -8576,2023-03-01 13:20:00,0.0,3.0 -8577,2023-03-01 13:30:00,0.0,3.0 -8578,2023-03-01 13:40:00,0.0,3.0 -8579,2023-03-01 13:50:00,0.0,3.0 -8580,2023-03-01 14:00:00,0.0,3.0 -8581,2023-03-01 14:10:00,0.0,3.0 -8582,2023-03-01 14:20:00,0.0,3.0 -8583,2023-03-01 14:30:00,0.0,3.0 -8584,2023-03-01 14:40:00,0.0,3.0 -8585,2023-03-01 14:50:00,0.0,3.0 -8586,2023-03-01 15:00:00,0.0,3.0 -8587,2023-03-01 15:10:00,0.0,3.0 -8588,2023-03-01 15:20:00,0.0,3.0 -8589,2023-03-01 15:30:00,0.0,3.0 -8590,2023-03-01 15:40:00,0.0,3.0 -8591,2023-03-01 15:50:00,0.0,3.0 -8592,2023-03-01 16:00:00,0.0,3.0 -8593,2023-03-01 16:10:00,0.0,3.0 -8594,2023-03-01 16:20:00,0.0,3.0 -8595,2023-03-01 16:30:00,0.0,3.0 -8596,2023-03-01 16:40:00,0.0,3.0 -8597,2023-03-01 16:50:00,0.0,3.0 -8598,2023-03-01 17:00:00,0.0,3.0 -8599,2023-03-01 17:10:00,0.0,3.0 -8600,2023-03-01 17:20:00,0.0,3.0 -8601,2023-03-01 17:30:00,0.0,3.0 -8602,2023-03-01 17:40:00,0.0,3.0 -8603,2023-03-01 17:50:00,0.0,3.0 -8604,2023-03-01 18:00:00,0.0,3.0 -8605,2023-03-01 18:10:00,0.0,3.0 -8606,2023-03-01 18:20:00,0.0,3.0 -8607,2023-03-01 18:30:00,0.0,3.0 -8608,2023-03-01 18:40:00,0.0,3.0 -8609,2023-03-01 18:50:00,0.0,3.0 -8640,2023-03-02 00:00:00,0.0,3.0 -8641,2023-03-02 00:10:00,0.0,3.0 -8642,2023-03-02 00:20:00,0.0,3.0 -8643,2023-03-02 00:30:00,0.0,3.0 -8644,2023-03-02 00:40:00,0.0,3.0 -8645,2023-03-02 00:50:00,0.0,3.0 -8664,2023-03-02 04:00:00,0.0,3.0 -8665,2023-03-02 04:10:00,0.0,3.0 -8666,2023-03-02 04:20:00,0.0,3.0 -8667,2023-03-02 04:30:00,0.0,3.0 -8668,2023-03-02 04:40:00,0.0,3.0 -8669,2023-03-02 04:50:00,0.0,3.0 -8682,2023-03-02 07:00:00,0.0,3.0 -8683,2023-03-02 07:10:00,0.0,3.0 -8684,2023-03-02 07:20:00,0.0,3.0 -8685,2023-03-02 07:30:00,0.0,3.0 -8686,2023-03-02 07:40:00,0.0,3.0 -8687,2023-03-02 07:50:00,0.0,3.0 -8688,2023-03-02 08:00:00,0.0,3.0 -8689,2023-03-02 08:10:00,0.0,3.0 -8690,2023-03-02 08:20:00,0.0,3.0 -8691,2023-03-02 08:30:00,0.0,3.0 -8692,2023-03-02 08:40:00,0.0,3.0 -8693,2023-03-02 08:50:00,0.0,3.0 -8694,2023-03-02 09:00:00,0.0,3.0 -8695,2023-03-02 09:10:00,0.0,3.0 -8696,2023-03-02 09:20:00,0.0,3.0 -8697,2023-03-02 09:30:00,0.0,3.0 -8698,2023-03-02 09:40:00,0.0,3.0 -8699,2023-03-02 09:50:00,0.0,3.0 -8700,2023-03-02 10:00:00,0.0,3.0 -8701,2023-03-02 10:10:00,0.0,3.0 -8702,2023-03-02 10:20:00,0.0,3.0 -8703,2023-03-02 10:30:00,0.0,3.0 -8704,2023-03-02 10:40:00,0.0,3.0 -8705,2023-03-02 10:50:00,0.0,3.0 -8706,2023-03-02 11:00:00,0.0,3.0 -8707,2023-03-02 11:10:00,0.0,3.0 -8708,2023-03-02 11:20:00,0.0,3.0 -8709,2023-03-02 11:30:00,0.0,3.0 -8710,2023-03-02 11:40:00,0.0,3.0 -8711,2023-03-02 11:50:00,0.0,3.0 -8724,2023-03-02 14:00:00,0.0,3.0 -8725,2023-03-02 14:10:00,0.0,3.0 -8726,2023-03-02 14:20:00,0.0,3.0 -8727,2023-03-02 14:30:00,0.0,3.0 -8728,2023-03-02 14:40:00,0.0,3.0 -8729,2023-03-02 14:50:00,0.0,3.0 -8730,2023-03-02 15:00:00,0.0,3.0 -8731,2023-03-02 15:10:00,0.0,3.0 -8732,2023-03-02 15:20:00,0.0,3.0 -8733,2023-03-02 15:30:00,0.0,3.0 -8734,2023-03-02 15:40:00,0.0,3.0 -8735,2023-03-02 15:50:00,0.0,3.0 -8742,2023-03-02 17:00:00,0.0,3.0 -8743,2023-03-02 17:10:00,0.0,3.0 -8744,2023-03-02 17:20:00,0.0,3.0 -8745,2023-03-02 17:30:00,0.0,3.0 -8746,2023-03-02 17:40:00,0.0,3.0 -8747,2023-03-02 17:50:00,0.0,3.0 -8760,2023-03-02 20:00:00,0.0,3.0 -8761,2023-03-02 20:10:00,0.0,3.0 -8762,2023-03-02 20:20:00,0.0,3.0 -8763,2023-03-02 20:30:00,0.0,3.0 -8764,2023-03-02 20:40:00,0.0,3.0 -8765,2023-03-02 20:50:00,0.0,3.0 -8772,2023-03-02 22:00:00,0.0,3.0 -8773,2023-03-02 22:10:00,0.0,3.0 -8774,2023-03-02 22:20:00,0.0,3.0 -8775,2023-03-02 22:30:00,0.0,3.0 -8776,2023-03-02 22:40:00,0.0,3.0 -8777,2023-03-02 22:50:00,0.0,3.0 -8784,2023-03-03 00:00:00,0.0,3.0 -8785,2023-03-03 00:10:00,0.0,3.0 -8786,2023-03-03 00:20:00,0.0,3.0 -8787,2023-03-03 00:30:00,0.0,3.0 -8788,2023-03-03 00:40:00,0.0,3.0 -8789,2023-03-03 00:50:00,0.0,3.0 -8796,2023-03-03 02:00:00,0.0,3.0 -8797,2023-03-03 02:10:00,0.0,3.0 -8798,2023-03-03 02:20:00,0.0,3.0 -8799,2023-03-03 02:30:00,0.0,3.0 -8800,2023-03-03 02:40:00,0.0,3.0 -8801,2023-03-03 02:50:00,0.0,3.0 -8802,2023-03-03 03:00:00,0.0,3.0 -8803,2023-03-03 03:10:00,0.0,3.0 -8804,2023-03-03 03:20:00,0.0,3.0 -8805,2023-03-03 03:30:00,0.0,3.0 -8806,2023-03-03 03:40:00,0.0,3.0 -8807,2023-03-03 03:50:00,0.0,3.0 -8808,2023-03-03 04:00:00,0.0,1.0 -8809,2023-03-03 04:10:00,0.0,1.0 -8810,2023-03-03 04:20:00,0.0,1.0 -8811,2023-03-03 04:30:00,0.0,1.0 -8812,2023-03-03 04:40:00,0.0,1.0 -8813,2023-03-03 04:50:00,0.0,1.0 -8814,2023-03-03 05:00:00,0.0,1.0 -8815,2023-03-03 05:10:00,0.0,1.0 -8816,2023-03-03 05:20:00,0.0,1.0 -8817,2023-03-03 05:30:00,0.0,1.0 -8818,2023-03-03 05:40:00,0.0,1.0 -8819,2023-03-03 05:50:00,0.0,1.0 -8826,2023-03-03 07:00:00,0.0,3.0 -8827,2023-03-03 07:10:00,0.0,3.0 -8828,2023-03-03 07:20:00,0.0,3.0 -8829,2023-03-03 07:30:00,0.0,3.0 -8830,2023-03-03 07:40:00,0.0,3.0 -8831,2023-03-03 07:50:00,0.0,3.0 -8850,2023-03-03 11:00:00,0.0,3.0 -8851,2023-03-03 11:10:00,0.0,3.0 -8852,2023-03-03 11:20:00,0.0,3.0 -8853,2023-03-03 11:30:00,0.0,3.0 -8854,2023-03-03 11:40:00,0.0,3.0 -8855,2023-03-03 11:50:00,0.0,3.0 -8868,2023-03-03 14:00:00,0.0,3.0 -8869,2023-03-03 14:10:00,0.0,3.0 -8870,2023-03-03 14:20:00,0.0,3.0 -8871,2023-03-03 14:30:00,0.0,3.0 -8872,2023-03-03 14:40:00,0.0,3.0 -8873,2023-03-03 14:50:00,0.0,3.0 -8880,2023-03-03 16:00:00,0.0,3.0 -8881,2023-03-03 16:10:00,0.0,3.0 -8882,2023-03-03 16:20:00,0.0,3.0 -8883,2023-03-03 16:30:00,0.0,3.0 -8884,2023-03-03 16:40:00,0.0,3.0 -8885,2023-03-03 16:50:00,0.0,3.0 -8886,2023-03-03 17:00:00,0.0,3.0 -8887,2023-03-03 17:10:00,0.0,3.0 -8888,2023-03-03 17:20:00,0.0,3.0 -8889,2023-03-03 17:30:00,0.0,3.0 -8890,2023-03-03 17:40:00,0.0,3.0 -8891,2023-03-03 17:50:00,0.0,3.0 -8892,2023-03-03 18:00:00,0.0,3.0 -8893,2023-03-03 18:10:00,0.0,3.0 -8894,2023-03-03 18:20:00,0.0,3.0 -8895,2023-03-03 18:30:00,0.0,3.0 -8896,2023-03-03 18:40:00,0.0,3.0 -8897,2023-03-03 18:50:00,0.0,3.0 -8904,2023-03-03 20:00:00,0.0,3.0 -8905,2023-03-03 20:10:00,0.0,3.0 -8906,2023-03-03 20:20:00,0.0,3.0 -8907,2023-03-03 20:30:00,0.0,3.0 -8908,2023-03-03 20:40:00,0.0,3.0 -8909,2023-03-03 20:50:00,0.0,3.0 -8910,2023-03-03 21:00:00,0.0,3.0 -8911,2023-03-03 21:10:00,0.0,3.0 -8912,2023-03-03 21:20:00,0.0,3.0 -8913,2023-03-03 21:30:00,0.0,3.0 -8914,2023-03-03 21:40:00,0.0,3.0 -8915,2023-03-03 21:50:00,0.0,3.0 -8922,2023-03-03 23:00:00,0.0,3.0 -8923,2023-03-03 23:10:00,0.0,3.0 -8924,2023-03-03 23:20:00,0.0,3.0 -8925,2023-03-03 23:30:00,0.0,3.0 -8926,2023-03-03 23:40:00,0.0,3.0 -8927,2023-03-03 23:50:00,0.0,3.0 -8928,2023-03-04 00:00:00,0.0,3.0 -8929,2023-03-04 00:10:00,0.0,3.0 -8930,2023-03-04 00:20:00,0.0,3.0 -8931,2023-03-04 00:30:00,0.0,3.0 -8932,2023-03-04 00:40:00,0.0,3.0 -8933,2023-03-04 00:50:00,0.0,3.0 -8958,2023-03-04 05:00:00,0.0,3.0 -8959,2023-03-04 05:10:00,0.0,3.0 -8960,2023-03-04 05:20:00,0.0,3.0 -8961,2023-03-04 05:30:00,0.0,3.0 -8962,2023-03-04 05:40:00,0.0,3.0 -8963,2023-03-04 05:50:00,0.0,3.0 -8964,2023-03-04 06:00:00,0.0,4.0 -8965,2023-03-04 06:10:00,0.0,4.0 -8966,2023-03-04 06:20:00,0.0,4.0 -8967,2023-03-04 06:30:00,0.0,4.0 -8968,2023-03-04 06:40:00,0.0,4.0 -8969,2023-03-04 06:50:00,0.0,4.0 -8970,2023-03-04 07:00:00,0.0,3.0 -8971,2023-03-04 07:10:00,0.0,3.0 -8972,2023-03-04 07:20:00,0.0,3.0 -8973,2023-03-04 07:30:00,0.0,3.0 -8974,2023-03-04 07:40:00,0.0,3.0 -8975,2023-03-04 07:50:00,0.0,3.0 -9000,2023-03-04 12:00:00,0.0,3.0 -9001,2023-03-04 12:10:00,0.0,3.0 -9002,2023-03-04 12:20:00,0.0,3.0 -9003,2023-03-04 12:30:00,0.0,3.0 -9004,2023-03-04 12:40:00,0.0,3.0 -9005,2023-03-04 12:50:00,0.0,3.0 -9006,2023-03-04 13:00:00,0.0,3.0 -9007,2023-03-04 13:10:00,0.0,3.0 -9008,2023-03-04 13:20:00,0.0,3.0 -9009,2023-03-04 13:30:00,0.0,3.0 -9010,2023-03-04 13:40:00,0.0,3.0 -9011,2023-03-04 13:50:00,0.0,3.0 -9018,2023-03-04 15:00:00,0.0,4.0 -9019,2023-03-04 15:10:00,0.0,4.0 -9020,2023-03-04 15:20:00,0.0,4.0 -9021,2023-03-04 15:30:00,0.0,4.0 -9022,2023-03-04 15:40:00,0.0,4.0 -9023,2023-03-04 15:50:00,0.0,4.0 -9030,2023-03-04 17:00:00,0.0,3.0 -9031,2023-03-04 17:10:00,0.0,3.0 -9032,2023-03-04 17:20:00,0.0,3.0 -9033,2023-03-04 17:30:00,0.0,3.0 -9034,2023-03-04 17:40:00,0.0,3.0 -9035,2023-03-04 17:50:00,0.0,3.0 -9036,2023-03-04 18:00:00,0.0,4.0 -9037,2023-03-04 18:10:00,0.0,4.0 -9038,2023-03-04 18:20:00,0.0,4.0 -9039,2023-03-04 18:30:00,0.0,4.0 -9040,2023-03-04 18:40:00,0.0,4.0 -9041,2023-03-04 18:50:00,0.0,4.0 -9054,2023-03-04 21:00:00,0.0,4.0 -9055,2023-03-04 21:10:00,0.0,4.0 -9056,2023-03-04 21:20:00,0.0,4.0 -9057,2023-03-04 21:30:00,0.0,4.0 -9058,2023-03-04 21:40:00,0.0,4.0 -9059,2023-03-04 21:50:00,0.0,4.0 -9108,2023-03-05 06:00:00,0.0,4.0 -9109,2023-03-05 06:10:00,0.0,4.0 -9110,2023-03-05 06:20:00,0.0,4.0 -9111,2023-03-05 06:30:00,0.0,4.0 -9112,2023-03-05 06:40:00,0.0,4.0 -9113,2023-03-05 06:50:00,0.0,4.0 -9114,2023-03-05 07:00:00,0.0,4.0 -9115,2023-03-05 07:10:00,0.0,4.0 -9116,2023-03-05 07:20:00,0.0,4.0 -9117,2023-03-05 07:30:00,0.0,4.0 -9118,2023-03-05 07:40:00,0.0,4.0 -9119,2023-03-05 07:50:00,0.0,4.0 -9126,2023-03-05 09:00:00,0.0,3.0 -9127,2023-03-05 09:10:00,0.0,3.0 -9128,2023-03-05 09:20:00,0.0,3.0 -9129,2023-03-05 09:30:00,0.0,3.0 -9130,2023-03-05 09:40:00,0.0,3.0 -9131,2023-03-05 09:50:00,0.0,3.0 -9132,2023-03-05 10:00:00,0.0,4.0 -9133,2023-03-05 10:10:00,0.0,4.0 -9134,2023-03-05 10:20:00,0.0,4.0 -9135,2023-03-05 10:30:00,0.0,4.0 -9136,2023-03-05 10:40:00,0.0,4.0 -9137,2023-03-05 10:50:00,0.0,4.0 -9156,2023-03-05 14:00:00,0.0,3.0 -9157,2023-03-05 14:10:00,0.0,3.0 -9158,2023-03-05 14:20:00,0.0,3.0 -9159,2023-03-05 14:30:00,0.0,3.0 -9160,2023-03-05 14:40:00,0.0,3.0 -9161,2023-03-05 14:50:00,0.0,3.0 -9168,2023-03-05 16:00:00,0.0,3.0 -9169,2023-03-05 16:10:00,0.0,3.0 -9170,2023-03-05 16:20:00,0.0,3.0 -9171,2023-03-05 16:30:00,0.0,3.0 -9172,2023-03-05 16:40:00,0.0,3.0 -9173,2023-03-05 16:50:00,0.0,3.0 -9174,2023-03-05 17:00:00,0.0,3.0 -9175,2023-03-05 17:10:00,0.0,3.0 -9176,2023-03-05 17:20:00,0.0,3.0 -9177,2023-03-05 17:30:00,0.0,3.0 -9178,2023-03-05 17:40:00,0.0,3.0 -9179,2023-03-05 17:50:00,0.0,3.0 -9186,2023-03-05 19:00:00,0.0,4.0 -9187,2023-03-05 19:10:00,0.0,4.0 -9188,2023-03-05 19:20:00,0.0,4.0 -9189,2023-03-05 19:30:00,0.0,4.0 -9190,2023-03-05 19:40:00,0.0,4.0 -9191,2023-03-05 19:50:00,0.0,4.0 -9192,2023-03-05 20:00:00,0.0,3.0 -9193,2023-03-05 20:10:00,0.0,3.0 -9194,2023-03-05 20:20:00,0.0,3.0 -9195,2023-03-05 20:30:00,0.0,3.0 -9196,2023-03-05 20:40:00,0.0,3.0 -9197,2023-03-05 20:50:00,0.0,3.0 -9204,2023-03-05 22:00:00,0.0,3.0 -9205,2023-03-05 22:10:00,0.0,3.0 -9206,2023-03-05 22:20:00,0.0,3.0 -9207,2023-03-05 22:30:00,0.0,3.0 -9208,2023-03-05 22:40:00,0.0,3.0 -9209,2023-03-05 22:50:00,0.0,3.0 -9210,2023-03-05 23:00:00,0.0,3.0 -9211,2023-03-05 23:10:00,0.0,3.0 -9212,2023-03-05 23:20:00,0.0,3.0 -9213,2023-03-05 23:30:00,0.0,3.0 -9214,2023-03-05 23:40:00,0.0,3.0 -9215,2023-03-05 23:50:00,0.0,3.0 -9222,2023-03-06 01:00:00,0.0,4.0 -9223,2023-03-06 01:10:00,0.0,4.0 -9224,2023-03-06 01:20:00,0.0,4.0 -9225,2023-03-06 01:30:00,0.0,4.0 -9226,2023-03-06 01:40:00,0.0,4.0 -9227,2023-03-06 01:50:00,0.0,4.0 -9234,2023-03-06 03:00:00,0.0,3.0 -9235,2023-03-06 03:10:00,0.0,3.0 -9236,2023-03-06 03:20:00,0.0,3.0 -9237,2023-03-06 03:30:00,0.0,3.0 -9238,2023-03-06 03:40:00,0.0,3.0 -9239,2023-03-06 03:50:00,0.0,3.0 -9240,2023-03-06 04:00:00,0.0,3.0 -9241,2023-03-06 04:10:00,0.0,3.0 -9242,2023-03-06 04:20:00,0.0,3.0 -9243,2023-03-06 04:30:00,0.0,3.0 -9244,2023-03-06 04:40:00,0.0,3.0 -9245,2023-03-06 04:50:00,0.0,3.0 -9258,2023-03-06 07:00:00,0.0,3.0 -9259,2023-03-06 07:10:00,0.0,3.0 -9260,2023-03-06 07:20:00,0.0,3.0 -9261,2023-03-06 07:30:00,0.0,3.0 -9262,2023-03-06 07:40:00,0.0,3.0 -9263,2023-03-06 07:50:00,0.0,3.0 -9264,2023-03-06 08:00:00,0.0,3.0 -9265,2023-03-06 08:10:00,0.0,3.0 -9266,2023-03-06 08:20:00,0.0,3.0 -9267,2023-03-06 08:30:00,0.0,3.0 -9268,2023-03-06 08:40:00,0.0,3.0 -9269,2023-03-06 08:50:00,0.0,3.0 -9276,2023-03-06 10:00:00,0.0,3.0 -9277,2023-03-06 10:10:00,0.0,3.0 -9278,2023-03-06 10:20:00,0.0,3.0 -9279,2023-03-06 10:30:00,0.0,3.0 -9280,2023-03-06 10:40:00,0.0,3.0 -9281,2023-03-06 10:50:00,0.0,3.0 -9282,2023-03-06 11:00:00,0.0,4.0 -9283,2023-03-06 11:10:00,0.0,4.0 -9284,2023-03-06 11:20:00,0.0,4.0 -9285,2023-03-06 11:30:00,0.0,4.0 -9286,2023-03-06 11:40:00,0.0,4.0 -9287,2023-03-06 11:50:00,0.0,4.0 -9288,2023-03-06 12:00:00,0.0,3.0 -9289,2023-03-06 12:10:00,0.0,3.0 -9290,2023-03-06 12:20:00,0.0,3.0 -9291,2023-03-06 12:30:00,0.0,3.0 -9292,2023-03-06 12:40:00,0.0,3.0 -9293,2023-03-06 12:50:00,0.0,3.0 -9300,2023-03-06 14:00:00,0.0,4.0 -9301,2023-03-06 14:10:00,0.0,4.0 -9302,2023-03-06 14:20:00,0.0,4.0 -9303,2023-03-06 14:30:00,0.0,4.0 -9304,2023-03-06 14:40:00,0.0,4.0 -9305,2023-03-06 14:50:00,0.0,4.0 -9306,2023-03-06 15:00:00,0.0,4.0 -9307,2023-03-06 15:10:00,0.0,4.0 -9308,2023-03-06 15:20:00,0.0,4.0 -9309,2023-03-06 15:30:00,0.0,4.0 -9310,2023-03-06 15:40:00,0.0,4.0 -9311,2023-03-06 15:50:00,0.0,4.0 -9324,2023-03-06 18:00:00,0.0,4.0 -9325,2023-03-06 18:10:00,0.0,4.0 -9326,2023-03-06 18:20:00,0.0,4.0 -9327,2023-03-06 18:30:00,0.0,4.0 -9328,2023-03-06 18:40:00,0.0,4.0 -9329,2023-03-06 18:50:00,0.0,4.0 -9336,2023-03-06 20:00:00,0.0,4.0 -9337,2023-03-06 20:10:00,0.0,4.0 -9338,2023-03-06 20:20:00,0.0,4.0 -9339,2023-03-06 20:30:00,0.0,4.0 -9340,2023-03-06 20:40:00,0.0,4.0 -9341,2023-03-06 20:50:00,0.0,4.0 -9348,2023-03-06 22:00:00,0.0,4.0 -9349,2023-03-06 22:10:00,0.0,4.0 -9350,2023-03-06 22:20:00,0.0,4.0 -9351,2023-03-06 22:30:00,0.0,4.0 -9352,2023-03-06 22:40:00,0.0,4.0 -9353,2023-03-06 22:50:00,0.0,4.0 -9360,2023-03-07 00:00:00,0.0,4.0 -9361,2023-03-07 00:10:00,0.0,4.0 -9362,2023-03-07 00:20:00,0.0,4.0 -9363,2023-03-07 00:30:00,0.0,4.0 -9364,2023-03-07 00:40:00,0.0,4.0 -9365,2023-03-07 00:50:00,0.0,4.0 -9378,2023-03-07 03:00:00,0.0,4.0 -9379,2023-03-07 03:10:00,0.0,4.0 -9380,2023-03-07 03:20:00,0.0,4.0 -9381,2023-03-07 03:30:00,0.0,4.0 -9382,2023-03-07 03:40:00,0.0,4.0 -9383,2023-03-07 03:50:00,0.0,4.0 -9396,2023-03-07 06:00:00,0.0,4.0 -9397,2023-03-07 06:10:00,0.0,4.0 -9398,2023-03-07 06:20:00,0.0,4.0 -9399,2023-03-07 06:30:00,0.0,4.0 -9400,2023-03-07 06:40:00,0.0,4.0 -9401,2023-03-07 06:50:00,0.0,4.0 -9408,2023-03-07 08:00:00,0.0,4.0 -9409,2023-03-07 08:10:00,0.0,4.0 -9410,2023-03-07 08:20:00,0.0,4.0 -9411,2023-03-07 08:30:00,0.0,4.0 -9412,2023-03-07 08:40:00,0.0,4.0 -9413,2023-03-07 08:50:00,0.0,4.0 -9420,2023-03-07 10:00:00,0.0,4.0 -9421,2023-03-07 10:10:00,0.0,4.0 -9422,2023-03-07 10:20:00,0.0,4.0 -9423,2023-03-07 10:30:00,0.0,4.0 -9424,2023-03-07 10:40:00,0.0,4.0 -9425,2023-03-07 10:50:00,0.0,4.0 -9426,2023-03-07 11:00:00,0.0,4.0 -9427,2023-03-07 11:10:00,0.0,4.0 -9428,2023-03-07 11:20:00,0.0,4.0 -9429,2023-03-07 11:30:00,0.0,4.0 -9430,2023-03-07 11:40:00,0.0,4.0 -9431,2023-03-07 11:50:00,0.0,4.0 -9444,2023-03-07 14:00:00,0.0,4.0 -9445,2023-03-07 14:10:00,0.0,4.0 -9446,2023-03-07 14:20:00,0.0,4.0 -9447,2023-03-07 14:30:00,0.0,4.0 -9448,2023-03-07 14:40:00,0.0,4.0 -9449,2023-03-07 14:50:00,0.0,4.0 -9462,2023-03-07 17:00:00,0.0,4.0 -9463,2023-03-07 17:10:00,0.0,4.0 -9464,2023-03-07 17:20:00,0.0,4.0 -9465,2023-03-07 17:30:00,0.0,4.0 -9466,2023-03-07 17:40:00,0.0,4.0 -9467,2023-03-07 17:50:00,0.0,4.0 -9474,2023-03-07 19:00:00,0.0,1.0 -9475,2023-03-07 19:10:00,0.0,1.0 -9476,2023-03-07 19:20:00,0.0,1.0 -9477,2023-03-07 19:30:00,0.0,1.0 -9478,2023-03-07 19:40:00,0.0,1.0 -9479,2023-03-07 19:50:00,0.0,1.0 -9486,2023-03-07 21:00:00,0.0,3.0 -9487,2023-03-07 21:10:00,0.0,3.0 -9488,2023-03-07 21:20:00,0.0,3.0 -9489,2023-03-07 21:30:00,0.0,3.0 -9490,2023-03-07 21:40:00,0.0,3.0 -9491,2023-03-07 21:50:00,0.0,3.0 -9498,2023-03-07 23:00:00,0.0,1.0 -9499,2023-03-07 23:10:00,0.0,1.0 -9500,2023-03-07 23:20:00,0.0,1.0 -9501,2023-03-07 23:30:00,0.0,1.0 -9502,2023-03-07 23:40:00,0.0,1.0 -9503,2023-03-07 23:50:00,0.0,1.0 -9516,2023-03-08 02:00:00,0.0,3.0 -9517,2023-03-08 02:10:00,0.0,3.0 -9518,2023-03-08 02:20:00,0.0,3.0 -9519,2023-03-08 02:30:00,0.0,3.0 -9520,2023-03-08 02:40:00,0.0,3.0 -9521,2023-03-08 02:50:00,0.0,3.0 -9522,2023-03-08 03:00:00,0.0,3.0 -9523,2023-03-08 03:10:00,0.0,3.0 -9524,2023-03-08 03:20:00,0.0,3.0 -9525,2023-03-08 03:30:00,0.0,3.0 -9526,2023-03-08 03:40:00,0.0,3.0 -9527,2023-03-08 03:50:00,0.0,3.0 -9534,2023-03-08 05:00:00,0.0,1.0 -9535,2023-03-08 05:10:00,0.0,1.0 -9536,2023-03-08 05:20:00,0.0,1.0 -9537,2023-03-08 05:30:00,0.0,1.0 -9538,2023-03-08 05:40:00,0.0,1.0 -9539,2023-03-08 05:50:00,0.0,1.0 -9546,2023-03-08 07:00:00,0.0,3.0 -9547,2023-03-08 07:10:00,0.0,3.0 -9548,2023-03-08 07:20:00,0.0,3.0 -9549,2023-03-08 07:30:00,0.0,3.0 -9550,2023-03-08 07:40:00,0.0,3.0 -9551,2023-03-08 07:50:00,0.0,3.0 -9552,2023-03-08 08:00:00,0.0,3.0 -9553,2023-03-08 08:10:00,0.0,3.0 -9554,2023-03-08 08:20:00,0.0,3.0 -9555,2023-03-08 08:30:00,0.0,3.0 -9556,2023-03-08 08:40:00,0.0,3.0 -9557,2023-03-08 08:50:00,0.0,3.0 -9558,2023-03-08 09:00:00,0.0,4.0 -9559,2023-03-08 09:10:00,0.0,4.0 -9560,2023-03-08 09:20:00,0.0,4.0 -9561,2023-03-08 09:30:00,0.0,4.0 -9562,2023-03-08 09:40:00,0.0,4.0 -9563,2023-03-08 09:50:00,0.0,4.0 -9570,2023-03-08 11:00:00,0.0,3.0 -9571,2023-03-08 11:10:00,0.0,3.0 -9572,2023-03-08 11:20:00,0.0,3.0 -9573,2023-03-08 11:30:00,0.0,3.0 -9574,2023-03-08 11:40:00,0.0,3.0 -9575,2023-03-08 11:50:00,0.0,3.0 -9576,2023-03-08 12:00:00,0.0,3.0 -9577,2023-03-08 12:10:00,0.0,3.0 -9578,2023-03-08 12:20:00,0.0,3.0 -9579,2023-03-08 12:30:00,0.0,3.0 -9580,2023-03-08 12:40:00,0.0,3.0 -9581,2023-03-08 12:50:00,0.0,3.0 -9600,2023-03-08 16:00:00,0.0,3.0 -9601,2023-03-08 16:10:00,0.0,3.0 -9602,2023-03-08 16:20:00,0.0,3.0 -9603,2023-03-08 16:30:00,0.0,3.0 -9604,2023-03-08 16:40:00,0.0,3.0 -9605,2023-03-08 16:50:00,0.0,3.0 -9606,2023-03-08 17:00:00,0.0,4.0 -9607,2023-03-08 17:10:00,0.0,4.0 -9608,2023-03-08 17:20:00,0.0,4.0 -9609,2023-03-08 17:30:00,0.0,4.0 -9610,2023-03-08 17:40:00,0.0,4.0 -9611,2023-03-08 17:50:00,0.0,4.0 -9612,2023-03-08 18:00:00,0.0,3.0 -9613,2023-03-08 18:10:00,0.0,3.0 -9614,2023-03-08 18:20:00,0.0,3.0 -9615,2023-03-08 18:30:00,0.0,3.0 -9616,2023-03-08 18:40:00,0.0,3.0 -9617,2023-03-08 18:50:00,0.0,3.0 -9624,2023-03-08 20:00:00,0.0,4.0 -9625,2023-03-08 20:10:00,0.0,4.0 -9626,2023-03-08 20:20:00,0.0,4.0 -9627,2023-03-08 20:30:00,0.0,4.0 -9628,2023-03-08 20:40:00,0.0,4.0 -9629,2023-03-08 20:50:00,0.0,4.0 -9642,2023-03-08 23:00:00,0.0,3.0 -9643,2023-03-08 23:10:00,0.0,3.0 -9644,2023-03-08 23:20:00,0.0,3.0 -9645,2023-03-08 23:30:00,0.0,3.0 -9646,2023-03-08 23:40:00,0.0,3.0 -9647,2023-03-08 23:50:00,0.0,3.0 -9648,2023-03-09 00:00:00,0.0,4.0 -9649,2023-03-09 00:10:00,0.0,4.0 -9650,2023-03-09 00:20:00,0.0,4.0 -9651,2023-03-09 00:30:00,0.0,4.0 -9652,2023-03-09 00:40:00,0.0,4.0 -9653,2023-03-09 00:50:00,0.0,4.0 -9654,2023-03-09 01:00:00,0.0,3.0 -9655,2023-03-09 01:10:00,0.0,3.0 -9656,2023-03-09 01:20:00,0.0,3.0 -9657,2023-03-09 01:30:00,0.0,3.0 -9658,2023-03-09 01:40:00,0.0,3.0 -9659,2023-03-09 01:50:00,0.0,3.0 -9660,2023-03-09 02:00:00,0.0,3.0 -9661,2023-03-09 02:10:00,0.0,3.0 -9662,2023-03-09 02:20:00,0.0,3.0 -9663,2023-03-09 02:30:00,0.0,3.0 -9664,2023-03-09 02:40:00,0.0,3.0 -9665,2023-03-09 02:50:00,0.0,3.0 -9666,2023-03-09 03:00:00,0.0,3.0 -9667,2023-03-09 03:10:00,0.0,3.0 -9668,2023-03-09 03:20:00,0.0,3.0 -9669,2023-03-09 03:30:00,0.0,3.0 -9670,2023-03-09 03:40:00,0.0,3.0 -9671,2023-03-09 03:50:00,0.0,3.0 -9678,2023-03-09 05:00:00,0.0,3.0 -9679,2023-03-09 05:10:00,0.0,3.0 -9680,2023-03-09 05:20:00,0.0,3.0 -9681,2023-03-09 05:30:00,0.0,3.0 -9682,2023-03-09 05:40:00,0.0,3.0 -9683,2023-03-09 05:50:00,0.0,3.0 -9696,2023-03-09 08:00:00,0.0,3.0 -9697,2023-03-09 08:10:00,0.0,3.0 -9698,2023-03-09 08:20:00,0.0,3.0 -9699,2023-03-09 08:30:00,0.0,3.0 -9700,2023-03-09 08:40:00,0.0,3.0 -9701,2023-03-09 08:50:00,0.0,3.0 -9720,2023-03-09 12:00:00,0.0,4.0 -9721,2023-03-09 12:10:00,0.0,4.0 -9722,2023-03-09 12:20:00,0.0,4.0 -9723,2023-03-09 12:30:00,0.0,4.0 -9724,2023-03-09 12:40:00,0.0,4.0 -9725,2023-03-09 12:50:00,0.0,4.0 -9726,2023-03-09 13:00:00,0.0,4.0 -9727,2023-03-09 13:10:00,0.0,4.0 -9728,2023-03-09 13:20:00,0.0,4.0 -9729,2023-03-09 13:30:00,0.0,4.0 -9730,2023-03-09 13:40:00,0.0,4.0 -9731,2023-03-09 13:50:00,0.0,4.0 -9732,2023-03-09 14:00:00,0.0,4.0 -9733,2023-03-09 14:10:00,0.0,4.0 -9734,2023-03-09 14:20:00,0.0,4.0 -9735,2023-03-09 14:30:00,0.0,4.0 -9736,2023-03-09 14:40:00,0.0,4.0 -9737,2023-03-09 14:50:00,0.0,4.0 -9738,2023-03-09 15:00:00,0.0,4.0 -9739,2023-03-09 15:10:00,0.0,4.0 -9740,2023-03-09 15:20:00,0.0,4.0 -9741,2023-03-09 15:30:00,0.0,4.0 -9742,2023-03-09 15:40:00,0.0,4.0 -9743,2023-03-09 15:50:00,0.0,4.0 -9744,2023-03-09 16:00:00,0.0,4.0 -9745,2023-03-09 16:10:00,0.0,4.0 -9746,2023-03-09 16:20:00,0.0,4.0 -9747,2023-03-09 16:30:00,0.0,4.0 -9748,2023-03-09 16:40:00,0.0,4.0 -9749,2023-03-09 16:50:00,0.0,4.0 -9756,2023-03-09 18:00:00,0.0,4.0 -9757,2023-03-09 18:10:00,0.0,4.0 -9758,2023-03-09 18:20:00,0.0,4.0 -9759,2023-03-09 18:30:00,0.0,4.0 -9760,2023-03-09 18:40:00,0.0,4.0 -9761,2023-03-09 18:50:00,0.0,4.0 -9768,2023-03-09 20:00:00,0.0,4.0 -9769,2023-03-09 20:10:00,0.0,4.0 -9770,2023-03-09 20:20:00,0.0,4.0 -9771,2023-03-09 20:30:00,0.0,4.0 -9772,2023-03-09 20:40:00,0.0,4.0 -9773,2023-03-09 20:50:00,0.0,4.0 -9774,2023-03-09 21:00:00,0.0,6.0 -9775,2023-03-09 21:10:00,0.0,6.0 -9776,2023-03-09 21:20:00,0.0,6.0 -9777,2023-03-09 21:30:00,0.0,6.0 -9778,2023-03-09 21:40:00,0.0,6.0 -9779,2023-03-09 21:50:00,0.0,6.0 -9810,2023-03-10 03:00:00,0.0,4.0 -9811,2023-03-10 03:10:00,0.0,4.0 -9812,2023-03-10 03:20:00,0.0,4.0 -9813,2023-03-10 03:30:00,0.0,4.0 -9814,2023-03-10 03:40:00,0.0,4.0 -9815,2023-03-10 03:50:00,0.0,4.0 -9816,2023-03-10 04:00:00,0.0,4.0 -9817,2023-03-10 04:10:00,0.0,4.0 -9818,2023-03-10 04:20:00,0.0,4.0 -9819,2023-03-10 04:30:00,0.0,4.0 -9820,2023-03-10 04:40:00,0.0,4.0 -9821,2023-03-10 04:50:00,0.0,4.0 -9822,2023-03-10 05:00:00,0.0,4.0 -9823,2023-03-10 05:10:00,0.0,4.0 -9824,2023-03-10 05:20:00,0.0,4.0 -9825,2023-03-10 05:30:00,0.0,4.0 -9826,2023-03-10 05:40:00,0.0,4.0 -9827,2023-03-10 05:50:00,0.0,4.0 -9828,2023-03-10 06:00:00,0.0,4.0 -9829,2023-03-10 06:10:00,0.0,4.0 -9830,2023-03-10 06:20:00,0.0,4.0 -9831,2023-03-10 06:30:00,0.0,4.0 -9832,2023-03-10 06:40:00,0.0,4.0 -9833,2023-03-10 06:50:00,0.0,4.0 -9834,2023-03-10 07:00:00,0.0,4.0 -9835,2023-03-10 07:10:00,0.0,4.0 -9836,2023-03-10 07:20:00,0.0,4.0 -9837,2023-03-10 07:30:00,0.0,4.0 -9838,2023-03-10 07:40:00,0.0,4.0 -9839,2023-03-10 07:50:00,0.0,4.0 -9840,2023-03-10 08:00:00,0.0,4.0 -9841,2023-03-10 08:10:00,0.0,4.0 -9842,2023-03-10 08:20:00,0.0,4.0 -9843,2023-03-10 08:30:00,0.0,4.0 -9844,2023-03-10 08:40:00,0.0,4.0 -9845,2023-03-10 08:50:00,0.0,4.0 -9852,2023-03-10 10:00:00,0.0,4.0 -9853,2023-03-10 10:10:00,0.0,4.0 -9854,2023-03-10 10:20:00,0.0,4.0 -9855,2023-03-10 10:30:00,0.0,4.0 -9856,2023-03-10 10:40:00,0.0,4.0 -9857,2023-03-10 10:50:00,0.0,4.0 -9870,2023-03-10 13:00:00,0.0,4.0 -9871,2023-03-10 13:10:00,0.0,4.0 -9872,2023-03-10 13:20:00,0.0,4.0 -9873,2023-03-10 13:30:00,0.0,4.0 -9874,2023-03-10 13:40:00,0.0,4.0 -9875,2023-03-10 13:50:00,0.0,4.0 -9876,2023-03-10 14:00:00,0.0,4.0 -9877,2023-03-10 14:10:00,0.0,4.0 -9878,2023-03-10 14:20:00,0.0,4.0 -9879,2023-03-10 14:30:00,0.0,4.0 -9880,2023-03-10 14:40:00,0.0,4.0 -9881,2023-03-10 14:50:00,0.0,4.0 -9888,2023-03-10 16:00:00,0.0,4.0 -9889,2023-03-10 16:10:00,0.0,4.0 -9890,2023-03-10 16:20:00,0.0,4.0 -9891,2023-03-10 16:30:00,0.0,4.0 -9892,2023-03-10 16:40:00,0.0,4.0 -9893,2023-03-10 16:50:00,0.0,4.0 -9894,2023-03-10 17:00:00,0.0,4.0 -9895,2023-03-10 17:10:00,0.0,4.0 -9896,2023-03-10 17:20:00,0.0,4.0 -9897,2023-03-10 17:30:00,0.0,4.0 -9898,2023-03-10 17:40:00,0.0,4.0 -9899,2023-03-10 17:50:00,0.0,4.0 -9900,2023-03-10 18:00:00,0.0,3.0 -9901,2023-03-10 18:10:00,0.0,3.0 -9902,2023-03-10 18:20:00,0.0,3.0 -9903,2023-03-10 18:30:00,0.0,3.0 -9904,2023-03-10 18:40:00,0.0,3.0 -9905,2023-03-10 18:50:00,0.0,3.0 -9906,2023-03-10 19:00:00,0.0,3.0 -9907,2023-03-10 19:10:00,0.0,3.0 -9908,2023-03-10 19:20:00,0.0,3.0 -9909,2023-03-10 19:30:00,0.0,3.0 -9910,2023-03-10 19:40:00,0.0,3.0 -9911,2023-03-10 19:50:00,0.0,3.0 -9912,2023-03-10 20:00:00,0.0,4.0 -9913,2023-03-10 20:10:00,0.0,4.0 -9914,2023-03-10 20:20:00,0.0,4.0 -9915,2023-03-10 20:30:00,0.0,4.0 -9916,2023-03-10 20:40:00,0.0,4.0 -9917,2023-03-10 20:50:00,0.0,4.0 -9924,2023-03-10 22:00:00,0.0,3.0 -9925,2023-03-10 22:10:00,0.0,3.0 -9926,2023-03-10 22:20:00,0.0,3.0 -9927,2023-03-10 22:30:00,0.0,3.0 -9928,2023-03-10 22:40:00,0.0,3.0 -9929,2023-03-10 22:50:00,0.0,3.0 -9930,2023-03-10 23:00:00,0.0,3.0 -9931,2023-03-10 23:10:00,0.0,3.0 -9932,2023-03-10 23:20:00,0.0,3.0 -9933,2023-03-10 23:30:00,0.0,3.0 -9934,2023-03-10 23:40:00,0.0,3.0 -9935,2023-03-10 23:50:00,0.0,3.0 -9942,2023-03-11 01:00:00,0.0,1.0 -9943,2023-03-11 01:10:00,0.0,1.0 -9944,2023-03-11 01:20:00,0.0,1.0 -9945,2023-03-11 01:30:00,0.0,1.0 -9946,2023-03-11 01:40:00,0.0,1.0 -9947,2023-03-11 01:50:00,0.0,1.0 -9954,2023-03-11 03:00:00,0.0,1.0 -9955,2023-03-11 03:10:00,0.0,1.0 -9956,2023-03-11 03:20:00,0.0,1.0 -9957,2023-03-11 03:30:00,0.0,1.0 -9958,2023-03-11 03:40:00,0.0,1.0 -9959,2023-03-11 03:50:00,0.0,1.0 -9972,2023-03-11 06:00:00,0.0,3.0 -9973,2023-03-11 06:10:00,0.0,3.0 -9974,2023-03-11 06:20:00,0.0,3.0 -9975,2023-03-11 06:30:00,0.0,3.0 -9976,2023-03-11 06:40:00,0.0,3.0 -9977,2023-03-11 06:50:00,0.0,3.0 -9978,2023-03-11 07:00:00,0.0,3.0 -9979,2023-03-11 07:10:00,0.0,3.0 -9980,2023-03-11 07:20:00,0.0,3.0 -9981,2023-03-11 07:30:00,0.0,3.0 -9982,2023-03-11 07:40:00,0.0,3.0 -9983,2023-03-11 07:50:00,0.0,3.0 -9990,2023-03-11 09:00:00,0.0,3.0 -9991,2023-03-11 09:10:00,0.0,3.0 -9992,2023-03-11 09:20:00,0.0,3.0 -9993,2023-03-11 09:30:00,0.0,3.0 -9994,2023-03-11 09:40:00,0.0,3.0 -9995,2023-03-11 09:50:00,0.0,3.0 -10002,2023-03-11 11:00:00,0.0,3.0 -10003,2023-03-11 11:10:00,0.0,3.0 -10004,2023-03-11 11:20:00,0.0,3.0 -10005,2023-03-11 11:30:00,0.0,3.0 -10006,2023-03-11 11:40:00,0.0,3.0 -10007,2023-03-11 11:50:00,0.0,3.0 -10014,2023-03-11 13:00:00,0.0,3.0 -10015,2023-03-11 13:10:00,0.0,3.0 -10016,2023-03-11 13:20:00,0.0,3.0 -10017,2023-03-11 13:30:00,0.0,3.0 -10018,2023-03-11 13:40:00,0.0,3.0 -10019,2023-03-11 13:50:00,0.0,3.0 -10026,2023-03-11 15:00:00,0.0,3.0 -10027,2023-03-11 15:10:00,0.0,3.0 -10028,2023-03-11 15:20:00,0.0,3.0 -10029,2023-03-11 15:30:00,0.0,3.0 -10030,2023-03-11 15:40:00,0.0,3.0 -10031,2023-03-11 15:50:00,0.0,3.0 -10032,2023-03-11 16:00:00,0.0,3.0 -10033,2023-03-11 16:10:00,0.0,3.0 -10034,2023-03-11 16:20:00,0.0,3.0 -10035,2023-03-11 16:30:00,0.0,3.0 -10036,2023-03-11 16:40:00,0.0,3.0 -10037,2023-03-11 16:50:00,0.0,3.0 -10038,2023-03-11 17:00:00,0.0,3.0 -10039,2023-03-11 17:10:00,0.0,3.0 -10040,2023-03-11 17:20:00,0.0,3.0 -10041,2023-03-11 17:30:00,0.0,3.0 -10042,2023-03-11 17:40:00,0.0,3.0 -10043,2023-03-11 17:50:00,0.0,3.0 -10050,2023-03-11 19:00:00,0.0,1.0 -10051,2023-03-11 19:10:00,0.0,1.0 -10052,2023-03-11 19:20:00,0.0,1.0 -10053,2023-03-11 19:30:00,0.0,1.0 -10054,2023-03-11 19:40:00,0.0,1.0 -10055,2023-03-11 19:50:00,0.0,1.0 -10056,2023-03-11 20:00:00,0.0,3.0 -10057,2023-03-11 20:10:00,0.0,3.0 -10058,2023-03-11 20:20:00,0.0,3.0 -10059,2023-03-11 20:30:00,0.0,3.0 -10060,2023-03-11 20:40:00,0.0,3.0 -10061,2023-03-11 20:50:00,0.0,3.0 -10068,2023-03-11 22:00:00,0.0,3.0 -10069,2023-03-11 22:10:00,0.0,3.0 -10070,2023-03-11 22:20:00,0.0,3.0 -10071,2023-03-11 22:30:00,0.0,3.0 -10072,2023-03-11 22:40:00,0.0,3.0 -10073,2023-03-11 22:50:00,0.0,3.0 -10074,2023-03-11 23:00:00,0.0,1.0 -10075,2023-03-11 23:10:00,0.0,1.0 -10076,2023-03-11 23:20:00,0.0,1.0 -10077,2023-03-11 23:30:00,0.0,1.0 -10078,2023-03-11 23:40:00,0.0,1.0 -10079,2023-03-11 23:50:00,0.0,1.0 -10086,2023-03-12 01:00:00,0.0,3.0 -10087,2023-03-12 01:10:00,0.0,3.0 -10088,2023-03-12 01:20:00,0.0,3.0 -10089,2023-03-12 01:30:00,0.0,3.0 -10090,2023-03-12 01:40:00,0.0,3.0 -10091,2023-03-12 01:50:00,0.0,3.0 -10092,2023-03-12 02:00:00,0.0,3.0 -10093,2023-03-12 02:10:00,0.0,3.0 -10094,2023-03-12 02:20:00,0.0,3.0 -10095,2023-03-12 02:30:00,0.0,3.0 -10096,2023-03-12 02:40:00,0.0,3.0 -10097,2023-03-12 02:50:00,0.0,3.0 -10110,2023-03-12 05:00:00,0.0,3.0 -10111,2023-03-12 05:10:00,0.0,3.0 -10112,2023-03-12 05:20:00,0.0,3.0 -10113,2023-03-12 05:30:00,0.0,3.0 -10114,2023-03-12 05:40:00,0.0,3.0 -10115,2023-03-12 05:50:00,0.0,3.0 -10134,2023-03-12 09:00:00,0.0,4.0 -10135,2023-03-12 09:10:00,0.0,4.0 -10136,2023-03-12 09:20:00,0.0,4.0 -10137,2023-03-12 09:30:00,0.0,4.0 -10138,2023-03-12 09:40:00,0.0,4.0 -10139,2023-03-12 09:50:00,0.0,4.0 -10146,2023-03-12 11:00:00,0.0,4.0 -10147,2023-03-12 11:10:00,0.0,4.0 -10148,2023-03-12 11:20:00,0.0,4.0 -10149,2023-03-12 11:30:00,0.0,4.0 -10150,2023-03-12 11:40:00,0.0,4.0 -10151,2023-03-12 11:50:00,0.0,4.0 -10152,2023-03-12 12:00:00,0.0,3.0 -10153,2023-03-12 12:10:00,0.0,3.0 -10154,2023-03-12 12:20:00,0.0,3.0 -10155,2023-03-12 12:30:00,0.0,3.0 -10156,2023-03-12 12:40:00,0.0,3.0 -10157,2023-03-12 12:50:00,0.0,3.0 -10158,2023-03-12 13:00:00,0.0,5.0 -10159,2023-03-12 13:10:00,0.0,5.0 -10160,2023-03-12 13:20:00,0.0,5.0 -10161,2023-03-12 13:30:00,0.0,5.0 -10162,2023-03-12 13:40:00,0.0,5.0 -10163,2023-03-12 13:50:00,0.0,5.0 -10164,2023-03-12 14:00:00,0.0,3.0 -10165,2023-03-12 14:10:00,0.0,3.0 -10166,2023-03-12 14:20:00,0.0,3.0 -10167,2023-03-12 14:30:00,0.0,3.0 -10168,2023-03-12 14:40:00,0.0,3.0 -10169,2023-03-12 14:50:00,0.0,3.0 -10170,2023-03-12 15:00:00,0.0,5.0 -10171,2023-03-12 15:10:00,0.0,5.0 -10172,2023-03-12 15:20:00,0.0,5.0 -10173,2023-03-12 15:30:00,0.0,5.0 -10174,2023-03-12 15:40:00,0.0,5.0 -10175,2023-03-12 15:50:00,0.0,5.0 -10182,2023-03-12 17:00:00,0.0,3.0 -10183,2023-03-12 17:10:00,0.0,3.0 -10184,2023-03-12 17:20:00,0.0,3.0 -10185,2023-03-12 17:30:00,0.0,3.0 -10186,2023-03-12 17:40:00,0.0,3.0 -10187,2023-03-12 17:50:00,0.0,3.0 -10194,2023-03-12 19:00:00,0.0,3.0 -10195,2023-03-12 19:10:00,0.0,3.0 -10196,2023-03-12 19:20:00,0.0,3.0 -10197,2023-03-12 19:30:00,0.0,3.0 -10198,2023-03-12 19:40:00,0.0,3.0 -10199,2023-03-12 19:50:00,0.0,3.0 -10200,2023-03-12 20:00:00,0.0,3.0 -10201,2023-03-12 20:10:00,0.0,3.0 -10202,2023-03-12 20:20:00,0.0,3.0 -10203,2023-03-12 20:30:00,0.0,3.0 -10204,2023-03-12 20:40:00,0.0,3.0 -10205,2023-03-12 20:50:00,0.0,3.0 -10212,2023-03-12 22:00:00,0.0,4.0 -10213,2023-03-12 22:10:00,0.0,4.0 -10214,2023-03-12 22:20:00,0.0,4.0 -10215,2023-03-12 22:30:00,0.0,4.0 -10216,2023-03-12 22:40:00,0.0,4.0 -10217,2023-03-12 22:50:00,0.0,4.0 -10218,2023-03-12 23:00:00,0.0,6.0 -10219,2023-03-12 23:10:00,0.0,6.0 -10220,2023-03-12 23:20:00,0.0,6.0 -10221,2023-03-12 23:30:00,0.0,6.0 -10222,2023-03-12 23:40:00,0.0,6.0 -10223,2023-03-12 23:50:00,0.0,6.0 -10242,2023-03-13 03:00:00,0.0,6.0 -10243,2023-03-13 03:10:00,0.0,6.0 -10244,2023-03-13 03:20:00,0.0,6.0 -10245,2023-03-13 03:30:00,0.0,6.0 -10246,2023-03-13 03:40:00,0.0,6.0 -10247,2023-03-13 03:50:00,0.0,6.0 -10248,2023-03-13 04:00:00,0.0,6.0 -10249,2023-03-13 04:10:00,0.0,6.0 -10250,2023-03-13 04:20:00,0.0,6.0 -10251,2023-03-13 04:30:00,0.0,6.0 -10252,2023-03-13 04:40:00,0.0,6.0 -10253,2023-03-13 04:50:00,0.0,6.0 -10254,2023-03-13 05:00:00,0.0,6.0 -10255,2023-03-13 05:10:00,0.0,6.0 -10256,2023-03-13 05:20:00,0.0,6.0 -10257,2023-03-13 05:30:00,0.0,6.0 -10258,2023-03-13 05:40:00,0.0,6.0 -10259,2023-03-13 05:50:00,0.0,6.0 -10260,2023-03-13 06:00:00,0.0,6.0 -10261,2023-03-13 06:10:00,0.0,6.0 -10262,2023-03-13 06:20:00,0.0,6.0 -10263,2023-03-13 06:30:00,0.0,6.0 -10264,2023-03-13 06:40:00,0.0,6.0 -10265,2023-03-13 06:50:00,0.0,6.0 -10266,2023-03-13 07:00:00,0.0,6.0 -10267,2023-03-13 07:10:00,0.0,6.0 -10268,2023-03-13 07:20:00,0.0,6.0 -10269,2023-03-13 07:30:00,0.0,6.0 -10270,2023-03-13 07:40:00,0.0,6.0 -10271,2023-03-13 07:50:00,0.0,6.0 -10278,2023-03-13 09:00:00,0.0,7.0 -10279,2023-03-13 09:10:00,0.0,7.0 -10280,2023-03-13 09:20:00,0.0,7.0 -10281,2023-03-13 09:30:00,0.0,7.0 -10282,2023-03-13 09:40:00,0.0,7.0 -10283,2023-03-13 09:50:00,0.0,7.0 -10284,2023-03-13 10:00:00,0.0,7.0 -10285,2023-03-13 10:10:00,0.0,7.0 -10286,2023-03-13 10:20:00,0.0,7.0 -10287,2023-03-13 10:30:00,0.0,7.0 -10288,2023-03-13 10:40:00,0.0,7.0 -10289,2023-03-13 10:50:00,0.0,7.0 -10302,2023-03-13 13:00:00,0.0,7.0 -10303,2023-03-13 13:10:00,0.0,7.0 -10304,2023-03-13 13:20:00,0.0,7.0 -10305,2023-03-13 13:30:00,0.0,7.0 -10306,2023-03-13 13:40:00,0.0,7.0 -10307,2023-03-13 13:50:00,0.0,7.0 -10326,2023-03-13 17:00:00,0.0,5.0 -10327,2023-03-13 17:10:00,0.0,5.0 -10328,2023-03-13 17:20:00,0.0,5.0 -10329,2023-03-13 17:30:00,0.0,5.0 -10330,2023-03-13 17:40:00,0.0,5.0 -10331,2023-03-13 17:50:00,0.0,5.0 -10350,2023-03-13 21:00:00,0.0,5.0 -10351,2023-03-13 21:10:00,0.0,5.0 -10352,2023-03-13 21:20:00,0.0,5.0 -10353,2023-03-13 21:30:00,0.0,5.0 -10354,2023-03-13 21:40:00,0.0,5.0 -10355,2023-03-13 21:50:00,0.0,5.0 -10362,2023-03-13 23:00:00,0.0,5.0 -10363,2023-03-13 23:10:00,0.0,5.0 -10364,2023-03-13 23:20:00,0.0,5.0 -10365,2023-03-13 23:30:00,0.0,5.0 -10366,2023-03-13 23:40:00,0.0,5.0 -10367,2023-03-13 23:50:00,0.0,5.0 -10368,2023-03-14 00:00:00,0.0,4.0 -10369,2023-03-14 00:10:00,0.0,4.0 -10370,2023-03-14 00:20:00,0.0,4.0 -10371,2023-03-14 00:30:00,0.0,4.0 -10372,2023-03-14 00:40:00,0.0,4.0 -10373,2023-03-14 00:50:00,0.0,4.0 -10374,2023-03-14 01:00:00,0.0,5.0 -10375,2023-03-14 01:10:00,0.0,5.0 -10376,2023-03-14 01:20:00,0.0,5.0 -10377,2023-03-14 01:30:00,0.0,5.0 -10378,2023-03-14 01:40:00,0.0,5.0 -10379,2023-03-14 01:50:00,0.0,5.0 -10386,2023-03-14 03:00:00,0.0,4.0 -10387,2023-03-14 03:10:00,0.0,4.0 -10388,2023-03-14 03:20:00,0.0,4.0 -10389,2023-03-14 03:30:00,0.0,4.0 -10390,2023-03-14 03:40:00,0.0,4.0 -10391,2023-03-14 03:50:00,0.0,4.0 -10398,2023-03-14 05:00:00,0.0,4.0 -10399,2023-03-14 05:10:00,0.0,4.0 -10400,2023-03-14 05:20:00,0.0,4.0 -10401,2023-03-14 05:30:00,0.0,4.0 -10402,2023-03-14 05:40:00,0.0,4.0 -10403,2023-03-14 05:50:00,0.0,4.0 -10410,2023-03-14 07:00:00,0.0,4.0 -10411,2023-03-14 07:10:00,0.0,4.0 -10412,2023-03-14 07:20:00,0.0,4.0 -10413,2023-03-14 07:30:00,0.0,4.0 -10414,2023-03-14 07:40:00,0.0,4.0 -10415,2023-03-14 07:50:00,0.0,4.0 -10428,2023-03-14 10:00:00,0.0,3.0 -10429,2023-03-14 10:10:00,0.0,3.0 -10430,2023-03-14 10:20:00,0.0,3.0 -10431,2023-03-14 10:30:00,0.0,3.0 -10432,2023-03-14 10:40:00,0.0,3.0 -10433,2023-03-14 10:50:00,0.0,3.0 -10440,2023-03-14 12:00:00,0.0,4.0 -10441,2023-03-14 12:10:00,0.0,4.0 -10442,2023-03-14 12:20:00,0.0,4.0 -10443,2023-03-14 12:30:00,0.0,4.0 -10444,2023-03-14 12:40:00,0.0,4.0 -10445,2023-03-14 12:50:00,0.0,4.0 -10446,2023-03-14 13:00:00,0.0,3.0 -10447,2023-03-14 13:10:00,0.0,3.0 -10448,2023-03-14 13:20:00,0.0,3.0 -10449,2023-03-14 13:30:00,0.0,3.0 -10450,2023-03-14 13:40:00,0.0,3.0 -10451,2023-03-14 13:50:00,0.0,3.0 -10452,2023-03-14 14:00:00,0.0,3.0 -10453,2023-03-14 14:10:00,0.0,3.0 -10454,2023-03-14 14:20:00,0.0,3.0 -10455,2023-03-14 14:30:00,0.0,3.0 -10456,2023-03-14 14:40:00,0.0,3.0 -10457,2023-03-14 14:50:00,0.0,3.0 -10464,2023-03-14 16:00:00,0.0,3.0 -10465,2023-03-14 16:10:00,0.0,3.0 -10466,2023-03-14 16:20:00,0.0,3.0 -10467,2023-03-14 16:30:00,0.0,3.0 -10468,2023-03-14 16:40:00,0.0,3.0 -10469,2023-03-14 16:50:00,0.0,3.0 -10470,2023-03-14 17:00:00,0.0,4.0 -10471,2023-03-14 17:10:00,0.0,4.0 -10472,2023-03-14 17:20:00,0.0,4.0 -10473,2023-03-14 17:30:00,0.0,4.0 -10474,2023-03-14 17:40:00,0.0,4.0 -10475,2023-03-14 17:50:00,0.0,4.0 -10488,2023-03-14 20:00:00,0.0,4.0 -10489,2023-03-14 20:10:00,0.0,4.0 -10490,2023-03-14 20:20:00,0.0,4.0 -10491,2023-03-14 20:30:00,0.0,4.0 -10492,2023-03-14 20:40:00,0.0,4.0 -10493,2023-03-14 20:50:00,0.0,4.0 -10518,2023-03-15 01:00:00,0.0,3.0 -10519,2023-03-15 01:10:00,0.0,3.0 -10520,2023-03-15 01:20:00,0.0,3.0 -10521,2023-03-15 01:30:00,0.0,3.0 -10522,2023-03-15 01:40:00,0.0,3.0 -10523,2023-03-15 01:50:00,0.0,3.0 -10542,2023-03-15 05:00:00,0.0,1.0 -10543,2023-03-15 05:10:00,0.0,1.0 -10544,2023-03-15 05:20:00,0.0,1.0 -10545,2023-03-15 05:30:00,0.0,1.0 -10546,2023-03-15 05:40:00,0.0,1.0 -10547,2023-03-15 05:50:00,0.0,1.0 -10566,2023-03-15 09:00:00,0.0,3.0 -10567,2023-03-15 09:10:00,0.0,3.0 -10568,2023-03-15 09:20:00,0.0,3.0 -10569,2023-03-15 09:30:00,0.0,3.0 -10570,2023-03-15 09:40:00,0.0,3.0 -10571,2023-03-15 09:50:00,0.0,3.0 -10578,2023-03-15 11:00:00,0.0,3.0 -10579,2023-03-15 11:10:00,0.0,3.0 -10580,2023-03-15 11:20:00,0.0,3.0 -10581,2023-03-15 11:30:00,0.0,3.0 -10582,2023-03-15 11:40:00,0.0,3.0 -10583,2023-03-15 11:50:00,0.0,3.0 -10626,2023-03-15 19:00:00,0.0,3.0 -10627,2023-03-15 19:10:00,0.0,3.0 -10628,2023-03-15 19:20:00,0.0,3.0 -10629,2023-03-15 19:30:00,0.0,3.0 -10630,2023-03-15 19:40:00,0.0,3.0 -10631,2023-03-15 19:50:00,0.0,3.0 -10632,2023-03-15 20:00:00,0.0,3.0 -10633,2023-03-15 20:10:00,0.0,3.0 -10634,2023-03-15 20:20:00,0.0,3.0 -10635,2023-03-15 20:30:00,0.0,3.0 -10636,2023-03-15 20:40:00,0.0,3.0 -10637,2023-03-15 20:50:00,0.0,3.0 -10644,2023-03-15 22:00:00,0.0,3.0 -10645,2023-03-15 22:10:00,0.0,3.0 -10646,2023-03-15 22:20:00,0.0,3.0 -10647,2023-03-15 22:30:00,0.0,3.0 -10648,2023-03-15 22:40:00,0.0,3.0 -10649,2023-03-15 22:50:00,0.0,3.0 -10650,2023-03-15 23:00:00,0.0,3.0 -10651,2023-03-15 23:10:00,0.0,3.0 -10652,2023-03-15 23:20:00,0.0,3.0 -10653,2023-03-15 23:30:00,0.0,3.0 -10654,2023-03-15 23:40:00,0.0,3.0 -10655,2023-03-15 23:50:00,0.0,3.0 -10656,2023-03-16 00:00:00,0.0,3.0 -10657,2023-03-16 00:10:00,0.0,3.0 -10658,2023-03-16 00:20:00,0.0,3.0 -10659,2023-03-16 00:30:00,0.0,3.0 -10660,2023-03-16 00:40:00,0.0,3.0 -10661,2023-03-16 00:50:00,0.0,3.0 -10662,2023-03-16 01:00:00,0.0,3.0 -10663,2023-03-16 01:10:00,0.0,3.0 -10664,2023-03-16 01:20:00,0.0,3.0 -10665,2023-03-16 01:30:00,0.0,3.0 -10666,2023-03-16 01:40:00,0.0,3.0 -10667,2023-03-16 01:50:00,0.0,3.0 -10668,2023-03-16 02:00:00,0.0,4.0 -10669,2023-03-16 02:10:00,0.0,4.0 -10670,2023-03-16 02:20:00,0.0,4.0 -10671,2023-03-16 02:30:00,0.0,4.0 -10672,2023-03-16 02:40:00,0.0,4.0 -10673,2023-03-16 02:50:00,0.0,4.0 -10692,2023-03-16 06:00:00,0.0,4.0 -10693,2023-03-16 06:10:00,0.0,4.0 -10694,2023-03-16 06:20:00,0.0,4.0 -10695,2023-03-16 06:30:00,0.0,4.0 -10696,2023-03-16 06:40:00,0.0,4.0 -10697,2023-03-16 06:50:00,0.0,4.0 -10704,2023-03-16 08:00:00,0.0,3.0 -10705,2023-03-16 08:10:00,0.0,3.0 -10706,2023-03-16 08:20:00,0.0,3.0 -10707,2023-03-16 08:30:00,0.0,3.0 -10708,2023-03-16 08:40:00,0.0,3.0 -10709,2023-03-16 08:50:00,0.0,3.0 -10710,2023-03-16 09:00:00,0.0,3.0 -10711,2023-03-16 09:10:00,0.0,3.0 -10712,2023-03-16 09:20:00,0.0,3.0 -10713,2023-03-16 09:30:00,0.0,3.0 -10714,2023-03-16 09:40:00,0.0,3.0 -10715,2023-03-16 09:50:00,0.0,3.0 -10722,2023-03-16 11:00:00,0.0,5.0 -10723,2023-03-16 11:10:00,0.0,5.0 -10724,2023-03-16 11:20:00,0.0,5.0 -10725,2023-03-16 11:30:00,0.0,5.0 -10726,2023-03-16 11:40:00,0.0,5.0 -10727,2023-03-16 11:50:00,0.0,5.0 -10740,2023-03-16 14:00:00,0.0,5.0 -10741,2023-03-16 14:10:00,0.0,5.0 -10742,2023-03-16 14:20:00,0.0,5.0 -10743,2023-03-16 14:30:00,0.0,5.0 -10744,2023-03-16 14:40:00,0.0,5.0 -10745,2023-03-16 14:50:00,0.0,5.0 -10746,2023-03-16 15:00:00,0.0,3.0 -10747,2023-03-16 15:10:00,0.0,3.0 -10748,2023-03-16 15:20:00,0.0,3.0 -10749,2023-03-16 15:30:00,0.0,3.0 -10750,2023-03-16 15:40:00,0.0,3.0 -10751,2023-03-16 15:50:00,0.0,3.0 -10758,2023-03-16 17:00:00,0.0,3.0 -10759,2023-03-16 17:10:00,0.0,3.0 -10760,2023-03-16 17:20:00,0.0,3.0 -10761,2023-03-16 17:30:00,0.0,3.0 -10762,2023-03-16 17:40:00,0.0,3.0 -10763,2023-03-16 17:50:00,0.0,3.0 -10776,2023-03-16 20:00:00,0.0,3.0 -10777,2023-03-16 20:10:00,0.0,3.0 -10778,2023-03-16 20:20:00,0.0,3.0 -10779,2023-03-16 20:30:00,0.0,3.0 -10780,2023-03-16 20:40:00,0.0,3.0 -10781,2023-03-16 20:50:00,0.0,3.0 -10782,2023-03-16 21:00:00,0.0,3.0 -10783,2023-03-16 21:10:00,0.0,3.0 -10784,2023-03-16 21:20:00,0.0,3.0 -10785,2023-03-16 21:30:00,0.0,3.0 -10786,2023-03-16 21:40:00,0.0,3.0 -10787,2023-03-16 21:50:00,0.0,3.0 -10788,2023-03-16 22:00:00,0.0,3.0 -10789,2023-03-16 22:10:00,0.0,3.0 -10790,2023-03-16 22:20:00,0.0,3.0 -10791,2023-03-16 22:30:00,0.0,3.0 -10792,2023-03-16 22:40:00,0.0,3.0 -10793,2023-03-16 22:50:00,0.0,3.0 -10806,2023-03-17 01:00:00,0.0,3.0 -10807,2023-03-17 01:10:00,0.0,3.0 -10808,2023-03-17 01:20:00,0.0,3.0 -10809,2023-03-17 01:30:00,0.0,3.0 -10810,2023-03-17 01:40:00,0.0,3.0 -10811,2023-03-17 01:50:00,0.0,3.0 -10818,2023-03-17 03:00:00,0.0,3.0 -10819,2023-03-17 03:10:00,0.0,3.0 -10820,2023-03-17 03:20:00,0.0,3.0 -10821,2023-03-17 03:30:00,0.0,3.0 -10822,2023-03-17 03:40:00,0.0,3.0 -10823,2023-03-17 03:50:00,0.0,3.0 -10842,2023-03-17 07:00:00,0.0,3.0 -10843,2023-03-17 07:10:00,0.0,3.0 -10844,2023-03-17 07:20:00,0.0,3.0 -10845,2023-03-17 07:30:00,0.0,3.0 -10846,2023-03-17 07:40:00,0.0,3.0 -10847,2023-03-17 07:50:00,0.0,3.0 -10848,2023-03-17 08:00:00,0.0,5.0 -10849,2023-03-17 08:10:00,0.0,5.0 -10850,2023-03-17 08:20:00,0.0,5.0 -10851,2023-03-17 08:30:00,0.0,5.0 -10852,2023-03-17 08:40:00,0.0,5.0 -10853,2023-03-17 08:50:00,0.0,5.0 -10872,2023-03-17 12:00:00,0.0,6.0 -10873,2023-03-17 12:10:00,0.0,6.0 -10874,2023-03-17 12:20:00,0.0,6.0 -10875,2023-03-17 12:30:00,0.0,6.0 -10876,2023-03-17 12:40:00,0.0,6.0 -10877,2023-03-17 12:50:00,0.0,6.0 -10884,2023-03-17 14:00:00,0.0,5.0 -10885,2023-03-17 14:10:00,0.0,5.0 -10886,2023-03-17 14:20:00,0.0,5.0 -10887,2023-03-17 14:30:00,0.0,5.0 -10888,2023-03-17 14:40:00,0.0,5.0 -10889,2023-03-17 14:50:00,0.0,5.0 -10890,2023-03-17 15:00:00,0.0,7.0 -10891,2023-03-17 15:10:00,0.0,7.0 -10892,2023-03-17 15:20:00,0.0,7.0 -10893,2023-03-17 15:30:00,0.0,7.0 -10894,2023-03-17 15:40:00,0.0,7.0 -10895,2023-03-17 15:50:00,0.0,7.0 -10902,2023-03-17 17:00:00,0.0,5.0 -10903,2023-03-17 17:10:00,0.0,5.0 -10904,2023-03-17 17:20:00,0.0,5.0 -10905,2023-03-17 17:30:00,0.0,5.0 -10906,2023-03-17 17:40:00,0.0,5.0 -10907,2023-03-17 17:50:00,0.0,5.0 -10914,2023-03-17 19:00:00,0.0,5.0 -10915,2023-03-17 19:10:00,0.0,5.0 -10916,2023-03-17 19:20:00,0.0,5.0 -10917,2023-03-17 19:30:00,0.0,5.0 -10918,2023-03-17 19:40:00,0.0,5.0 -10919,2023-03-17 19:50:00,0.0,5.0 -10920,2023-03-17 20:00:00,0.0,4.0 -10921,2023-03-17 20:10:00,0.0,4.0 -10922,2023-03-17 20:20:00,0.0,4.0 -10923,2023-03-17 20:30:00,0.0,4.0 -10924,2023-03-17 20:40:00,0.0,4.0 -10925,2023-03-17 20:50:00,0.0,4.0 -10926,2023-03-17 21:00:00,0.0,5.0 -10927,2023-03-17 21:10:00,0.0,5.0 -10928,2023-03-17 21:20:00,0.0,5.0 -10929,2023-03-17 21:30:00,0.0,5.0 -10930,2023-03-17 21:40:00,0.0,5.0 -10931,2023-03-17 21:50:00,0.0,5.0 -10932,2023-03-17 22:00:00,0.0,3.0 -10933,2023-03-17 22:10:00,0.0,3.0 -10934,2023-03-17 22:20:00,0.0,3.0 -10935,2023-03-17 22:30:00,0.0,3.0 -10936,2023-03-17 22:40:00,0.0,3.0 -10937,2023-03-17 22:50:00,0.0,3.0 -10938,2023-03-17 23:00:00,0.0,5.0 -10939,2023-03-17 23:10:00,0.0,5.0 -10940,2023-03-17 23:20:00,0.0,5.0 -10941,2023-03-17 23:30:00,0.0,5.0 -10942,2023-03-17 23:40:00,0.0,5.0 -10943,2023-03-17 23:50:00,0.0,5.0 -10956,2023-03-18 02:00:00,0.0,5.0 -10957,2023-03-18 02:10:00,0.0,5.0 -10958,2023-03-18 02:20:00,0.0,5.0 -10959,2023-03-18 02:30:00,0.0,5.0 -10960,2023-03-18 02:40:00,0.0,5.0 -10961,2023-03-18 02:50:00,0.0,5.0 -10980,2023-03-18 06:00:00,0.0,5.0 -10981,2023-03-18 06:10:00,0.0,5.0 -10982,2023-03-18 06:20:00,0.0,5.0 -10983,2023-03-18 06:30:00,0.0,5.0 -10984,2023-03-18 06:40:00,0.0,5.0 -10985,2023-03-18 06:50:00,0.0,5.0 -10986,2023-03-18 07:00:00,0.0,5.0 -10987,2023-03-18 07:10:00,0.0,5.0 -10988,2023-03-18 07:20:00,0.0,5.0 -10989,2023-03-18 07:30:00,0.0,5.0 -10990,2023-03-18 07:40:00,0.0,5.0 -10991,2023-03-18 07:50:00,0.0,5.0 -10992,2023-03-18 08:00:00,0.0,5.0 -10993,2023-03-18 08:10:00,0.0,5.0 -10994,2023-03-18 08:20:00,0.0,5.0 -10995,2023-03-18 08:30:00,0.0,5.0 -10996,2023-03-18 08:40:00,0.0,5.0 -10997,2023-03-18 08:50:00,0.0,5.0 -10998,2023-03-18 09:00:00,0.0,5.0 -10999,2023-03-18 09:10:00,0.0,5.0 -11000,2023-03-18 09:20:00,0.0,5.0 -11001,2023-03-18 09:30:00,0.0,5.0 -11002,2023-03-18 09:40:00,0.0,5.0 -11003,2023-03-18 09:50:00,0.0,5.0 -11022,2023-03-18 13:00:00,0.0,7.0 -11023,2023-03-18 13:10:00,0.0,7.0 -11024,2023-03-18 13:20:00,0.0,7.0 -11025,2023-03-18 13:30:00,0.0,7.0 -11026,2023-03-18 13:40:00,0.0,7.0 -11027,2023-03-18 13:50:00,0.0,7.0 -11046,2023-03-18 17:00:00,0.0,5.0 -11047,2023-03-18 17:10:00,0.0,5.0 -11048,2023-03-18 17:20:00,0.0,5.0 -11049,2023-03-18 17:30:00,0.0,5.0 -11050,2023-03-18 17:40:00,0.0,5.0 -11051,2023-03-18 17:50:00,0.0,5.0 -11052,2023-03-18 18:00:00,0.0,3.0 -11053,2023-03-18 18:10:00,0.0,3.0 -11054,2023-03-18 18:20:00,0.0,3.0 -11055,2023-03-18 18:30:00,0.0,3.0 -11056,2023-03-18 18:40:00,0.0,3.0 -11057,2023-03-18 18:50:00,0.0,3.0 -11064,2023-03-18 20:00:00,0.0,6.0 -11065,2023-03-18 20:10:00,0.0,6.0 -11066,2023-03-18 20:20:00,0.0,6.0 -11067,2023-03-18 20:30:00,0.0,6.0 -11068,2023-03-18 20:40:00,0.0,6.0 -11069,2023-03-18 20:50:00,0.0,6.0 -11070,2023-03-18 21:00:00,0.0,6.0 -11071,2023-03-18 21:10:00,0.0,6.0 -11072,2023-03-18 21:20:00,0.0,6.0 -11073,2023-03-18 21:30:00,0.0,6.0 -11074,2023-03-18 21:40:00,0.0,6.0 -11075,2023-03-18 21:50:00,0.0,6.0 -11076,2023-03-18 22:00:00,0.0,6.0 -11077,2023-03-18 22:10:00,0.0,6.0 -11078,2023-03-18 22:20:00,0.0,6.0 -11079,2023-03-18 22:30:00,0.0,6.0 -11080,2023-03-18 22:40:00,0.0,6.0 -11081,2023-03-18 22:50:00,0.0,6.0 -11082,2023-03-18 23:00:00,0.0,6.0 -11083,2023-03-18 23:10:00,0.0,6.0 -11084,2023-03-18 23:20:00,0.0,6.0 -11085,2023-03-18 23:30:00,0.0,6.0 -11086,2023-03-18 23:40:00,0.0,6.0 -11087,2023-03-18 23:50:00,0.0,6.0 -11100,2023-03-19 02:00:00,0.0,3.0 -11101,2023-03-19 02:10:00,0.0,3.0 -11102,2023-03-19 02:20:00,0.0,3.0 -11103,2023-03-19 02:30:00,0.0,3.0 -11104,2023-03-19 02:40:00,0.0,3.0 -11105,2023-03-19 02:50:00,0.0,3.0 -11112,2023-03-19 04:00:00,0.0,6.0 -11113,2023-03-19 04:10:00,0.0,6.0 -11114,2023-03-19 04:20:00,0.0,6.0 -11115,2023-03-19 04:30:00,0.0,6.0 -11116,2023-03-19 04:40:00,0.0,6.0 -11117,2023-03-19 04:50:00,0.0,6.0 -11124,2023-03-19 06:00:00,0.0,3.0 -11125,2023-03-19 06:10:00,0.0,3.0 -11126,2023-03-19 06:20:00,0.0,3.0 -11127,2023-03-19 06:30:00,0.0,3.0 -11128,2023-03-19 06:40:00,0.0,3.0 -11129,2023-03-19 06:50:00,0.0,3.0 -11136,2023-03-19 08:00:00,0.0,3.0 -11137,2023-03-19 08:10:00,0.0,3.0 -11138,2023-03-19 08:20:00,0.0,3.0 -11139,2023-03-19 08:30:00,0.0,3.0 -11140,2023-03-19 08:40:00,0.0,3.0 -11141,2023-03-19 08:50:00,0.0,3.0 -11154,2023-03-19 11:00:00,0.0,3.0 -11155,2023-03-19 11:10:00,0.0,3.0 -11156,2023-03-19 11:20:00,0.0,3.0 -11157,2023-03-19 11:30:00,0.0,3.0 -11158,2023-03-19 11:40:00,0.0,3.0 -11159,2023-03-19 11:50:00,0.0,3.0 -11160,2023-03-19 12:00:00,0.0,5.0 -11161,2023-03-19 12:10:00,0.0,5.0 -11162,2023-03-19 12:20:00,0.0,5.0 -11163,2023-03-19 12:30:00,0.0,5.0 -11164,2023-03-19 12:40:00,0.0,5.0 -11165,2023-03-19 12:50:00,0.0,5.0 -11166,2023-03-19 13:00:00,0.0,3.0 -11167,2023-03-19 13:10:00,0.0,3.0 -11168,2023-03-19 13:20:00,0.0,3.0 -11169,2023-03-19 13:30:00,0.0,3.0 -11170,2023-03-19 13:40:00,0.0,3.0 -11171,2023-03-19 13:50:00,0.0,3.0 -11172,2023-03-19 14:00:00,0.0,3.0 -11173,2023-03-19 14:10:00,0.0,3.0 -11174,2023-03-19 14:20:00,0.0,3.0 -11175,2023-03-19 14:30:00,0.0,3.0 -11176,2023-03-19 14:40:00,0.0,3.0 -11177,2023-03-19 14:50:00,0.0,3.0 -11178,2023-03-19 15:00:00,0.0,3.0 -11179,2023-03-19 15:10:00,0.0,3.0 -11180,2023-03-19 15:20:00,0.0,3.0 -11181,2023-03-19 15:30:00,0.0,3.0 -11182,2023-03-19 15:40:00,0.0,3.0 -11183,2023-03-19 15:50:00,0.0,3.0 -11208,2023-03-19 20:00:00,0.0,3.0 -11209,2023-03-19 20:10:00,0.0,3.0 -11210,2023-03-19 20:20:00,0.0,3.0 -11211,2023-03-19 20:30:00,0.0,3.0 -11212,2023-03-19 20:40:00,0.0,3.0 -11213,2023-03-19 20:50:00,0.0,3.0 -11220,2023-03-19 22:00:00,0.0,3.0 -11221,2023-03-19 22:10:00,0.0,3.0 -11222,2023-03-19 22:20:00,0.0,3.0 -11223,2023-03-19 22:30:00,0.0,3.0 -11224,2023-03-19 22:40:00,0.0,3.0 -11225,2023-03-19 22:50:00,0.0,3.0 -11256,2023-03-20 04:00:00,0.0,3.0 -11257,2023-03-20 04:10:00,0.0,3.0 -11258,2023-03-20 04:20:00,0.0,3.0 -11259,2023-03-20 04:30:00,0.0,3.0 -11260,2023-03-20 04:40:00,0.0,3.0 -11261,2023-03-20 04:50:00,0.0,3.0 -11268,2023-03-20 06:00:00,0.0,3.0 -11269,2023-03-20 06:10:00,0.0,3.0 -11270,2023-03-20 06:20:00,0.0,3.0 -11271,2023-03-20 06:30:00,0.0,3.0 -11272,2023-03-20 06:40:00,0.0,3.0 -11273,2023-03-20 06:50:00,0.0,3.0 -11292,2023-03-20 10:00:00,0.0,4.0 -11293,2023-03-20 10:10:00,0.0,4.0 -11294,2023-03-20 10:20:00,0.0,4.0 -11295,2023-03-20 10:30:00,0.0,4.0 -11296,2023-03-20 10:40:00,0.0,4.0 -11297,2023-03-20 10:50:00,0.0,4.0 -11298,2023-03-20 11:00:00,0.0,4.0 -11299,2023-03-20 11:10:00,0.0,4.0 -11300,2023-03-20 11:20:00,0.0,4.0 -11301,2023-03-20 11:30:00,0.0,4.0 -11302,2023-03-20 11:40:00,0.0,4.0 -11303,2023-03-20 11:50:00,0.0,4.0 -11304,2023-03-20 12:00:00,0.0,4.0 -11305,2023-03-20 12:10:00,0.0,4.0 -11306,2023-03-20 12:20:00,0.0,4.0 -11307,2023-03-20 12:30:00,0.0,4.0 -11308,2023-03-20 12:40:00,0.0,4.0 -11309,2023-03-20 12:50:00,0.0,4.0 -11316,2023-03-20 14:00:00,0.0,4.0 -11317,2023-03-20 14:10:00,0.0,4.0 -11318,2023-03-20 14:20:00,0.0,4.0 -11319,2023-03-20 14:30:00,0.0,4.0 -11320,2023-03-20 14:40:00,0.0,4.0 -11321,2023-03-20 14:50:00,0.0,4.0 -11322,2023-03-20 15:00:00,0.0,4.0 -11323,2023-03-20 15:10:00,0.0,4.0 -11324,2023-03-20 15:20:00,0.0,4.0 -11325,2023-03-20 15:30:00,0.0,4.0 -11326,2023-03-20 15:40:00,0.0,4.0 -11327,2023-03-20 15:50:00,0.0,4.0 -11328,2023-03-20 16:00:00,0.0,4.0 -11329,2023-03-20 16:10:00,0.0,4.0 -11330,2023-03-20 16:20:00,0.0,4.0 -11331,2023-03-20 16:30:00,0.0,4.0 -11332,2023-03-20 16:40:00,0.0,4.0 -11333,2023-03-20 16:50:00,0.0,4.0 -11346,2023-03-20 19:00:00,0.0,4.0 -11347,2023-03-20 19:10:00,0.0,4.0 -11348,2023-03-20 19:20:00,0.0,4.0 -11349,2023-03-20 19:30:00,0.0,4.0 -11350,2023-03-20 19:40:00,0.0,4.0 -11351,2023-03-20 19:50:00,0.0,4.0 -11352,2023-03-20 20:00:00,0.0,4.0 -11353,2023-03-20 20:10:00,0.0,4.0 -11354,2023-03-20 20:20:00,0.0,4.0 -11355,2023-03-20 20:30:00,0.0,4.0 -11356,2023-03-20 20:40:00,0.0,4.0 -11357,2023-03-20 20:50:00,0.0,4.0 -11358,2023-03-20 21:00:00,0.0,3.0 -11359,2023-03-20 21:10:00,0.0,3.0 -11360,2023-03-20 21:20:00,0.0,3.0 -11361,2023-03-20 21:30:00,0.0,3.0 -11362,2023-03-20 21:40:00,0.0,3.0 -11363,2023-03-20 21:50:00,0.0,3.0 -11370,2023-03-20 23:00:00,0.0,3.0 -11371,2023-03-20 23:10:00,0.0,3.0 -11372,2023-03-20 23:20:00,0.0,3.0 -11373,2023-03-20 23:30:00,0.0,3.0 -11374,2023-03-20 23:40:00,0.0,3.0 -11375,2023-03-20 23:50:00,0.0,3.0 -11376,2023-03-21 00:00:00,0.0,4.0 -11377,2023-03-21 00:10:00,0.0,4.0 -11378,2023-03-21 00:20:00,0.0,4.0 -11379,2023-03-21 00:30:00,0.0,4.0 -11380,2023-03-21 00:40:00,0.0,4.0 -11381,2023-03-21 00:50:00,0.0,4.0 -11382,2023-03-21 01:00:00,0.0,3.0 -11383,2023-03-21 01:10:00,0.0,3.0 -11384,2023-03-21 01:20:00,0.0,3.0 -11385,2023-03-21 01:30:00,0.0,3.0 -11386,2023-03-21 01:40:00,0.0,3.0 -11387,2023-03-21 01:50:00,0.0,3.0 -11388,2023-03-21 02:00:00,0.0,4.0 -11389,2023-03-21 02:10:00,0.0,4.0 -11390,2023-03-21 02:20:00,0.0,4.0 -11391,2023-03-21 02:30:00,0.0,4.0 -11392,2023-03-21 02:40:00,0.0,4.0 -11393,2023-03-21 02:50:00,0.0,4.0 -11400,2023-03-21 04:00:00,0.0,3.0 -11401,2023-03-21 04:10:00,0.0,3.0 -11402,2023-03-21 04:20:00,0.0,3.0 -11403,2023-03-21 04:30:00,0.0,3.0 -11404,2023-03-21 04:40:00,0.0,3.0 -11405,2023-03-21 04:50:00,0.0,3.0 -11406,2023-03-21 05:00:00,0.0,4.0 -11407,2023-03-21 05:10:00,0.0,4.0 -11408,2023-03-21 05:20:00,0.0,4.0 -11409,2023-03-21 05:30:00,0.0,4.0 -11410,2023-03-21 05:40:00,0.0,4.0 -11411,2023-03-21 05:50:00,0.0,4.0 -11412,2023-03-21 06:00:00,0.0,4.0 -11413,2023-03-21 06:10:00,0.0,4.0 -11414,2023-03-21 06:20:00,0.0,4.0 -11415,2023-03-21 06:30:00,0.0,4.0 -11416,2023-03-21 06:40:00,0.0,4.0 -11417,2023-03-21 06:50:00,0.0,4.0 -11418,2023-03-21 07:00:00,0.0,4.0 -11419,2023-03-21 07:10:00,0.0,4.0 -11420,2023-03-21 07:20:00,0.0,4.0 -11421,2023-03-21 07:30:00,0.0,4.0 -11422,2023-03-21 07:40:00,0.0,4.0 -11423,2023-03-21 07:50:00,0.0,4.0 -11424,2023-03-21 08:00:00,0.0,5.0 -11425,2023-03-21 08:10:00,0.0,5.0 -11426,2023-03-21 08:20:00,0.0,5.0 -11427,2023-03-21 08:30:00,0.0,5.0 -11428,2023-03-21 08:40:00,0.0,5.0 -11429,2023-03-21 08:50:00,0.0,5.0 -11430,2023-03-21 09:00:00,0.0,5.0 -11431,2023-03-21 09:10:00,0.0,5.0 -11432,2023-03-21 09:20:00,0.0,5.0 -11433,2023-03-21 09:30:00,0.0,5.0 -11434,2023-03-21 09:40:00,0.0,5.0 -11435,2023-03-21 09:50:00,0.0,5.0 -11436,2023-03-21 10:00:00,0.0,6.0 -11437,2023-03-21 10:10:00,0.0,6.0 -11438,2023-03-21 10:20:00,0.0,6.0 -11439,2023-03-21 10:30:00,0.0,6.0 -11440,2023-03-21 10:40:00,0.0,6.0 -11441,2023-03-21 10:50:00,0.0,6.0 -11442,2023-03-21 11:00:00,0.0,5.0 -11443,2023-03-21 11:10:00,0.0,5.0 -11444,2023-03-21 11:20:00,0.0,5.0 -11445,2023-03-21 11:30:00,0.0,5.0 -11446,2023-03-21 11:40:00,0.0,5.0 -11447,2023-03-21 11:50:00,0.0,5.0 -11448,2023-03-21 12:00:00,0.0,5.0 -11449,2023-03-21 12:10:00,0.0,5.0 -11450,2023-03-21 12:20:00,0.0,5.0 -11451,2023-03-21 12:30:00,0.0,5.0 -11452,2023-03-21 12:40:00,0.0,5.0 -11453,2023-03-21 12:50:00,0.0,5.0 -11472,2023-03-21 16:00:00,0.0,6.0 -11473,2023-03-21 16:10:00,0.0,6.0 -11474,2023-03-21 16:20:00,0.0,6.0 -11475,2023-03-21 16:30:00,0.0,6.0 -11476,2023-03-21 16:40:00,0.0,6.0 -11477,2023-03-21 16:50:00,0.0,6.0 -11478,2023-03-21 17:00:00,0.0,6.0 -11479,2023-03-21 17:10:00,0.0,6.0 -11480,2023-03-21 17:20:00,0.0,6.0 -11481,2023-03-21 17:30:00,0.0,6.0 -11482,2023-03-21 17:40:00,0.0,6.0 -11483,2023-03-21 17:50:00,0.0,6.0 -11490,2023-03-21 19:00:00,0.0,3.0 -11491,2023-03-21 19:10:00,0.0,3.0 -11492,2023-03-21 19:20:00,0.0,3.0 -11493,2023-03-21 19:30:00,0.0,3.0 -11494,2023-03-21 19:40:00,0.0,3.0 -11495,2023-03-21 19:50:00,0.0,3.0 -11496,2023-03-21 20:00:00,0.0,5.0 -11497,2023-03-21 20:10:00,0.0,5.0 -11498,2023-03-21 20:20:00,0.0,5.0 -11499,2023-03-21 20:30:00,0.0,5.0 -11500,2023-03-21 20:40:00,0.0,5.0 -11501,2023-03-21 20:50:00,0.0,5.0 -11514,2023-03-21 23:00:00,0.0,3.0 -11515,2023-03-21 23:10:00,0.0,3.0 -11516,2023-03-21 23:20:00,0.0,3.0 -11517,2023-03-21 23:30:00,0.0,3.0 -11518,2023-03-21 23:40:00,0.0,3.0 -11519,2023-03-21 23:50:00,0.0,3.0 -11538,2023-03-22 03:00:00,0.0,3.0 -11539,2023-03-22 03:10:00,0.0,3.0 -11540,2023-03-22 03:20:00,0.0,3.0 -11541,2023-03-22 03:30:00,0.0,3.0 -11542,2023-03-22 03:40:00,0.0,3.0 -11543,2023-03-22 03:50:00,0.0,3.0 -11556,2023-03-22 06:00:00,0.0,5.0 -11557,2023-03-22 06:10:00,0.0,5.0 -11558,2023-03-22 06:20:00,0.0,5.0 -11559,2023-03-22 06:30:00,0.0,5.0 -11560,2023-03-22 06:40:00,0.0,5.0 -11561,2023-03-22 06:50:00,0.0,5.0 -11568,2023-03-22 08:00:00,0.0,4.0 -11569,2023-03-22 08:10:00,0.0,4.0 -11570,2023-03-22 08:20:00,0.0,4.0 -11571,2023-03-22 08:30:00,0.0,4.0 -11572,2023-03-22 08:40:00,0.0,4.0 -11573,2023-03-22 08:50:00,0.0,4.0 -11574,2023-03-22 09:00:00,0.0,5.0 -11575,2023-03-22 09:10:00,0.0,5.0 -11576,2023-03-22 09:20:00,0.0,5.0 -11577,2023-03-22 09:30:00,0.0,5.0 -11578,2023-03-22 09:40:00,0.0,5.0 -11579,2023-03-22 09:50:00,0.0,5.0 -11580,2023-03-22 10:00:00,0.0,6.0 -11581,2023-03-22 10:10:00,0.0,6.0 -11582,2023-03-22 10:20:00,0.0,6.0 -11583,2023-03-22 10:30:00,0.0,6.0 -11584,2023-03-22 10:40:00,0.0,6.0 -11585,2023-03-22 10:50:00,0.0,6.0 -11592,2023-03-22 12:00:00,0.0,5.0 -11593,2023-03-22 12:10:00,0.0,5.0 -11594,2023-03-22 12:20:00,0.0,5.0 -11595,2023-03-22 12:30:00,0.0,5.0 -11596,2023-03-22 12:40:00,0.0,5.0 -11597,2023-03-22 12:50:00,0.0,5.0 -11598,2023-03-22 13:00:00,0.0,5.0 -11599,2023-03-22 13:10:00,0.0,5.0 -11600,2023-03-22 13:20:00,0.0,5.0 -11601,2023-03-22 13:30:00,0.0,5.0 -11602,2023-03-22 13:40:00,0.0,5.0 -11603,2023-03-22 13:50:00,0.0,5.0 -11610,2023-03-22 15:00:00,0.0,6.0 -11611,2023-03-22 15:10:00,0.0,6.0 -11612,2023-03-22 15:20:00,0.0,6.0 -11613,2023-03-22 15:30:00,0.0,6.0 -11614,2023-03-22 15:40:00,0.0,6.0 -11615,2023-03-22 15:50:00,0.0,6.0 -11616,2023-03-22 16:00:00,0.0,6.0 -11617,2023-03-22 16:10:00,0.0,6.0 -11618,2023-03-22 16:20:00,0.0,6.0 -11619,2023-03-22 16:30:00,0.0,6.0 -11620,2023-03-22 16:40:00,0.0,6.0 -11621,2023-03-22 16:50:00,0.0,6.0 -11622,2023-03-22 17:00:00,0.0,6.0 -11623,2023-03-22 17:10:00,0.0,6.0 -11624,2023-03-22 17:20:00,0.0,6.0 -11625,2023-03-22 17:30:00,0.0,6.0 -11626,2023-03-22 17:40:00,0.0,6.0 -11627,2023-03-22 17:50:00,0.0,6.0 -11628,2023-03-22 18:00:00,0.0,6.0 -11629,2023-03-22 18:10:00,0.0,6.0 -11630,2023-03-22 18:20:00,0.0,6.0 -11631,2023-03-22 18:30:00,0.0,6.0 -11632,2023-03-22 18:40:00,0.0,6.0 -11633,2023-03-22 18:50:00,0.0,6.0 -11640,2023-03-22 20:00:00,0.0,4.0 -11641,2023-03-22 20:10:00,0.0,4.0 -11642,2023-03-22 20:20:00,0.0,4.0 -11643,2023-03-22 20:30:00,0.0,4.0 -11644,2023-03-22 20:40:00,0.0,4.0 -11645,2023-03-22 20:50:00,0.0,4.0 -11646,2023-03-22 21:00:00,0.0,6.0 -11647,2023-03-22 21:10:00,0.0,6.0 -11648,2023-03-22 21:20:00,0.0,6.0 -11649,2023-03-22 21:30:00,0.0,6.0 -11650,2023-03-22 21:40:00,0.0,6.0 -11651,2023-03-22 21:50:00,0.0,6.0 -11664,2023-03-23 00:00:00,0.0,6.0 -11665,2023-03-23 00:10:00,0.0,6.0 -11666,2023-03-23 00:20:00,0.0,6.0 -11667,2023-03-23 00:30:00,0.0,6.0 -11668,2023-03-23 00:40:00,0.0,6.0 -11669,2023-03-23 00:50:00,0.0,6.0 -11676,2023-03-23 02:00:00,0.0,6.0 -11677,2023-03-23 02:10:00,0.0,6.0 -11678,2023-03-23 02:20:00,0.0,6.0 -11679,2023-03-23 02:30:00,0.0,6.0 -11680,2023-03-23 02:40:00,0.0,6.0 -11681,2023-03-23 02:50:00,0.0,6.0 -11688,2023-03-23 04:00:00,0.0,5.0 -11689,2023-03-23 04:10:00,0.0,5.0 -11690,2023-03-23 04:20:00,0.0,5.0 -11691,2023-03-23 04:30:00,0.0,5.0 -11692,2023-03-23 04:40:00,0.0,5.0 -11693,2023-03-23 04:50:00,0.0,5.0 -11706,2023-03-23 07:00:00,0.0,6.0 -11707,2023-03-23 07:10:00,0.0,6.0 -11708,2023-03-23 07:20:00,0.0,6.0 -11709,2023-03-23 07:30:00,0.0,6.0 -11710,2023-03-23 07:40:00,0.0,6.0 -11711,2023-03-23 07:50:00,0.0,6.0 -11712,2023-03-23 08:00:00,0.0,6.0 -11713,2023-03-23 08:10:00,0.0,6.0 -11714,2023-03-23 08:20:00,0.0,6.0 -11715,2023-03-23 08:30:00,0.0,6.0 -11716,2023-03-23 08:40:00,0.0,6.0 -11717,2023-03-23 08:50:00,0.0,6.0 -11724,2023-03-23 10:00:00,0.0,6.0 -11725,2023-03-23 10:10:00,0.0,6.0 -11726,2023-03-23 10:20:00,0.0,6.0 -11727,2023-03-23 10:30:00,0.0,6.0 -11728,2023-03-23 10:40:00,0.0,6.0 -11729,2023-03-23 10:50:00,0.0,6.0 -11736,2023-03-23 12:00:00,0.0,5.0 -11737,2023-03-23 12:10:00,0.0,5.0 -11738,2023-03-23 12:20:00,0.0,5.0 -11739,2023-03-23 12:30:00,0.0,5.0 -11740,2023-03-23 12:40:00,0.0,5.0 -11741,2023-03-23 12:50:00,0.0,5.0 -11742,2023-03-23 13:00:00,0.0,5.0 -11743,2023-03-23 13:10:00,0.0,5.0 -11744,2023-03-23 13:20:00,0.0,5.0 -11745,2023-03-23 13:30:00,0.0,5.0 -11746,2023-03-23 13:40:00,0.0,5.0 -11747,2023-03-23 13:50:00,0.0,5.0 -11760,2023-03-23 16:00:00,0.0,5.0 -11761,2023-03-23 16:10:00,0.0,5.0 -11762,2023-03-23 16:20:00,0.0,5.0 -11763,2023-03-23 16:30:00,0.0,5.0 -11764,2023-03-23 16:40:00,0.0,5.0 -11765,2023-03-23 16:50:00,0.0,5.0 -11790,2023-03-23 21:00:00,0.0,6.0 -11791,2023-03-23 21:10:00,0.0,6.0 -11792,2023-03-23 21:20:00,0.0,6.0 -11793,2023-03-23 21:30:00,0.0,6.0 -11794,2023-03-23 21:40:00,0.0,6.0 -11795,2023-03-23 21:50:00,0.0,6.0 -11796,2023-03-23 22:00:00,0.0,6.0 -11797,2023-03-23 22:10:00,0.0,6.0 -11798,2023-03-23 22:20:00,0.0,6.0 -11799,2023-03-23 22:30:00,0.0,6.0 -11800,2023-03-23 22:40:00,0.0,6.0 -11801,2023-03-23 22:50:00,0.0,6.0 -11802,2023-03-23 23:00:00,0.0,6.0 -11803,2023-03-23 23:10:00,0.0,6.0 -11804,2023-03-23 23:20:00,0.0,6.0 -11805,2023-03-23 23:30:00,0.0,6.0 -11806,2023-03-23 23:40:00,0.0,6.0 -11807,2023-03-23 23:50:00,0.0,6.0 -11838,2023-03-24 05:00:00,0.0,3.0 -11839,2023-03-24 05:10:00,0.0,3.0 -11840,2023-03-24 05:20:00,0.0,3.0 -11841,2023-03-24 05:30:00,0.0,3.0 -11842,2023-03-24 05:40:00,0.0,3.0 -11843,2023-03-24 05:50:00,0.0,3.0 -11850,2023-03-24 07:00:00,0.0,5.0 -11851,2023-03-24 07:10:00,0.0,5.0 -11852,2023-03-24 07:20:00,0.0,5.0 -11853,2023-03-24 07:30:00,0.0,5.0 -11854,2023-03-24 07:40:00,0.0,5.0 -11855,2023-03-24 07:50:00,0.0,5.0 -11868,2023-03-24 10:00:00,0.0,5.0 -11869,2023-03-24 10:10:00,0.0,5.0 -11870,2023-03-24 10:20:00,0.0,5.0 -11871,2023-03-24 10:30:00,0.0,5.0 -11872,2023-03-24 10:40:00,0.0,5.0 -11873,2023-03-24 10:50:00,0.0,5.0 -11916,2023-03-24 18:00:00,0.0,5.0 -11917,2023-03-24 18:10:00,0.0,5.0 -11918,2023-03-24 18:20:00,0.0,5.0 -11919,2023-03-24 18:30:00,0.0,5.0 -11920,2023-03-24 18:40:00,0.0,5.0 -11921,2023-03-24 18:50:00,0.0,5.0 -11928,2023-03-24 20:00:00,0.0,3.0 -11929,2023-03-24 20:10:00,0.0,3.0 -11930,2023-03-24 20:20:00,0.0,3.0 -11931,2023-03-24 20:30:00,0.0,3.0 -11932,2023-03-24 20:40:00,0.0,3.0 -11933,2023-03-24 20:50:00,0.0,3.0 -11934,2023-03-24 21:00:00,0.0,4.0 -11935,2023-03-24 21:10:00,0.0,4.0 -11936,2023-03-24 21:20:00,0.0,4.0 -11937,2023-03-24 21:30:00,0.0,4.0 -11938,2023-03-24 21:40:00,0.0,4.0 -11939,2023-03-24 21:50:00,0.0,4.0 -11940,2023-03-24 22:00:00,0.0,4.0 -11941,2023-03-24 22:10:00,0.0,4.0 -11942,2023-03-24 22:20:00,0.0,4.0 -11943,2023-03-24 22:30:00,0.0,4.0 -11944,2023-03-24 22:40:00,0.0,4.0 -11945,2023-03-24 22:50:00,0.0,4.0 -11946,2023-03-24 23:00:00,0.0,4.0 -11947,2023-03-24 23:10:00,0.0,4.0 -11948,2023-03-24 23:20:00,0.0,4.0 -11949,2023-03-24 23:30:00,0.0,4.0 -11950,2023-03-24 23:40:00,0.0,4.0 -11951,2023-03-24 23:50:00,0.0,4.0 -11970,2023-03-25 03:00:00,0.0,3.0 -11971,2023-03-25 03:10:00,0.0,3.0 -11972,2023-03-25 03:20:00,0.0,3.0 -11973,2023-03-25 03:30:00,0.0,3.0 -11974,2023-03-25 03:40:00,0.0,3.0 -11975,2023-03-25 03:50:00,0.0,3.0 -12000,2023-03-25 08:00:00,0.0,4.0 -12001,2023-03-25 08:10:00,0.0,4.0 -12002,2023-03-25 08:20:00,0.0,4.0 -12003,2023-03-25 08:30:00,0.0,4.0 -12004,2023-03-25 08:40:00,0.0,4.0 -12005,2023-03-25 08:50:00,0.0,4.0 -12006,2023-03-25 09:00:00,0.0,4.0 -12007,2023-03-25 09:10:00,0.0,4.0 -12008,2023-03-25 09:20:00,0.0,4.0 -12009,2023-03-25 09:30:00,0.0,4.0 -12010,2023-03-25 09:40:00,0.0,4.0 -12011,2023-03-25 09:50:00,0.0,4.0 -12024,2023-03-25 12:00:00,0.0,4.0 -12025,2023-03-25 12:10:00,0.0,4.0 -12026,2023-03-25 12:20:00,0.0,4.0 -12027,2023-03-25 12:30:00,0.0,4.0 -12028,2023-03-25 12:40:00,0.0,4.0 -12029,2023-03-25 12:50:00,0.0,4.0 -12036,2023-03-25 14:00:00,0.0,3.0 -12037,2023-03-25 14:10:00,0.0,3.0 -12038,2023-03-25 14:20:00,0.0,3.0 -12039,2023-03-25 14:30:00,0.0,3.0 -12040,2023-03-25 14:40:00,0.0,3.0 -12041,2023-03-25 14:50:00,0.0,3.0 -12048,2023-03-25 16:00:00,0.0,5.0 -12049,2023-03-25 16:10:00,0.0,5.0 -12050,2023-03-25 16:20:00,0.0,5.0 -12051,2023-03-25 16:30:00,0.0,5.0 -12052,2023-03-25 16:40:00,0.0,5.0 -12053,2023-03-25 16:50:00,0.0,5.0 -12066,2023-03-25 19:00:00,0.0,3.0 -12067,2023-03-25 19:10:00,0.0,3.0 -12068,2023-03-25 19:20:00,0.0,3.0 -12069,2023-03-25 19:30:00,0.0,3.0 -12070,2023-03-25 19:40:00,0.0,3.0 -12071,2023-03-25 19:50:00,0.0,3.0 -12078,2023-03-25 21:00:00,0.0,3.0 -12079,2023-03-25 21:10:00,0.0,3.0 -12080,2023-03-25 21:20:00,0.0,3.0 -12081,2023-03-25 21:30:00,0.0,3.0 -12082,2023-03-25 21:40:00,0.0,3.0 -12083,2023-03-25 21:50:00,0.0,3.0 -12084,2023-03-25 22:00:00,0.0,4.0 -12085,2023-03-25 22:10:00,0.0,4.0 -12086,2023-03-25 22:20:00,0.0,4.0 -12087,2023-03-25 22:30:00,0.0,4.0 -12088,2023-03-25 22:40:00,0.0,4.0 -12089,2023-03-25 22:50:00,0.0,4.0 -12090,2023-03-25 23:00:00,0.0,3.0 -12091,2023-03-25 23:10:00,0.0,3.0 -12092,2023-03-25 23:20:00,0.0,3.0 -12093,2023-03-25 23:30:00,0.0,3.0 -12094,2023-03-25 23:40:00,0.0,3.0 -12095,2023-03-25 23:50:00,0.0,3.0 -12096,2023-03-26 00:00:00,0.0,3.0 -12097,2023-03-26 00:10:00,0.0,3.0 -12098,2023-03-26 00:20:00,0.0,3.0 -12099,2023-03-26 00:30:00,0.0,3.0 -12100,2023-03-26 00:40:00,0.0,3.0 -12101,2023-03-26 00:50:00,0.0,3.0 -12114,2023-03-26 03:00:00,0.0,3.0 -12115,2023-03-26 03:10:00,0.0,3.0 -12116,2023-03-26 03:20:00,0.0,3.0 -12117,2023-03-26 03:30:00,0.0,3.0 -12118,2023-03-26 03:40:00,0.0,3.0 -12119,2023-03-26 03:50:00,0.0,3.0 -12126,2023-03-26 05:00:00,0.0,4.0 -12127,2023-03-26 05:10:00,0.0,4.0 -12128,2023-03-26 05:20:00,0.0,4.0 -12129,2023-03-26 05:30:00,0.0,4.0 -12130,2023-03-26 05:40:00,0.0,4.0 -12131,2023-03-26 05:50:00,0.0,4.0 -12132,2023-03-26 06:00:00,0.0,4.0 -12133,2023-03-26 06:10:00,0.0,4.0 -12134,2023-03-26 06:20:00,0.0,4.0 -12135,2023-03-26 06:30:00,0.0,4.0 -12136,2023-03-26 06:40:00,0.0,4.0 -12137,2023-03-26 06:50:00,0.0,4.0 -12138,2023-03-26 07:00:00,0.0,4.0 -12139,2023-03-26 07:10:00,0.0,4.0 -12140,2023-03-26 07:20:00,0.0,4.0 -12141,2023-03-26 07:30:00,0.0,4.0 -12142,2023-03-26 07:40:00,0.0,4.0 -12143,2023-03-26 07:50:00,0.0,4.0 -12156,2023-03-26 10:00:00,0.0,3.0 -12157,2023-03-26 10:10:00,0.0,3.0 -12158,2023-03-26 10:20:00,0.0,3.0 -12159,2023-03-26 10:30:00,0.0,3.0 -12160,2023-03-26 10:40:00,0.0,3.0 -12161,2023-03-26 10:50:00,0.0,3.0 -12162,2023-03-26 11:00:00,0.0,4.0 -12163,2023-03-26 11:10:00,0.0,4.0 -12164,2023-03-26 11:20:00,0.0,4.0 -12165,2023-03-26 11:30:00,0.0,4.0 -12166,2023-03-26 11:40:00,0.0,4.0 -12167,2023-03-26 11:50:00,0.0,4.0 -12168,2023-03-26 12:00:00,0.0,4.0 -12169,2023-03-26 12:10:00,0.0,4.0 -12170,2023-03-26 12:20:00,0.0,4.0 -12171,2023-03-26 12:30:00,0.0,4.0 -12172,2023-03-26 12:40:00,0.0,4.0 -12173,2023-03-26 12:50:00,0.0,4.0 -12180,2023-03-26 14:00:00,0.0,3.0 -12181,2023-03-26 14:10:00,0.0,3.0 -12182,2023-03-26 14:20:00,0.0,3.0 -12183,2023-03-26 14:30:00,0.0,3.0 -12184,2023-03-26 14:40:00,0.0,3.0 -12185,2023-03-26 14:50:00,0.0,3.0 -12186,2023-03-26 15:00:00,0.0,4.0 -12187,2023-03-26 15:10:00,0.0,4.0 -12188,2023-03-26 15:20:00,0.0,4.0 -12189,2023-03-26 15:30:00,0.0,4.0 -12190,2023-03-26 15:40:00,0.0,4.0 -12191,2023-03-26 15:50:00,0.0,4.0 -12192,2023-03-26 16:00:00,0.0,4.0 -12193,2023-03-26 16:10:00,0.0,4.0 -12194,2023-03-26 16:20:00,0.0,4.0 -12195,2023-03-26 16:30:00,0.0,4.0 -12196,2023-03-26 16:40:00,0.0,4.0 -12197,2023-03-26 16:50:00,0.0,4.0 -12204,2023-03-26 18:00:00,0.0,3.0 -12205,2023-03-26 18:10:00,0.0,3.0 -12206,2023-03-26 18:20:00,0.0,3.0 -12207,2023-03-26 18:30:00,0.0,3.0 -12208,2023-03-26 18:40:00,0.0,3.0 -12209,2023-03-26 18:50:00,0.0,3.0 -12216,2023-03-26 20:00:00,0.0,4.0 -12217,2023-03-26 20:10:00,0.0,4.0 -12218,2023-03-26 20:20:00,0.0,4.0 -12219,2023-03-26 20:30:00,0.0,4.0 -12220,2023-03-26 20:40:00,0.0,4.0 -12221,2023-03-26 20:50:00,0.0,4.0 -12222,2023-03-26 21:00:00,0.0,3.0 -12223,2023-03-26 21:10:00,0.0,3.0 -12224,2023-03-26 21:20:00,0.0,3.0 -12225,2023-03-26 21:30:00,0.0,3.0 -12226,2023-03-26 21:40:00,0.0,3.0 -12227,2023-03-26 21:50:00,0.0,3.0 -12234,2023-03-26 23:00:00,0.0,3.0 -12235,2023-03-26 23:10:00,0.0,3.0 -12236,2023-03-26 23:20:00,0.0,3.0 -12237,2023-03-26 23:30:00,0.0,3.0 -12238,2023-03-26 23:40:00,0.0,3.0 -12239,2023-03-26 23:50:00,0.0,3.0 -12240,2023-03-27 00:00:00,0.0,4.0 -12241,2023-03-27 00:10:00,0.0,4.0 -12242,2023-03-27 00:20:00,0.0,4.0 -12243,2023-03-27 00:30:00,0.0,4.0 -12244,2023-03-27 00:40:00,0.0,4.0 -12245,2023-03-27 00:50:00,0.0,4.0 -12258,2023-03-27 03:00:00,0.0,3.0 -12259,2023-03-27 03:10:00,0.0,3.0 -12260,2023-03-27 03:20:00,0.0,3.0 -12261,2023-03-27 03:30:00,0.0,3.0 -12262,2023-03-27 03:40:00,0.0,3.0 -12263,2023-03-27 03:50:00,0.0,3.0 -12282,2023-03-27 07:00:00,0.0,3.0 -12283,2023-03-27 07:10:00,0.0,3.0 -12284,2023-03-27 07:20:00,0.0,3.0 -12285,2023-03-27 07:30:00,0.0,3.0 -12286,2023-03-27 07:40:00,0.0,3.0 -12287,2023-03-27 07:50:00,0.0,3.0 -12294,2023-03-27 09:00:00,0.0,3.0 -12295,2023-03-27 09:10:00,0.0,3.0 -12296,2023-03-27 09:20:00,0.0,3.0 -12297,2023-03-27 09:30:00,0.0,3.0 -12298,2023-03-27 09:40:00,0.0,3.0 -12299,2023-03-27 09:50:00,0.0,3.0 -12300,2023-03-27 10:00:00,0.0,3.0 -12301,2023-03-27 10:10:00,0.0,3.0 -12302,2023-03-27 10:20:00,0.0,3.0 -12303,2023-03-27 10:30:00,0.0,3.0 -12304,2023-03-27 10:40:00,0.0,3.0 -12305,2023-03-27 10:50:00,0.0,3.0 -12306,2023-03-27 11:00:00,0.0,4.0 -12307,2023-03-27 11:10:00,0.0,4.0 -12308,2023-03-27 11:20:00,0.0,4.0 -12309,2023-03-27 11:30:00,0.0,4.0 -12310,2023-03-27 11:40:00,0.0,4.0 -12311,2023-03-27 11:50:00,0.0,4.0 -12312,2023-03-27 12:00:00,0.0,4.0 -12313,2023-03-27 12:10:00,0.0,4.0 -12314,2023-03-27 12:20:00,0.0,4.0 -12315,2023-03-27 12:30:00,0.0,4.0 -12316,2023-03-27 12:40:00,0.0,4.0 -12317,2023-03-27 12:50:00,0.0,4.0 -12330,2023-03-27 15:00:00,0.0,3.0 -12331,2023-03-27 15:10:00,0.0,3.0 -12332,2023-03-27 15:20:00,0.0,3.0 -12333,2023-03-27 15:30:00,0.0,3.0 -12334,2023-03-27 15:40:00,0.0,3.0 -12335,2023-03-27 15:50:00,0.0,3.0 -12348,2023-03-27 18:00:00,0.0,3.0 -12349,2023-03-27 18:10:00,0.0,3.0 -12350,2023-03-27 18:20:00,0.0,3.0 -12351,2023-03-27 18:30:00,0.0,3.0 -12352,2023-03-27 18:40:00,0.0,3.0 -12353,2023-03-27 18:50:00,0.0,3.0 -12366,2023-03-27 21:00:00,0.0,3.0 -12367,2023-03-27 21:10:00,0.0,3.0 -12368,2023-03-27 21:20:00,0.0,3.0 -12369,2023-03-27 21:30:00,0.0,3.0 -12370,2023-03-27 21:40:00,0.0,3.0 -12371,2023-03-27 21:50:00,0.0,3.0 -12372,2023-03-27 22:00:00,0.0,3.0 -12373,2023-03-27 22:10:00,0.0,3.0 -12374,2023-03-27 22:20:00,0.0,3.0 -12375,2023-03-27 22:30:00,0.0,3.0 -12376,2023-03-27 22:40:00,0.0,3.0 -12377,2023-03-27 22:50:00,0.0,3.0 -12390,2023-03-28 01:00:00,0.0,1.0 -12391,2023-03-28 01:10:00,0.0,1.0 -12392,2023-03-28 01:20:00,0.0,1.0 -12393,2023-03-28 01:30:00,0.0,1.0 -12394,2023-03-28 01:40:00,0.0,1.0 -12395,2023-03-28 01:50:00,0.0,1.0 -12408,2023-03-28 04:00:00,0.0,1.0 -12409,2023-03-28 04:10:00,0.0,1.0 -12410,2023-03-28 04:20:00,0.0,1.0 -12411,2023-03-28 04:30:00,0.0,1.0 -12412,2023-03-28 04:40:00,0.0,1.0 -12413,2023-03-28 04:50:00,0.0,1.0 -12444,2023-03-28 10:00:00,0.0,3.0 -12445,2023-03-28 10:10:00,0.0,3.0 -12446,2023-03-28 10:20:00,0.0,3.0 -12447,2023-03-28 10:30:00,0.0,3.0 -12448,2023-03-28 10:40:00,0.0,3.0 -12449,2023-03-28 10:50:00,0.0,3.0 -12450,2023-03-28 11:00:00,0.0,3.0 -12451,2023-03-28 11:10:00,0.0,3.0 -12452,2023-03-28 11:20:00,0.0,3.0 -12453,2023-03-28 11:30:00,0.0,3.0 -12454,2023-03-28 11:40:00,0.0,3.0 -12455,2023-03-28 11:50:00,0.0,3.0 -12456,2023-03-28 12:00:00,0.0,3.0 -12457,2023-03-28 12:10:00,0.0,3.0 -12458,2023-03-28 12:20:00,0.0,3.0 -12459,2023-03-28 12:30:00,0.0,3.0 -12460,2023-03-28 12:40:00,0.0,3.0 -12461,2023-03-28 12:50:00,0.0,3.0 -12480,2023-03-28 16:00:00,0.0,3.0 -12481,2023-03-28 16:10:00,0.0,3.0 -12482,2023-03-28 16:20:00,0.0,3.0 -12483,2023-03-28 16:30:00,0.0,3.0 -12484,2023-03-28 16:40:00,0.0,3.0 -12485,2023-03-28 16:50:00,0.0,3.0 -12498,2023-03-28 19:00:00,0.0,4.0 -12499,2023-03-28 19:10:00,0.0,4.0 -12500,2023-03-28 19:20:00,0.0,4.0 -12501,2023-03-28 19:30:00,0.0,4.0 -12502,2023-03-28 19:40:00,0.0,4.0 -12503,2023-03-28 19:50:00,0.0,4.0 -12504,2023-03-28 20:00:00,0.0,4.0 -12505,2023-03-28 20:10:00,0.0,4.0 -12506,2023-03-28 20:20:00,0.0,4.0 -12507,2023-03-28 20:30:00,0.0,4.0 -12508,2023-03-28 20:40:00,0.0,4.0 -12509,2023-03-28 20:50:00,0.0,4.0 -12516,2023-03-28 22:00:00,0.0,4.0 -12517,2023-03-28 22:10:00,0.0,4.0 -12518,2023-03-28 22:20:00,0.0,4.0 -12519,2023-03-28 22:30:00,0.0,4.0 -12520,2023-03-28 22:40:00,0.0,4.0 -12521,2023-03-28 22:50:00,0.0,4.0 -12534,2023-03-29 01:00:00,0.0,3.0 -12535,2023-03-29 01:10:00,0.0,3.0 -12536,2023-03-29 01:20:00,0.0,3.0 -12537,2023-03-29 01:30:00,0.0,3.0 -12538,2023-03-29 01:40:00,0.0,3.0 -12539,2023-03-29 01:50:00,0.0,3.0 -12540,2023-03-29 02:00:00,0.0,3.0 -12541,2023-03-29 02:10:00,0.0,3.0 -12542,2023-03-29 02:20:00,0.0,3.0 -12543,2023-03-29 02:30:00,0.0,3.0 -12544,2023-03-29 02:40:00,0.0,3.0 -12545,2023-03-29 02:50:00,0.0,3.0 -12558,2023-03-29 05:00:00,0.0,3.0 -12559,2023-03-29 05:10:00,0.0,3.0 -12560,2023-03-29 05:20:00,0.0,3.0 -12561,2023-03-29 05:30:00,0.0,3.0 -12562,2023-03-29 05:40:00,0.0,3.0 -12563,2023-03-29 05:50:00,0.0,3.0 -12570,2023-03-29 07:00:00,0.0,4.0 -12571,2023-03-29 07:10:00,0.0,4.0 -12572,2023-03-29 07:20:00,0.0,4.0 -12573,2023-03-29 07:30:00,0.0,4.0 -12574,2023-03-29 07:40:00,0.0,4.0 -12575,2023-03-29 07:50:00,0.0,4.0 -12582,2023-03-29 09:00:00,0.0,5.0 -12583,2023-03-29 09:10:00,0.0,5.0 -12584,2023-03-29 09:20:00,0.0,5.0 -12585,2023-03-29 09:30:00,0.0,5.0 -12586,2023-03-29 09:40:00,0.0,5.0 -12587,2023-03-29 09:50:00,0.0,5.0 -12600,2023-03-29 12:00:00,0.0,5.0 -12601,2023-03-29 12:10:00,0.0,5.0 -12602,2023-03-29 12:20:00,0.0,5.0 -12603,2023-03-29 12:30:00,0.0,5.0 -12604,2023-03-29 12:40:00,0.0,5.0 -12605,2023-03-29 12:50:00,0.0,5.0 -12606,2023-03-29 13:00:00,0.0,5.0 -12607,2023-03-29 13:10:00,0.0,5.0 -12608,2023-03-29 13:20:00,0.0,5.0 -12609,2023-03-29 13:30:00,0.0,5.0 -12610,2023-03-29 13:40:00,0.0,5.0 -12611,2023-03-29 13:50:00,0.0,5.0 -12612,2023-03-29 14:00:00,0.0,5.0 -12613,2023-03-29 14:10:00,0.0,5.0 -12614,2023-03-29 14:20:00,0.0,5.0 -12615,2023-03-29 14:30:00,0.0,5.0 -12616,2023-03-29 14:40:00,0.0,5.0 -12617,2023-03-29 14:50:00,0.0,5.0 -12624,2023-03-29 16:00:00,0.0,7.0 -12625,2023-03-29 16:10:00,0.0,7.0 -12626,2023-03-29 16:20:00,0.0,7.0 -12627,2023-03-29 16:30:00,0.0,7.0 -12628,2023-03-29 16:40:00,0.0,7.0 -12629,2023-03-29 16:50:00,0.0,7.0 -12630,2023-03-29 17:00:00,0.0,5.0 -12631,2023-03-29 17:10:00,0.0,5.0 -12632,2023-03-29 17:20:00,0.0,5.0 -12633,2023-03-29 17:30:00,0.0,5.0 -12634,2023-03-29 17:40:00,0.0,5.0 -12635,2023-03-29 17:50:00,0.0,5.0 -12636,2023-03-29 18:00:00,0.0,6.0 -12637,2023-03-29 18:10:00,0.0,6.0 -12638,2023-03-29 18:20:00,0.0,6.0 -12639,2023-03-29 18:30:00,0.0,6.0 -12640,2023-03-29 18:40:00,0.0,6.0 -12641,2023-03-29 18:50:00,0.0,6.0 -12642,2023-03-29 19:00:00,0.0,7.0 -12643,2023-03-29 19:10:00,0.0,7.0 -12644,2023-03-29 19:20:00,0.0,7.0 -12645,2023-03-29 19:30:00,0.0,7.0 -12646,2023-03-29 19:40:00,0.0,7.0 -12647,2023-03-29 19:50:00,0.0,7.0 -12648,2023-03-29 20:00:00,0.0,5.0 -12649,2023-03-29 20:10:00,0.0,5.0 -12650,2023-03-29 20:20:00,0.0,5.0 -12651,2023-03-29 20:30:00,0.0,5.0 -12652,2023-03-29 20:40:00,0.0,5.0 -12653,2023-03-29 20:50:00,0.0,5.0 -12672,2023-03-30 00:00:00,0.0,6.0 -12673,2023-03-30 00:10:00,0.0,6.0 -12674,2023-03-30 00:20:00,0.0,6.0 -12675,2023-03-30 00:30:00,0.0,6.0 -12676,2023-03-30 00:40:00,0.0,6.0 -12677,2023-03-30 00:50:00,0.0,6.0 -12678,2023-03-30 01:00:00,0.0,5.0 -12679,2023-03-30 01:10:00,0.0,5.0 -12680,2023-03-30 01:20:00,0.0,5.0 -12681,2023-03-30 01:30:00,0.0,5.0 -12682,2023-03-30 01:40:00,0.0,5.0 -12683,2023-03-30 01:50:00,0.0,5.0 -12684,2023-03-30 02:00:00,0.0,6.0 -12685,2023-03-30 02:10:00,0.0,6.0 -12686,2023-03-30 02:20:00,0.0,6.0 -12687,2023-03-30 02:30:00,0.0,6.0 -12688,2023-03-30 02:40:00,0.0,6.0 -12689,2023-03-30 02:50:00,0.0,6.0 -12690,2023-03-30 03:00:00,0.0,5.0 -12691,2023-03-30 03:10:00,0.0,5.0 -12692,2023-03-30 03:20:00,0.0,5.0 -12693,2023-03-30 03:30:00,0.0,5.0 -12694,2023-03-30 03:40:00,0.0,5.0 -12695,2023-03-30 03:50:00,0.0,5.0 -12702,2023-03-30 05:00:00,0.0,6.0 -12703,2023-03-30 05:10:00,0.0,6.0 -12704,2023-03-30 05:20:00,0.0,6.0 -12705,2023-03-30 05:30:00,0.0,6.0 -12706,2023-03-30 05:40:00,0.0,6.0 -12707,2023-03-30 05:50:00,0.0,6.0 -12720,2023-03-30 08:00:00,0.0,5.0 -12721,2023-03-30 08:10:00,0.0,5.0 -12722,2023-03-30 08:20:00,0.0,5.0 -12723,2023-03-30 08:30:00,0.0,5.0 -12724,2023-03-30 08:40:00,0.0,5.0 -12725,2023-03-30 08:50:00,0.0,5.0 -12726,2023-03-30 09:00:00,0.0,5.0 -12727,2023-03-30 09:10:00,0.0,5.0 -12728,2023-03-30 09:20:00,0.0,5.0 -12729,2023-03-30 09:30:00,0.0,5.0 -12730,2023-03-30 09:40:00,0.0,5.0 -12731,2023-03-30 09:50:00,0.0,5.0 -12732,2023-03-30 10:00:00,0.0,5.0 -12733,2023-03-30 10:10:00,0.0,5.0 -12734,2023-03-30 10:20:00,0.0,5.0 -12735,2023-03-30 10:30:00,0.0,5.0 -12736,2023-03-30 10:40:00,0.0,5.0 -12737,2023-03-30 10:50:00,0.0,5.0 -12738,2023-03-30 11:00:00,0.0,5.0 -12739,2023-03-30 11:10:00,0.0,5.0 -12740,2023-03-30 11:20:00,0.0,5.0 -12741,2023-03-30 11:30:00,0.0,5.0 -12742,2023-03-30 11:40:00,0.0,5.0 -12743,2023-03-30 11:50:00,0.0,5.0 -12744,2023-03-30 12:00:00,0.0,7.0 -12745,2023-03-30 12:10:00,0.0,7.0 -12746,2023-03-30 12:20:00,0.0,7.0 -12747,2023-03-30 12:30:00,0.0,7.0 -12748,2023-03-30 12:40:00,0.0,7.0 -12749,2023-03-30 12:50:00,0.0,7.0 -12756,2023-03-30 14:00:00,0.0,7.0 -12757,2023-03-30 14:10:00,0.0,7.0 -12758,2023-03-30 14:20:00,0.0,7.0 -12759,2023-03-30 14:30:00,0.0,7.0 -12760,2023-03-30 14:40:00,0.0,7.0 -12761,2023-03-30 14:50:00,0.0,7.0 -12786,2023-03-30 19:00:00,0.0,5.0 -12787,2023-03-30 19:10:00,0.0,5.0 -12788,2023-03-30 19:20:00,0.0,5.0 -12789,2023-03-30 19:30:00,0.0,5.0 -12790,2023-03-30 19:40:00,0.0,5.0 -12791,2023-03-30 19:50:00,0.0,5.0 -12798,2023-03-30 21:00:00,0.0,5.0 -12799,2023-03-30 21:10:00,0.0,5.0 -12800,2023-03-30 21:20:00,0.0,5.0 -12801,2023-03-30 21:30:00,0.0,5.0 -12802,2023-03-30 21:40:00,0.0,5.0 -12803,2023-03-30 21:50:00,0.0,5.0 -12804,2023-03-30 22:00:00,0.0,5.0 -12805,2023-03-30 22:10:00,0.0,5.0 -12806,2023-03-30 22:20:00,0.0,5.0 -12807,2023-03-30 22:30:00,0.0,5.0 -12808,2023-03-30 22:40:00,0.0,5.0 -12809,2023-03-30 22:50:00,0.0,5.0 -12810,2023-03-30 23:00:00,0.0,6.0 -12811,2023-03-30 23:10:00,0.0,6.0 -12812,2023-03-30 23:20:00,0.0,6.0 -12813,2023-03-30 23:30:00,0.0,6.0 -12814,2023-03-30 23:40:00,0.0,6.0 -12815,2023-03-30 23:50:00,0.0,6.0 -12840,2023-03-31 04:00:00,0.0,6.0 -12841,2023-03-31 04:10:00,0.0,6.0 -12842,2023-03-31 04:20:00,0.0,6.0 -12843,2023-03-31 04:30:00,0.0,6.0 -12844,2023-03-31 04:40:00,0.0,6.0 -12845,2023-03-31 04:50:00,0.0,6.0 -12852,2023-03-31 06:00:00,0.0,6.0 -12853,2023-03-31 06:10:00,0.0,6.0 -12854,2023-03-31 06:20:00,0.0,6.0 -12855,2023-03-31 06:30:00,0.0,6.0 -12856,2023-03-31 06:40:00,0.0,6.0 -12857,2023-03-31 06:50:00,0.0,6.0 -12864,2023-03-31 08:00:00,0.0,6.0 -12865,2023-03-31 08:10:00,0.0,6.0 -12866,2023-03-31 08:20:00,0.0,6.0 -12867,2023-03-31 08:30:00,0.0,6.0 -12868,2023-03-31 08:40:00,0.0,6.0 -12869,2023-03-31 08:50:00,0.0,6.0 -12876,2023-03-31 10:00:00,0.0,6.0 -12877,2023-03-31 10:10:00,0.0,6.0 -12878,2023-03-31 10:20:00,0.0,6.0 -12879,2023-03-31 10:30:00,0.0,6.0 -12880,2023-03-31 10:40:00,0.0,6.0 -12881,2023-03-31 10:50:00,0.0,6.0 -12882,2023-03-31 11:00:00,0.0,6.0 -12883,2023-03-31 11:10:00,0.0,6.0 -12884,2023-03-31 11:20:00,0.0,6.0 -12885,2023-03-31 11:30:00,0.0,6.0 -12886,2023-03-31 11:40:00,0.0,6.0 -12887,2023-03-31 11:50:00,0.0,6.0 -12894,2023-03-31 13:00:00,0.0,6.0 -12895,2023-03-31 13:10:00,0.0,6.0 -12896,2023-03-31 13:20:00,0.0,6.0 -12897,2023-03-31 13:30:00,0.0,6.0 -12898,2023-03-31 13:40:00,0.0,6.0 -12899,2023-03-31 13:50:00,0.0,6.0 -12906,2023-03-31 15:00:00,0.0,6.0 -12907,2023-03-31 15:10:00,0.0,6.0 -12908,2023-03-31 15:20:00,0.0,6.0 -12909,2023-03-31 15:30:00,0.0,6.0 -12910,2023-03-31 15:40:00,0.0,6.0 -12911,2023-03-31 15:50:00,0.0,6.0 -12918,2023-03-31 17:00:00,0.0,6.0 -12919,2023-03-31 17:10:00,0.0,6.0 -12920,2023-03-31 17:20:00,0.0,6.0 -12921,2023-03-31 17:30:00,0.0,6.0 -12922,2023-03-31 17:40:00,0.0,6.0 -12923,2023-03-31 17:50:00,0.0,6.0 -12924,2023-03-31 18:00:00,0.0,6.0 -12925,2023-03-31 18:10:00,0.0,6.0 -12926,2023-03-31 18:20:00,0.0,6.0 -12927,2023-03-31 18:30:00,0.0,6.0 -12928,2023-03-31 18:40:00,0.0,6.0 -12929,2023-03-31 18:50:00,0.0,6.0 -12930,2023-03-31 19:00:00,0.0,6.0 -12931,2023-03-31 19:10:00,0.0,6.0 -12932,2023-03-31 19:20:00,0.0,6.0 -12933,2023-03-31 19:30:00,0.0,6.0 -12934,2023-03-31 19:40:00,0.0,6.0 -12935,2023-03-31 19:50:00,0.0,6.0 -12936,2023-03-31 20:00:00,0.0,6.0 -12937,2023-03-31 20:10:00,0.0,6.0 -12938,2023-03-31 20:20:00,0.0,6.0 -12939,2023-03-31 20:30:00,0.0,6.0 -12940,2023-03-31 20:40:00,0.0,6.0 -12941,2023-03-31 20:50:00,0.0,6.0 -12948,2023-03-31 22:00:00,0.0,4.0 -12949,2023-03-31 22:10:00,0.0,4.0 -12950,2023-03-31 22:20:00,0.0,4.0 -12951,2023-03-31 22:30:00,0.0,4.0 -12952,2023-03-31 22:40:00,0.0,4.0 -12953,2023-03-31 22:50:00,0.0,4.0 -12954,2023-03-31 23:00:00,0.0,4.0 -12955,2023-03-31 23:10:00,0.0,4.0 -12956,2023-03-31 23:20:00,0.0,4.0 -12957,2023-03-31 23:30:00,0.0,4.0 -12958,2023-03-31 23:40:00,0.0,4.0 -12959,2023-03-31 23:50:00,0.0,4.0 -12960,2023-04-01 00:00:00,0.0,4.0 -12961,2023-04-01 00:10:00,0.0,4.0 -12962,2023-04-01 00:20:00,0.0,4.0 -12963,2023-04-01 00:30:00,0.0,4.0 -12964,2023-04-01 00:40:00,0.0,4.0 -12965,2023-04-01 00:50:00,0.0,4.0 -12972,2023-04-01 02:00:00,0.0,4.0 -12973,2023-04-01 02:10:00,0.0,4.0 -12974,2023-04-01 02:20:00,0.0,4.0 -12975,2023-04-01 02:30:00,0.0,4.0 -12976,2023-04-01 02:40:00,0.0,4.0 -12977,2023-04-01 02:50:00,0.0,4.0 -12978,2023-04-01 03:00:00,0.0,4.0 -12979,2023-04-01 03:10:00,0.0,4.0 -12980,2023-04-01 03:20:00,0.0,4.0 -12981,2023-04-01 03:30:00,0.0,4.0 -12982,2023-04-01 03:40:00,0.0,4.0 -12983,2023-04-01 03:50:00,0.0,4.0 -12990,2023-04-01 05:00:00,0.0,3.0 -12991,2023-04-01 05:10:00,0.0,3.0 -12992,2023-04-01 05:20:00,0.0,3.0 -12993,2023-04-01 05:30:00,0.0,3.0 -12994,2023-04-01 05:40:00,0.0,3.0 -12995,2023-04-01 05:50:00,0.0,3.0 -13020,2023-04-01 10:00:00,0.0,4.0 -13021,2023-04-01 10:10:00,0.0,4.0 -13022,2023-04-01 10:20:00,0.0,4.0 -13023,2023-04-01 10:30:00,0.0,4.0 -13024,2023-04-01 10:40:00,0.0,4.0 -13025,2023-04-01 10:50:00,0.0,4.0 -13026,2023-04-01 11:00:00,0.0,6.0 -13027,2023-04-01 11:10:00,0.0,6.0 -13028,2023-04-01 11:20:00,0.0,6.0 -13029,2023-04-01 11:30:00,0.0,6.0 -13030,2023-04-01 11:40:00,0.0,6.0 -13031,2023-04-01 11:50:00,0.0,6.0 -13032,2023-04-01 12:00:00,0.0,6.0 -13033,2023-04-01 12:10:00,0.0,6.0 -13034,2023-04-01 12:20:00,0.0,6.0 -13035,2023-04-01 12:30:00,0.0,6.0 -13036,2023-04-01 12:40:00,0.0,6.0 -13037,2023-04-01 12:50:00,0.0,6.0 -13044,2023-04-01 14:00:00,0.0,4.0 -13045,2023-04-01 14:10:00,0.0,4.0 -13046,2023-04-01 14:20:00,0.0,4.0 -13047,2023-04-01 14:30:00,0.0,4.0 -13048,2023-04-01 14:40:00,0.0,4.0 -13049,2023-04-01 14:50:00,0.0,4.0 -13050,2023-04-01 15:00:00,0.0,6.0 -13051,2023-04-01 15:10:00,0.0,6.0 -13052,2023-04-01 15:20:00,0.0,6.0 -13053,2023-04-01 15:30:00,0.0,6.0 -13054,2023-04-01 15:40:00,0.0,6.0 -13055,2023-04-01 15:50:00,0.0,6.0 -13074,2023-04-01 19:00:00,0.0,3.0 -13075,2023-04-01 19:10:00,0.0,3.0 -13076,2023-04-01 19:20:00,0.0,3.0 -13077,2023-04-01 19:30:00,0.0,3.0 -13078,2023-04-01 19:40:00,0.0,3.0 -13079,2023-04-01 19:50:00,0.0,3.0 -13080,2023-04-01 20:00:00,0.0,3.0 -13081,2023-04-01 20:10:00,0.0,3.0 -13082,2023-04-01 20:20:00,0.0,3.0 -13083,2023-04-01 20:30:00,0.0,3.0 -13084,2023-04-01 20:40:00,0.0,3.0 -13085,2023-04-01 20:50:00,0.0,3.0 -13086,2023-04-01 21:00:00,0.0,3.0 -13087,2023-04-01 21:10:00,0.0,3.0 -13088,2023-04-01 21:20:00,0.0,3.0 -13089,2023-04-01 21:30:00,0.0,3.0 -13090,2023-04-01 21:40:00,0.0,3.0 -13091,2023-04-01 21:50:00,0.0,3.0 -13098,2023-04-01 23:00:00,0.0,4.0 -13099,2023-04-01 23:10:00,0.0,4.0 -13100,2023-04-01 23:20:00,0.0,4.0 -13101,2023-04-01 23:30:00,0.0,4.0 -13102,2023-04-01 23:40:00,0.0,4.0 -13103,2023-04-01 23:50:00,0.0,4.0 -13104,2023-04-02 00:00:00,0.0,3.0 -13105,2023-04-02 00:10:00,0.0,3.0 -13106,2023-04-02 00:20:00,0.0,3.0 -13107,2023-04-02 00:30:00,0.0,3.0 -13108,2023-04-02 00:40:00,0.0,3.0 -13109,2023-04-02 00:50:00,0.0,3.0 -13122,2023-04-02 03:00:00,0.0,3.0 -13123,2023-04-02 03:10:00,0.0,3.0 -13124,2023-04-02 03:20:00,0.0,3.0 -13125,2023-04-02 03:30:00,0.0,3.0 -13126,2023-04-02 03:40:00,0.0,3.0 -13127,2023-04-02 03:50:00,0.0,3.0 -13128,2023-04-02 04:00:00,0.0,3.0 -13129,2023-04-02 04:10:00,0.0,3.0 -13130,2023-04-02 04:20:00,0.0,3.0 -13131,2023-04-02 04:30:00,0.0,3.0 -13132,2023-04-02 04:40:00,0.0,3.0 -13133,2023-04-02 04:50:00,0.0,3.0 -13146,2023-04-02 07:00:00,0.0,3.0 -13147,2023-04-02 07:10:00,0.0,3.0 -13148,2023-04-02 07:20:00,0.0,3.0 -13149,2023-04-02 07:30:00,0.0,3.0 -13150,2023-04-02 07:40:00,0.0,3.0 -13151,2023-04-02 07:50:00,0.0,3.0 -13152,2023-04-02 08:00:00,0.0,3.0 -13153,2023-04-02 08:10:00,0.0,3.0 -13154,2023-04-02 08:20:00,0.0,3.0 -13155,2023-04-02 08:30:00,0.0,3.0 -13156,2023-04-02 08:40:00,0.0,3.0 -13157,2023-04-02 08:50:00,0.0,3.0 -13170,2023-04-02 11:00:00,0.0,3.0 -13171,2023-04-02 11:10:00,0.0,3.0 -13172,2023-04-02 11:20:00,0.0,3.0 -13173,2023-04-02 11:30:00,0.0,3.0 -13174,2023-04-02 11:40:00,0.0,3.0 -13175,2023-04-02 11:50:00,0.0,3.0 -13194,2023-04-02 15:00:00,0.0,3.0 -13195,2023-04-02 15:10:00,0.0,3.0 -13196,2023-04-02 15:20:00,0.0,3.0 -13197,2023-04-02 15:30:00,0.0,3.0 -13198,2023-04-02 15:40:00,0.0,3.0 -13199,2023-04-02 15:50:00,0.0,3.0 -13200,2023-04-02 16:00:00,0.0,3.0 -13201,2023-04-02 16:10:00,0.0,3.0 -13202,2023-04-02 16:20:00,0.0,3.0 -13203,2023-04-02 16:30:00,0.0,3.0 -13204,2023-04-02 16:40:00,0.0,3.0 -13205,2023-04-02 16:50:00,0.0,3.0 -13212,2023-04-02 18:00:00,0.0,3.0 -13213,2023-04-02 18:10:00,0.0,3.0 -13214,2023-04-02 18:20:00,0.0,3.0 -13215,2023-04-02 18:30:00,0.0,3.0 -13216,2023-04-02 18:40:00,0.0,3.0 -13217,2023-04-02 18:50:00,0.0,3.0 -13218,2023-04-02 19:00:00,0.0,3.0 -13219,2023-04-02 19:10:00,0.0,3.0 -13220,2023-04-02 19:20:00,0.0,3.0 -13221,2023-04-02 19:30:00,0.0,3.0 -13222,2023-04-02 19:40:00,0.0,3.0 -13223,2023-04-02 19:50:00,0.0,3.0 -13224,2023-04-02 20:00:00,0.0,3.0 -13225,2023-04-02 20:10:00,0.0,3.0 -13226,2023-04-02 20:20:00,0.0,3.0 -13227,2023-04-02 20:30:00,0.0,3.0 -13228,2023-04-02 20:40:00,0.0,3.0 -13229,2023-04-02 20:50:00,0.0,3.0 -13230,2023-04-02 21:00:00,0.0,3.0 -13231,2023-04-02 21:10:00,0.0,3.0 -13232,2023-04-02 21:20:00,0.0,3.0 -13233,2023-04-02 21:30:00,0.0,3.0 -13234,2023-04-02 21:40:00,0.0,3.0 -13235,2023-04-02 21:50:00,0.0,3.0 -13248,2023-04-03 00:00:00,0.0,3.0 -13249,2023-04-03 00:10:00,0.0,3.0 -13250,2023-04-03 00:20:00,0.0,3.0 -13251,2023-04-03 00:30:00,0.0,3.0 -13252,2023-04-03 00:40:00,0.0,3.0 -13253,2023-04-03 00:50:00,0.0,3.0 -13266,2023-04-03 03:00:00,0.0,3.0 -13267,2023-04-03 03:10:00,0.0,3.0 -13268,2023-04-03 03:20:00,0.0,3.0 -13269,2023-04-03 03:30:00,0.0,3.0 -13270,2023-04-03 03:40:00,0.0,3.0 -13271,2023-04-03 03:50:00,0.0,3.0 -13272,2023-04-03 04:00:00,0.0,3.0 -13273,2023-04-03 04:10:00,0.0,3.0 -13274,2023-04-03 04:20:00,0.0,3.0 -13275,2023-04-03 04:30:00,0.0,3.0 -13276,2023-04-03 04:40:00,0.0,3.0 -13277,2023-04-03 04:50:00,0.0,3.0 -13278,2023-04-03 05:00:00,0.0,3.0 -13279,2023-04-03 05:10:00,0.0,3.0 -13280,2023-04-03 05:20:00,0.0,3.0 -13281,2023-04-03 05:30:00,0.0,3.0 -13282,2023-04-03 05:40:00,0.0,3.0 -13283,2023-04-03 05:50:00,0.0,3.0 -13284,2023-04-03 06:00:00,0.0,3.0 -13285,2023-04-03 06:10:00,0.0,3.0 -13286,2023-04-03 06:20:00,0.0,3.0 -13287,2023-04-03 06:30:00,0.0,3.0 -13288,2023-04-03 06:40:00,0.0,3.0 -13289,2023-04-03 06:50:00,0.0,3.0 -13296,2023-04-03 08:00:00,0.0,3.0 -13297,2023-04-03 08:10:00,0.0,3.0 -13298,2023-04-03 08:20:00,0.0,3.0 -13299,2023-04-03 08:30:00,0.0,3.0 -13300,2023-04-03 08:40:00,0.0,3.0 -13301,2023-04-03 08:50:00,0.0,3.0 -13302,2023-04-03 09:00:00,0.0,3.0 -13303,2023-04-03 09:10:00,0.0,3.0 -13304,2023-04-03 09:20:00,0.0,3.0 -13305,2023-04-03 09:30:00,0.0,3.0 -13306,2023-04-03 09:40:00,0.0,3.0 -13307,2023-04-03 09:50:00,0.0,3.0 -13308,2023-04-03 10:00:00,0.0,3.0 -13309,2023-04-03 10:10:00,0.0,3.0 -13310,2023-04-03 10:20:00,0.0,3.0 -13311,2023-04-03 10:30:00,0.0,3.0 -13312,2023-04-03 10:40:00,0.0,3.0 -13313,2023-04-03 10:50:00,0.0,3.0 -13320,2023-04-03 12:00:00,0.0,3.0 -13321,2023-04-03 12:10:00,0.0,3.0 -13322,2023-04-03 12:20:00,0.0,3.0 -13323,2023-04-03 12:30:00,0.0,3.0 -13324,2023-04-03 12:40:00,0.0,3.0 -13325,2023-04-03 12:50:00,0.0,3.0 -13338,2023-04-03 15:00:00,0.0,3.0 -13339,2023-04-03 15:10:00,0.0,3.0 -13340,2023-04-03 15:20:00,0.0,3.0 -13341,2023-04-03 15:30:00,0.0,3.0 -13342,2023-04-03 15:40:00,0.0,3.0 -13343,2023-04-03 15:50:00,0.0,3.0 -13344,2023-04-03 16:00:00,0.0,3.0 -13345,2023-04-03 16:10:00,0.0,3.0 -13346,2023-04-03 16:20:00,0.0,3.0 -13347,2023-04-03 16:30:00,0.0,3.0 -13348,2023-04-03 16:40:00,0.0,3.0 -13349,2023-04-03 16:50:00,0.0,3.0 -13356,2023-04-03 18:00:00,0.0,3.0 -13357,2023-04-03 18:10:00,0.0,3.0 -13358,2023-04-03 18:20:00,0.0,3.0 -13359,2023-04-03 18:30:00,0.0,3.0 -13360,2023-04-03 18:40:00,0.0,3.0 -13361,2023-04-03 18:50:00,0.0,3.0 -13362,2023-04-03 19:00:00,0.0,3.0 -13363,2023-04-03 19:10:00,0.0,3.0 -13364,2023-04-03 19:20:00,0.0,3.0 -13365,2023-04-03 19:30:00,0.0,3.0 -13366,2023-04-03 19:40:00,0.0,3.0 -13367,2023-04-03 19:50:00,0.0,3.0 -13368,2023-04-03 20:00:00,0.0,3.0 -13369,2023-04-03 20:10:00,0.0,3.0 -13370,2023-04-03 20:20:00,0.0,3.0 -13371,2023-04-03 20:30:00,0.0,3.0 -13372,2023-04-03 20:40:00,0.0,3.0 -13373,2023-04-03 20:50:00,0.0,3.0 -13386,2023-04-03 23:00:00,0.0,3.0 -13387,2023-04-03 23:10:00,0.0,3.0 -13388,2023-04-03 23:20:00,0.0,3.0 -13389,2023-04-03 23:30:00,0.0,3.0 -13390,2023-04-03 23:40:00,0.0,3.0 -13391,2023-04-03 23:50:00,0.0,3.0 -13398,2023-04-04 01:00:00,0.0,1.0 -13399,2023-04-04 01:10:00,0.0,1.0 -13400,2023-04-04 01:20:00,0.0,1.0 -13401,2023-04-04 01:30:00,0.0,1.0 -13402,2023-04-04 01:40:00,0.0,1.0 -13403,2023-04-04 01:50:00,0.0,1.0 -13410,2023-04-04 03:00:00,0.0,3.0 -13411,2023-04-04 03:10:00,0.0,3.0 -13412,2023-04-04 03:20:00,0.0,3.0 -13413,2023-04-04 03:30:00,0.0,3.0 -13414,2023-04-04 03:40:00,0.0,3.0 -13415,2023-04-04 03:50:00,0.0,3.0 -13422,2023-04-04 05:00:00,0.0,1.0 -13423,2023-04-04 05:10:00,0.0,1.0 -13424,2023-04-04 05:20:00,0.0,1.0 -13425,2023-04-04 05:30:00,0.0,1.0 -13426,2023-04-04 05:40:00,0.0,1.0 -13427,2023-04-04 05:50:00,0.0,1.0 -13428,2023-04-04 06:00:00,0.0,3.0 -13429,2023-04-04 06:10:00,0.0,3.0 -13430,2023-04-04 06:20:00,0.0,3.0 -13431,2023-04-04 06:30:00,0.0,3.0 -13432,2023-04-04 06:40:00,0.0,3.0 -13433,2023-04-04 06:50:00,0.0,3.0 -13446,2023-04-04 09:00:00,0.0,3.0 -13447,2023-04-04 09:10:00,0.0,3.0 -13448,2023-04-04 09:20:00,0.0,3.0 -13449,2023-04-04 09:30:00,0.0,3.0 -13450,2023-04-04 09:40:00,0.0,3.0 -13451,2023-04-04 09:50:00,0.0,3.0 -13458,2023-04-04 11:00:00,0.0,3.0 -13459,2023-04-04 11:10:00,0.0,3.0 -13460,2023-04-04 11:20:00,0.0,3.0 -13461,2023-04-04 11:30:00,0.0,3.0 -13462,2023-04-04 11:40:00,0.0,3.0 -13463,2023-04-04 11:50:00,0.0,3.0 -13464,2023-04-04 12:00:00,0.0,3.0 -13465,2023-04-04 12:10:00,0.0,3.0 -13466,2023-04-04 12:20:00,0.0,3.0 -13467,2023-04-04 12:30:00,0.0,3.0 -13468,2023-04-04 12:40:00,0.0,3.0 -13469,2023-04-04 12:50:00,0.0,3.0 -13482,2023-04-04 15:00:00,0.0,3.0 -13483,2023-04-04 15:10:00,0.0,3.0 -13484,2023-04-04 15:20:00,0.0,3.0 -13485,2023-04-04 15:30:00,0.0,3.0 -13486,2023-04-04 15:40:00,0.0,3.0 -13487,2023-04-04 15:50:00,0.0,3.0 -13488,2023-04-04 16:00:00,0.0,3.0 -13489,2023-04-04 16:10:00,0.0,3.0 -13490,2023-04-04 16:20:00,0.0,3.0 -13491,2023-04-04 16:30:00,0.0,3.0 -13492,2023-04-04 16:40:00,0.0,3.0 -13493,2023-04-04 16:50:00,0.0,3.0 -13500,2023-04-04 18:00:00,0.0,3.0 -13501,2023-04-04 18:10:00,0.0,3.0 -13502,2023-04-04 18:20:00,0.0,3.0 -13503,2023-04-04 18:30:00,0.0,3.0 -13504,2023-04-04 18:40:00,0.0,3.0 -13505,2023-04-04 18:50:00,0.0,3.0 -13506,2023-04-04 19:00:00,0.0,3.0 -13507,2023-04-04 19:10:00,0.0,3.0 -13508,2023-04-04 19:20:00,0.0,3.0 -13509,2023-04-04 19:30:00,0.0,3.0 -13510,2023-04-04 19:40:00,0.0,3.0 -13511,2023-04-04 19:50:00,0.0,3.0 -13524,2023-04-04 22:00:00,0.0,3.0 -13525,2023-04-04 22:10:00,0.0,3.0 -13526,2023-04-04 22:20:00,0.0,3.0 -13527,2023-04-04 22:30:00,0.0,3.0 -13528,2023-04-04 22:40:00,0.0,3.0 -13529,2023-04-04 22:50:00,0.0,3.0 -13536,2023-04-05 00:00:00,0.0,3.0 -13537,2023-04-05 00:10:00,0.0,3.0 -13538,2023-04-05 00:20:00,0.0,3.0 -13539,2023-04-05 00:30:00,0.0,3.0 -13540,2023-04-05 00:40:00,0.0,3.0 -13541,2023-04-05 00:50:00,0.0,3.0 -13542,2023-04-05 01:00:00,0.0,3.0 -13543,2023-04-05 01:10:00,0.0,3.0 -13544,2023-04-05 01:20:00,0.0,3.0 -13545,2023-04-05 01:30:00,0.0,3.0 -13546,2023-04-05 01:40:00,0.0,3.0 -13547,2023-04-05 01:50:00,0.0,3.0 -13548,2023-04-05 02:00:00,0.0,3.0 -13549,2023-04-05 02:10:00,0.0,3.0 -13550,2023-04-05 02:20:00,0.0,3.0 -13551,2023-04-05 02:30:00,0.0,3.0 -13552,2023-04-05 02:40:00,0.0,3.0 -13553,2023-04-05 02:50:00,0.0,3.0 -13572,2023-04-05 06:00:00,0.0,3.0 -13573,2023-04-05 06:10:00,0.0,3.0 -13574,2023-04-05 06:20:00,0.0,3.0 -13575,2023-04-05 06:30:00,0.0,3.0 -13576,2023-04-05 06:40:00,0.0,3.0 -13577,2023-04-05 06:50:00,0.0,3.0 -13584,2023-04-05 08:00:00,0.0,3.0 -13585,2023-04-05 08:10:00,0.0,3.0 -13586,2023-04-05 08:20:00,0.0,3.0 -13587,2023-04-05 08:30:00,0.0,3.0 -13588,2023-04-05 08:40:00,0.0,3.0 -13589,2023-04-05 08:50:00,0.0,3.0 -13590,2023-04-05 09:00:00,0.0,3.0 -13591,2023-04-05 09:10:00,0.0,3.0 -13592,2023-04-05 09:20:00,0.0,3.0 -13593,2023-04-05 09:30:00,0.0,3.0 -13594,2023-04-05 09:40:00,0.0,3.0 -13595,2023-04-05 09:50:00,0.0,3.0 -13596,2023-04-05 10:00:00,0.0,3.0 -13597,2023-04-05 10:10:00,0.0,3.0 -13598,2023-04-05 10:20:00,0.0,3.0 -13599,2023-04-05 10:30:00,0.0,3.0 -13600,2023-04-05 10:40:00,0.0,3.0 -13601,2023-04-05 10:50:00,0.0,3.0 -13602,2023-04-05 11:00:00,0.0,3.0 -13603,2023-04-05 11:10:00,0.0,3.0 -13604,2023-04-05 11:20:00,0.0,3.0 -13605,2023-04-05 11:30:00,0.0,3.0 -13606,2023-04-05 11:40:00,0.0,3.0 -13607,2023-04-05 11:50:00,0.0,3.0 -13608,2023-04-05 12:00:00,0.0,3.0 -13609,2023-04-05 12:10:00,0.0,3.0 -13610,2023-04-05 12:20:00,0.0,3.0 -13611,2023-04-05 12:30:00,0.0,3.0 -13612,2023-04-05 12:40:00,0.0,3.0 -13613,2023-04-05 12:50:00,0.0,3.0 -13614,2023-04-05 13:00:00,0.0,5.0 -13615,2023-04-05 13:10:00,0.0,5.0 -13616,2023-04-05 13:20:00,0.0,5.0 -13617,2023-04-05 13:30:00,0.0,5.0 -13618,2023-04-05 13:40:00,0.0,5.0 -13619,2023-04-05 13:50:00,0.0,5.0 -13620,2023-04-05 14:00:00,0.0,5.0 -13621,2023-04-05 14:10:00,0.0,5.0 -13622,2023-04-05 14:20:00,0.0,5.0 -13623,2023-04-05 14:30:00,0.0,5.0 -13624,2023-04-05 14:40:00,0.0,5.0 -13625,2023-04-05 14:50:00,0.0,5.0 -13626,2023-04-05 15:00:00,0.0,5.0 -13627,2023-04-05 15:10:00,0.0,5.0 -13628,2023-04-05 15:20:00,0.0,5.0 -13629,2023-04-05 15:30:00,0.0,5.0 -13630,2023-04-05 15:40:00,0.0,5.0 -13631,2023-04-05 15:50:00,0.0,5.0 -13632,2023-04-05 16:00:00,0.0,3.0 -13633,2023-04-05 16:10:00,0.0,3.0 -13634,2023-04-05 16:20:00,0.0,3.0 -13635,2023-04-05 16:30:00,0.0,3.0 -13636,2023-04-05 16:40:00,0.0,3.0 -13637,2023-04-05 16:50:00,0.0,3.0 -13644,2023-04-05 18:00:00,0.0,3.0 -13645,2023-04-05 18:10:00,0.0,3.0 -13646,2023-04-05 18:20:00,0.0,3.0 -13647,2023-04-05 18:30:00,0.0,3.0 -13648,2023-04-05 18:40:00,0.0,3.0 -13649,2023-04-05 18:50:00,0.0,3.0 -13662,2023-04-05 21:00:00,0.0,3.0 -13663,2023-04-05 21:10:00,0.0,3.0 -13664,2023-04-05 21:20:00,0.0,3.0 -13665,2023-04-05 21:30:00,0.0,3.0 -13666,2023-04-05 21:40:00,0.0,3.0 -13667,2023-04-05 21:50:00,0.0,3.0 -13680,2023-04-06 00:00:00,0.0,3.0 -13681,2023-04-06 00:10:00,0.0,3.0 -13682,2023-04-06 00:20:00,0.0,3.0 -13683,2023-04-06 00:30:00,0.0,3.0 -13684,2023-04-06 00:40:00,0.0,3.0 -13685,2023-04-06 00:50:00,0.0,3.0 -13698,2023-04-06 03:00:00,0.0,1.0 -13699,2023-04-06 03:10:00,0.0,1.0 -13700,2023-04-06 03:20:00,0.0,1.0 -13701,2023-04-06 03:30:00,0.0,1.0 -13702,2023-04-06 03:40:00,0.0,1.0 -13703,2023-04-06 03:50:00,0.0,1.0 -13704,2023-04-06 04:00:00,0.0,3.0 -13705,2023-04-06 04:10:00,0.0,3.0 -13706,2023-04-06 04:20:00,0.0,3.0 -13707,2023-04-06 04:30:00,0.0,3.0 -13708,2023-04-06 04:40:00,0.0,3.0 -13709,2023-04-06 04:50:00,0.0,3.0 -13710,2023-04-06 05:00:00,0.0,3.0 -13711,2023-04-06 05:10:00,0.0,3.0 -13712,2023-04-06 05:20:00,0.0,3.0 -13713,2023-04-06 05:30:00,0.0,3.0 -13714,2023-04-06 05:40:00,0.0,3.0 -13715,2023-04-06 05:50:00,0.0,3.0 -13716,2023-04-06 06:00:00,0.0,3.0 -13717,2023-04-06 06:10:00,0.0,3.0 -13718,2023-04-06 06:20:00,0.0,3.0 -13719,2023-04-06 06:30:00,0.0,3.0 -13720,2023-04-06 06:40:00,0.0,3.0 -13721,2023-04-06 06:50:00,0.0,3.0 -13722,2023-04-06 07:00:00,0.0,3.0 -13723,2023-04-06 07:10:00,0.0,3.0 -13724,2023-04-06 07:20:00,0.0,3.0 -13725,2023-04-06 07:30:00,0.0,3.0 -13726,2023-04-06 07:40:00,0.0,3.0 -13727,2023-04-06 07:50:00,0.0,3.0 -13734,2023-04-06 09:00:00,0.0,5.0 -13735,2023-04-06 09:10:00,0.0,5.0 -13736,2023-04-06 09:20:00,0.0,5.0 -13737,2023-04-06 09:30:00,0.0,5.0 -13738,2023-04-06 09:40:00,0.0,5.0 -13739,2023-04-06 09:50:00,0.0,5.0 -13740,2023-04-06 10:00:00,0.0,3.0 -13741,2023-04-06 10:10:00,0.0,3.0 -13742,2023-04-06 10:20:00,0.0,3.0 -13743,2023-04-06 10:30:00,0.0,3.0 -13744,2023-04-06 10:40:00,0.0,3.0 -13745,2023-04-06 10:50:00,0.0,3.0 -13752,2023-04-06 12:00:00,0.0,4.0 -13753,2023-04-06 12:10:00,0.0,4.0 -13754,2023-04-06 12:20:00,0.0,4.0 -13755,2023-04-06 12:30:00,0.0,4.0 -13756,2023-04-06 12:40:00,0.0,4.0 -13757,2023-04-06 12:50:00,0.0,4.0 -13758,2023-04-06 13:00:00,0.0,4.0 -13759,2023-04-06 13:10:00,0.0,4.0 -13760,2023-04-06 13:20:00,0.0,4.0 -13761,2023-04-06 13:30:00,0.0,4.0 -13762,2023-04-06 13:40:00,0.0,4.0 -13763,2023-04-06 13:50:00,0.0,4.0 -13764,2023-04-06 14:00:00,0.0,4.0 -13765,2023-04-06 14:10:00,0.0,4.0 -13766,2023-04-06 14:20:00,0.0,4.0 -13767,2023-04-06 14:30:00,0.0,4.0 -13768,2023-04-06 14:40:00,0.0,4.0 -13769,2023-04-06 14:50:00,0.0,4.0 -13770,2023-04-06 15:00:00,0.0,4.0 -13771,2023-04-06 15:10:00,0.0,4.0 -13772,2023-04-06 15:20:00,0.0,4.0 -13773,2023-04-06 15:30:00,0.0,4.0 -13774,2023-04-06 15:40:00,0.0,4.0 -13775,2023-04-06 15:50:00,0.0,4.0 -13776,2023-04-06 16:00:00,0.0,4.0 -13777,2023-04-06 16:10:00,0.0,4.0 -13778,2023-04-06 16:20:00,0.0,4.0 -13779,2023-04-06 16:30:00,0.0,4.0 -13780,2023-04-06 16:40:00,0.0,4.0 -13781,2023-04-06 16:50:00,0.0,4.0 -13782,2023-04-06 17:00:00,0.0,4.0 -13783,2023-04-06 17:10:00,0.0,4.0 -13784,2023-04-06 17:20:00,0.0,4.0 -13785,2023-04-06 17:30:00,0.0,4.0 -13786,2023-04-06 17:40:00,0.0,4.0 -13787,2023-04-06 17:50:00,0.0,4.0 -13794,2023-04-06 19:00:00,0.0,4.0 -13795,2023-04-06 19:10:00,0.0,4.0 -13796,2023-04-06 19:20:00,0.0,4.0 -13797,2023-04-06 19:30:00,0.0,4.0 -13798,2023-04-06 19:40:00,0.0,4.0 -13799,2023-04-06 19:50:00,0.0,4.0 -13812,2023-04-06 22:00:00,0.0,3.0 -13813,2023-04-06 22:10:00,0.0,3.0 -13814,2023-04-06 22:20:00,0.0,3.0 -13815,2023-04-06 22:30:00,0.0,3.0 -13816,2023-04-06 22:40:00,0.0,3.0 -13817,2023-04-06 22:50:00,0.0,3.0 -13818,2023-04-06 23:00:00,0.0,3.0 -13819,2023-04-06 23:10:00,0.0,3.0 -13820,2023-04-06 23:20:00,0.0,3.0 -13821,2023-04-06 23:30:00,0.0,3.0 -13822,2023-04-06 23:40:00,0.0,3.0 -13823,2023-04-06 23:50:00,0.0,3.0 -13824,2023-04-07 00:00:00,0.0,4.0 -13825,2023-04-07 00:10:00,0.0,4.0 -13826,2023-04-07 00:20:00,0.0,4.0 -13827,2023-04-07 00:30:00,0.0,4.0 -13828,2023-04-07 00:40:00,0.0,4.0 -13829,2023-04-07 00:50:00,0.0,4.0 -13830,2023-04-07 01:00:00,0.0,3.0 -13831,2023-04-07 01:10:00,0.0,3.0 -13832,2023-04-07 01:20:00,0.0,3.0 -13833,2023-04-07 01:30:00,0.0,3.0 -13834,2023-04-07 01:40:00,0.0,3.0 -13835,2023-04-07 01:50:00,0.0,3.0 -13836,2023-04-07 02:00:00,0.0,3.0 -13837,2023-04-07 02:10:00,0.0,3.0 -13838,2023-04-07 02:20:00,0.0,3.0 -13839,2023-04-07 02:30:00,0.0,3.0 -13840,2023-04-07 02:40:00,0.0,3.0 -13841,2023-04-07 02:50:00,0.0,3.0 -13848,2023-04-07 04:00:00,0.0,3.0 -13849,2023-04-07 04:10:00,0.0,3.0 -13850,2023-04-07 04:20:00,0.0,3.0 -13851,2023-04-07 04:30:00,0.0,3.0 -13852,2023-04-07 04:40:00,0.0,3.0 -13853,2023-04-07 04:50:00,0.0,3.0 -13872,2023-04-07 08:00:00,0.0,3.0 -13873,2023-04-07 08:10:00,0.0,3.0 -13874,2023-04-07 08:20:00,0.0,3.0 -13875,2023-04-07 08:30:00,0.0,3.0 -13876,2023-04-07 08:40:00,0.0,3.0 -13877,2023-04-07 08:50:00,0.0,3.0 -13878,2023-04-07 09:00:00,0.0,4.0 -13879,2023-04-07 09:10:00,0.0,4.0 -13880,2023-04-07 09:20:00,0.0,4.0 -13881,2023-04-07 09:30:00,0.0,4.0 -13882,2023-04-07 09:40:00,0.0,4.0 -13883,2023-04-07 09:50:00,0.0,4.0 -13884,2023-04-07 10:00:00,0.0,3.0 -13885,2023-04-07 10:10:00,0.0,3.0 -13886,2023-04-07 10:20:00,0.0,3.0 -13887,2023-04-07 10:30:00,0.0,3.0 -13888,2023-04-07 10:40:00,0.0,3.0 -13889,2023-04-07 10:50:00,0.0,3.0 -13902,2023-04-07 13:00:00,0.0,4.0 -13903,2023-04-07 13:10:00,0.0,4.0 -13904,2023-04-07 13:20:00,0.0,4.0 -13905,2023-04-07 13:30:00,0.0,4.0 -13906,2023-04-07 13:40:00,0.0,4.0 -13907,2023-04-07 13:50:00,0.0,4.0 -13920,2023-04-07 16:00:00,0.0,3.0 -13921,2023-04-07 16:10:00,0.0,3.0 -13922,2023-04-07 16:20:00,0.0,3.0 -13923,2023-04-07 16:30:00,0.0,3.0 -13924,2023-04-07 16:40:00,0.0,3.0 -13925,2023-04-07 16:50:00,0.0,3.0 -13926,2023-04-07 17:00:00,0.0,3.0 -13927,2023-04-07 17:10:00,0.0,3.0 -13928,2023-04-07 17:20:00,0.0,3.0 -13929,2023-04-07 17:30:00,0.0,3.0 -13930,2023-04-07 17:40:00,0.0,3.0 -13931,2023-04-07 17:50:00,0.0,3.0 -13938,2023-04-07 19:00:00,0.0,3.0 -13939,2023-04-07 19:10:00,0.0,3.0 -13940,2023-04-07 19:20:00,0.0,3.0 -13941,2023-04-07 19:30:00,0.0,3.0 -13942,2023-04-07 19:40:00,0.0,3.0 -13943,2023-04-07 19:50:00,0.0,3.0 -13962,2023-04-07 23:00:00,0.0,3.0 -13963,2023-04-07 23:10:00,0.0,3.0 -13964,2023-04-07 23:20:00,0.0,3.0 -13965,2023-04-07 23:30:00,0.0,3.0 -13966,2023-04-07 23:40:00,0.0,3.0 -13967,2023-04-07 23:50:00,0.0,3.0 -13968,2023-04-08 00:00:00,0.0,4.0 -13969,2023-04-08 00:10:00,0.0,4.0 -13970,2023-04-08 00:20:00,0.0,4.0 -13971,2023-04-08 00:30:00,0.0,4.0 -13972,2023-04-08 00:40:00,0.0,4.0 -13973,2023-04-08 00:50:00,0.0,4.0 -13974,2023-04-08 01:00:00,0.0,3.0 -13975,2023-04-08 01:10:00,0.0,3.0 -13976,2023-04-08 01:20:00,0.0,3.0 -13977,2023-04-08 01:30:00,0.0,3.0 -13978,2023-04-08 01:40:00,0.0,3.0 -13979,2023-04-08 01:50:00,0.0,3.0 -13980,2023-04-08 02:00:00,0.0,3.0 -13981,2023-04-08 02:10:00,0.0,3.0 -13982,2023-04-08 02:20:00,0.0,3.0 -13983,2023-04-08 02:30:00,0.0,3.0 -13984,2023-04-08 02:40:00,0.0,3.0 -13985,2023-04-08 02:50:00,0.0,3.0 -13986,2023-04-08 03:00:00,0.0,3.0 -13987,2023-04-08 03:10:00,0.0,3.0 -13988,2023-04-08 03:20:00,0.0,3.0 -13989,2023-04-08 03:30:00,0.0,3.0 -13990,2023-04-08 03:40:00,0.0,3.0 -13991,2023-04-08 03:50:00,0.0,3.0 -13998,2023-04-08 05:00:00,0.0,3.0 -13999,2023-04-08 05:10:00,0.0,3.0 -14000,2023-04-08 05:20:00,0.0,3.0 -14001,2023-04-08 05:30:00,0.0,3.0 -14002,2023-04-08 05:40:00,0.0,3.0 -14003,2023-04-08 05:50:00,0.0,3.0 -14004,2023-04-08 06:00:00,0.0,3.0 -14005,2023-04-08 06:10:00,0.0,3.0 -14006,2023-04-08 06:20:00,0.0,3.0 -14007,2023-04-08 06:30:00,0.0,3.0 -14008,2023-04-08 06:40:00,0.0,3.0 -14009,2023-04-08 06:50:00,0.0,3.0 -14022,2023-04-08 09:00:00,0.0,5.0 -14023,2023-04-08 09:10:00,0.0,5.0 -14024,2023-04-08 09:20:00,0.0,5.0 -14025,2023-04-08 09:30:00,0.0,5.0 -14026,2023-04-08 09:40:00,0.0,5.0 -14027,2023-04-08 09:50:00,0.0,5.0 -14028,2023-04-08 10:00:00,0.0,3.0 -14029,2023-04-08 10:10:00,0.0,3.0 -14030,2023-04-08 10:20:00,0.0,3.0 -14031,2023-04-08 10:30:00,0.0,3.0 -14032,2023-04-08 10:40:00,0.0,3.0 -14033,2023-04-08 10:50:00,0.0,3.0 -14034,2023-04-08 11:00:00,0.0,5.0 -14035,2023-04-08 11:10:00,0.0,5.0 -14036,2023-04-08 11:20:00,0.0,5.0 -14037,2023-04-08 11:30:00,0.0,5.0 -14038,2023-04-08 11:40:00,0.0,5.0 -14039,2023-04-08 11:50:00,0.0,5.0 -14046,2023-04-08 13:00:00,0.0,5.0 -14047,2023-04-08 13:10:00,0.0,5.0 -14048,2023-04-08 13:20:00,0.0,5.0 -14049,2023-04-08 13:30:00,0.0,5.0 -14050,2023-04-08 13:40:00,0.0,5.0 -14051,2023-04-08 13:50:00,0.0,5.0 -14052,2023-04-08 14:00:00,0.0,5.0 -14053,2023-04-08 14:10:00,0.0,5.0 -14054,2023-04-08 14:20:00,0.0,5.0 -14055,2023-04-08 14:30:00,0.0,5.0 -14056,2023-04-08 14:40:00,0.0,5.0 -14057,2023-04-08 14:50:00,0.0,5.0 -14058,2023-04-08 15:00:00,0.0,5.0 -14059,2023-04-08 15:10:00,0.0,5.0 -14060,2023-04-08 15:20:00,0.0,5.0 -14061,2023-04-08 15:30:00,0.0,5.0 -14062,2023-04-08 15:40:00,0.0,5.0 -14063,2023-04-08 15:50:00,0.0,5.0 -14076,2023-04-08 18:00:00,0.0,5.0 -14077,2023-04-08 18:10:00,0.0,5.0 -14078,2023-04-08 18:20:00,0.0,5.0 -14079,2023-04-08 18:30:00,0.0,5.0 -14080,2023-04-08 18:40:00,0.0,5.0 -14081,2023-04-08 18:50:00,0.0,5.0 -14088,2023-04-08 20:00:00,0.0,3.0 -14089,2023-04-08 20:10:00,0.0,3.0 -14090,2023-04-08 20:20:00,0.0,3.0 -14091,2023-04-08 20:30:00,0.0,3.0 -14092,2023-04-08 20:40:00,0.0,3.0 -14093,2023-04-08 20:50:00,0.0,3.0 -14094,2023-04-08 21:00:00,0.0,3.0 -14095,2023-04-08 21:10:00,0.0,3.0 -14096,2023-04-08 21:20:00,0.0,3.0 -14097,2023-04-08 21:30:00,0.0,3.0 -14098,2023-04-08 21:40:00,0.0,3.0 -14099,2023-04-08 21:50:00,0.0,3.0 -14106,2023-04-08 23:00:00,0.0,3.0 -14107,2023-04-08 23:10:00,0.0,3.0 -14108,2023-04-08 23:20:00,0.0,3.0 -14109,2023-04-08 23:30:00,0.0,3.0 -14110,2023-04-08 23:40:00,0.0,3.0 -14111,2023-04-08 23:50:00,0.0,3.0 -14130,2023-04-09 03:00:00,0.0,3.0 -14131,2023-04-09 03:10:00,0.0,3.0 -14132,2023-04-09 03:20:00,0.0,3.0 -14133,2023-04-09 03:30:00,0.0,3.0 -14134,2023-04-09 03:40:00,0.0,3.0 -14135,2023-04-09 03:50:00,0.0,3.0 -14148,2023-04-09 06:00:00,0.0,3.0 -14149,2023-04-09 06:10:00,0.0,3.0 -14150,2023-04-09 06:20:00,0.0,3.0 -14151,2023-04-09 06:30:00,0.0,3.0 -14152,2023-04-09 06:40:00,0.0,3.0 -14153,2023-04-09 06:50:00,0.0,3.0 -14154,2023-04-09 07:00:00,0.0,3.0 -14155,2023-04-09 07:10:00,0.0,3.0 -14156,2023-04-09 07:20:00,0.0,3.0 -14157,2023-04-09 07:30:00,0.0,3.0 -14158,2023-04-09 07:40:00,0.0,3.0 -14159,2023-04-09 07:50:00,0.0,3.0 -14160,2023-04-09 08:00:00,0.0,3.0 -14161,2023-04-09 08:10:00,0.0,3.0 -14162,2023-04-09 08:20:00,0.0,3.0 -14163,2023-04-09 08:30:00,0.0,3.0 -14164,2023-04-09 08:40:00,0.0,3.0 -14165,2023-04-09 08:50:00,0.0,3.0 -14166,2023-04-09 09:00:00,0.0,5.0 -14167,2023-04-09 09:10:00,0.0,5.0 -14168,2023-04-09 09:20:00,0.0,5.0 -14169,2023-04-09 09:30:00,0.0,5.0 -14170,2023-04-09 09:40:00,0.0,5.0 -14171,2023-04-09 09:50:00,0.0,5.0 -14172,2023-04-09 10:00:00,0.0,5.0 -14173,2023-04-09 10:10:00,0.0,5.0 -14174,2023-04-09 10:20:00,0.0,5.0 -14175,2023-04-09 10:30:00,0.0,5.0 -14176,2023-04-09 10:40:00,0.0,5.0 -14177,2023-04-09 10:50:00,0.0,5.0 -14190,2023-04-09 13:00:00,0.0,7.0 -14191,2023-04-09 13:10:00,0.0,7.0 -14192,2023-04-09 13:20:00,0.0,7.0 -14193,2023-04-09 13:30:00,0.0,7.0 -14194,2023-04-09 13:40:00,0.0,7.0 -14195,2023-04-09 13:50:00,0.0,7.0 -14196,2023-04-09 14:00:00,0.0,5.0 -14197,2023-04-09 14:10:00,0.0,5.0 -14198,2023-04-09 14:20:00,0.0,5.0 -14199,2023-04-09 14:30:00,0.0,5.0 -14200,2023-04-09 14:40:00,0.0,5.0 -14201,2023-04-09 14:50:00,0.0,5.0 -14202,2023-04-09 15:00:00,0.0,5.0 -14203,2023-04-09 15:10:00,0.0,5.0 -14204,2023-04-09 15:20:00,0.0,5.0 -14205,2023-04-09 15:30:00,0.0,5.0 -14206,2023-04-09 15:40:00,0.0,5.0 -14207,2023-04-09 15:50:00,0.0,5.0 -14208,2023-04-09 16:00:00,0.0,5.0 -14209,2023-04-09 16:10:00,0.0,5.0 -14210,2023-04-09 16:20:00,0.0,5.0 -14211,2023-04-09 16:30:00,0.0,5.0 -14212,2023-04-09 16:40:00,0.0,5.0 -14213,2023-04-09 16:50:00,0.0,5.0 -14220,2023-04-09 18:00:00,0.0,5.0 -14221,2023-04-09 18:10:00,0.0,5.0 -14222,2023-04-09 18:20:00,0.0,5.0 -14223,2023-04-09 18:30:00,0.0,5.0 -14224,2023-04-09 18:40:00,0.0,5.0 -14225,2023-04-09 18:50:00,0.0,5.0 -14226,2023-04-09 19:00:00,0.0,5.0 -14227,2023-04-09 19:10:00,0.0,5.0 -14228,2023-04-09 19:20:00,0.0,5.0 -14229,2023-04-09 19:30:00,0.0,5.0 -14230,2023-04-09 19:40:00,0.0,5.0 -14231,2023-04-09 19:50:00,0.0,5.0 -14232,2023-04-09 20:00:00,0.0,3.0 -14233,2023-04-09 20:10:00,0.0,3.0 -14234,2023-04-09 20:20:00,0.0,3.0 -14235,2023-04-09 20:30:00,0.0,3.0 -14236,2023-04-09 20:40:00,0.0,3.0 -14237,2023-04-09 20:50:00,0.0,3.0 -14238,2023-04-09 21:00:00,0.0,3.0 -14239,2023-04-09 21:10:00,0.0,3.0 -14240,2023-04-09 21:20:00,0.0,3.0 -14241,2023-04-09 21:30:00,0.0,3.0 -14242,2023-04-09 21:40:00,0.0,3.0 -14243,2023-04-09 21:50:00,0.0,3.0 -14244,2023-04-09 22:00:00,0.0,3.0 -14245,2023-04-09 22:10:00,0.0,3.0 -14246,2023-04-09 22:20:00,0.0,3.0 -14247,2023-04-09 22:30:00,0.0,3.0 -14248,2023-04-09 22:40:00,0.0,3.0 -14249,2023-04-09 22:50:00,0.0,3.0 -14250,2023-04-09 23:00:00,0.0,3.0 -14251,2023-04-09 23:10:00,0.0,3.0 -14252,2023-04-09 23:20:00,0.0,3.0 -14253,2023-04-09 23:30:00,0.0,3.0 -14254,2023-04-09 23:40:00,0.0,3.0 -14255,2023-04-09 23:50:00,0.0,3.0 -14262,2023-04-10 01:00:00,0.0,3.0 -14263,2023-04-10 01:10:00,0.0,3.0 -14264,2023-04-10 01:20:00,0.0,3.0 -14265,2023-04-10 01:30:00,0.0,3.0 -14266,2023-04-10 01:40:00,0.0,3.0 -14267,2023-04-10 01:50:00,0.0,3.0 -14268,2023-04-10 02:00:00,0.0,3.0 -14269,2023-04-10 02:10:00,0.0,3.0 -14270,2023-04-10 02:20:00,0.0,3.0 -14271,2023-04-10 02:30:00,0.0,3.0 -14272,2023-04-10 02:40:00,0.0,3.0 -14273,2023-04-10 02:50:00,0.0,3.0 -14274,2023-04-10 03:00:00,0.0,3.0 -14275,2023-04-10 03:10:00,0.0,3.0 -14276,2023-04-10 03:20:00,0.0,3.0 -14277,2023-04-10 03:30:00,0.0,3.0 -14278,2023-04-10 03:40:00,0.0,3.0 -14279,2023-04-10 03:50:00,0.0,3.0 -14280,2023-04-10 04:00:00,0.0,3.0 -14281,2023-04-10 04:10:00,0.0,3.0 -14282,2023-04-10 04:20:00,0.0,3.0 -14283,2023-04-10 04:30:00,0.0,3.0 -14284,2023-04-10 04:40:00,0.0,3.0 -14285,2023-04-10 04:50:00,0.0,3.0 -14292,2023-04-10 06:00:00,0.0,3.0 -14293,2023-04-10 06:10:00,0.0,3.0 -14294,2023-04-10 06:20:00,0.0,3.0 -14295,2023-04-10 06:30:00,0.0,3.0 -14296,2023-04-10 06:40:00,0.0,3.0 -14297,2023-04-10 06:50:00,0.0,3.0 -14322,2023-04-10 11:00:00,0.0,7.0 -14323,2023-04-10 11:10:00,0.0,7.0 -14324,2023-04-10 11:20:00,0.0,7.0 -14325,2023-04-10 11:30:00,0.0,7.0 -14326,2023-04-10 11:40:00,0.0,7.0 -14327,2023-04-10 11:50:00,0.0,7.0 -14340,2023-04-10 14:00:00,0.0,6.0 -14341,2023-04-10 14:10:00,0.0,6.0 -14342,2023-04-10 14:20:00,0.0,6.0 -14343,2023-04-10 14:30:00,0.0,6.0 -14344,2023-04-10 14:40:00,0.0,6.0 -14345,2023-04-10 14:50:00,0.0,6.0 -14370,2023-04-10 19:00:00,0.0,5.0 -14371,2023-04-10 19:10:00,0.0,5.0 -14372,2023-04-10 19:20:00,0.0,5.0 -14373,2023-04-10 19:30:00,0.0,5.0 -14374,2023-04-10 19:40:00,0.0,5.0 -14375,2023-04-10 19:50:00,0.0,5.0 -14382,2023-04-10 21:00:00,0.0,4.0 -14383,2023-04-10 21:10:00,0.0,4.0 -14384,2023-04-10 21:20:00,0.0,4.0 -14385,2023-04-10 21:30:00,0.0,4.0 -14386,2023-04-10 21:40:00,0.0,4.0 -14387,2023-04-10 21:50:00,0.0,4.0 -14388,2023-04-10 22:00:00,0.0,4.0 -14389,2023-04-10 22:10:00,0.0,4.0 -14390,2023-04-10 22:20:00,0.0,4.0 -14391,2023-04-10 22:30:00,0.0,4.0 -14392,2023-04-10 22:40:00,0.0,4.0 -14393,2023-04-10 22:50:00,0.0,4.0 -14418,2023-04-11 03:00:00,0.0,3.0 -14419,2023-04-11 03:10:00,0.0,3.0 -14420,2023-04-11 03:20:00,0.0,3.0 -14421,2023-04-11 03:30:00,0.0,3.0 -14422,2023-04-11 03:40:00,0.0,3.0 -14423,2023-04-11 03:50:00,0.0,3.0 -14424,2023-04-11 04:00:00,0.0,3.0 -14425,2023-04-11 04:10:00,0.0,3.0 -14426,2023-04-11 04:20:00,0.0,3.0 -14427,2023-04-11 04:30:00,0.0,3.0 -14428,2023-04-11 04:40:00,0.0,3.0 -14429,2023-04-11 04:50:00,0.0,3.0 -14430,2023-04-11 05:00:00,0.0,3.0 -14431,2023-04-11 05:10:00,0.0,3.0 -14432,2023-04-11 05:20:00,0.0,3.0 -14433,2023-04-11 05:30:00,0.0,3.0 -14434,2023-04-11 05:40:00,0.0,3.0 -14435,2023-04-11 05:50:00,0.0,3.0 -14466,2023-04-11 11:00:00,0.0,5.0 -14467,2023-04-11 11:10:00,0.0,5.0 -14468,2023-04-11 11:20:00,0.0,5.0 -14469,2023-04-11 11:30:00,0.0,5.0 -14470,2023-04-11 11:40:00,0.0,5.0 -14471,2023-04-11 11:50:00,0.0,5.0 -14478,2023-04-11 13:00:00,0.0,5.0 -14479,2023-04-11 13:10:00,0.0,5.0 -14480,2023-04-11 13:20:00,0.0,5.0 -14481,2023-04-11 13:30:00,0.0,5.0 -14482,2023-04-11 13:40:00,0.0,5.0 -14483,2023-04-11 13:50:00,0.0,5.0 -14490,2023-04-11 15:00:00,0.0,5.0 -14491,2023-04-11 15:10:00,0.0,5.0 -14492,2023-04-11 15:20:00,0.0,5.0 -14493,2023-04-11 15:30:00,0.0,5.0 -14494,2023-04-11 15:40:00,0.0,5.0 -14495,2023-04-11 15:50:00,0.0,5.0 -14496,2023-04-11 16:00:00,0.0,5.0 -14497,2023-04-11 16:10:00,0.0,5.0 -14498,2023-04-11 16:20:00,0.0,5.0 -14499,2023-04-11 16:30:00,0.0,5.0 -14500,2023-04-11 16:40:00,0.0,5.0 -14501,2023-04-11 16:50:00,0.0,5.0 -14502,2023-04-11 17:00:00,0.0,5.0 -14503,2023-04-11 17:10:00,0.0,5.0 -14504,2023-04-11 17:20:00,0.0,5.0 -14505,2023-04-11 17:30:00,0.0,5.0 -14506,2023-04-11 17:40:00,0.0,5.0 -14507,2023-04-11 17:50:00,0.0,5.0 -14508,2023-04-11 18:00:00,0.0,5.0 -14509,2023-04-11 18:10:00,0.0,5.0 -14510,2023-04-11 18:20:00,0.0,5.0 -14511,2023-04-11 18:30:00,0.0,5.0 -14512,2023-04-11 18:40:00,0.0,5.0 -14513,2023-04-11 18:50:00,0.0,5.0 -14514,2023-04-11 19:00:00,0.0,4.0 -14515,2023-04-11 19:10:00,0.0,4.0 -14516,2023-04-11 19:20:00,0.0,4.0 -14517,2023-04-11 19:30:00,0.0,4.0 -14518,2023-04-11 19:40:00,0.0,4.0 -14519,2023-04-11 19:50:00,0.0,4.0 -14532,2023-04-11 22:00:00,0.0,3.0 -14533,2023-04-11 22:10:00,0.0,3.0 -14534,2023-04-11 22:20:00,0.0,3.0 -14535,2023-04-11 22:30:00,0.0,3.0 -14536,2023-04-11 22:40:00,0.0,3.0 -14537,2023-04-11 22:50:00,0.0,3.0 -14538,2023-04-11 23:00:00,0.0,4.0 -14539,2023-04-11 23:10:00,0.0,4.0 -14540,2023-04-11 23:20:00,0.0,4.0 -14541,2023-04-11 23:30:00,0.0,4.0 -14542,2023-04-11 23:40:00,0.0,4.0 -14543,2023-04-11 23:50:00,0.0,4.0 -14544,2023-04-12 00:00:00,0.0,4.0 -14545,2023-04-12 00:10:00,0.0,4.0 -14546,2023-04-12 00:20:00,0.0,4.0 -14547,2023-04-12 00:30:00,0.0,4.0 -14548,2023-04-12 00:40:00,0.0,4.0 -14549,2023-04-12 00:50:00,0.0,4.0 -14550,2023-04-12 01:00:00,0.0,4.0 -14551,2023-04-12 01:10:00,0.0,4.0 -14552,2023-04-12 01:20:00,0.0,4.0 -14553,2023-04-12 01:30:00,0.0,4.0 -14554,2023-04-12 01:40:00,0.0,4.0 -14555,2023-04-12 01:50:00,0.0,4.0 -14562,2023-04-12 03:00:00,0.0,4.0 -14563,2023-04-12 03:10:00,0.0,4.0 -14564,2023-04-12 03:20:00,0.0,4.0 -14565,2023-04-12 03:30:00,0.0,4.0 -14566,2023-04-12 03:40:00,0.0,4.0 -14567,2023-04-12 03:50:00,0.0,4.0 -14574,2023-04-12 05:00:00,0.0,4.0 -14575,2023-04-12 05:10:00,0.0,4.0 -14576,2023-04-12 05:20:00,0.0,4.0 -14577,2023-04-12 05:30:00,0.0,4.0 -14578,2023-04-12 05:40:00,0.0,4.0 -14579,2023-04-12 05:50:00,0.0,4.0 -14580,2023-04-12 06:00:00,0.0,4.0 -14581,2023-04-12 06:10:00,0.0,4.0 -14582,2023-04-12 06:20:00,0.0,4.0 -14583,2023-04-12 06:30:00,0.0,4.0 -14584,2023-04-12 06:40:00,0.0,4.0 -14585,2023-04-12 06:50:00,0.0,4.0 -14598,2023-04-12 09:00:00,0.0,5.0 -14599,2023-04-12 09:10:00,0.0,5.0 -14600,2023-04-12 09:20:00,0.0,5.0 -14601,2023-04-12 09:30:00,0.0,5.0 -14602,2023-04-12 09:40:00,0.0,5.0 -14603,2023-04-12 09:50:00,0.0,5.0 -14610,2023-04-12 11:00:00,0.0,5.0 -14611,2023-04-12 11:10:00,0.0,5.0 -14612,2023-04-12 11:20:00,0.0,5.0 -14613,2023-04-12 11:30:00,0.0,5.0 -14614,2023-04-12 11:40:00,0.0,5.0 -14615,2023-04-12 11:50:00,0.0,5.0 -14616,2023-04-12 12:00:00,0.0,6.0 -14617,2023-04-12 12:10:00,0.0,6.0 -14618,2023-04-12 12:20:00,0.0,6.0 -14619,2023-04-12 12:30:00,0.0,6.0 -14620,2023-04-12 12:40:00,0.0,6.0 -14621,2023-04-12 12:50:00,0.0,6.0 -14646,2023-04-12 17:00:00,0.0,3.0 -14647,2023-04-12 17:10:00,0.0,3.0 -14648,2023-04-12 17:20:00,0.0,3.0 -14649,2023-04-12 17:30:00,0.0,3.0 -14650,2023-04-12 17:40:00,0.0,3.0 -14651,2023-04-12 17:50:00,0.0,3.0 -14658,2023-04-12 19:00:00,0.0,3.0 -14659,2023-04-12 19:10:00,0.0,3.0 -14660,2023-04-12 19:20:00,0.0,3.0 -14661,2023-04-12 19:30:00,0.0,3.0 -14662,2023-04-12 19:40:00,0.0,3.0 -14663,2023-04-12 19:50:00,0.0,3.0 -14670,2023-04-12 21:00:00,0.0,4.0 -14671,2023-04-12 21:10:00,0.0,4.0 -14672,2023-04-12 21:20:00,0.0,4.0 -14673,2023-04-12 21:30:00,0.0,4.0 -14674,2023-04-12 21:40:00,0.0,4.0 -14675,2023-04-12 21:50:00,0.0,4.0 -14688,2023-04-13 00:00:00,0.0,4.0 -14689,2023-04-13 00:10:00,0.0,4.0 -14690,2023-04-13 00:20:00,0.0,4.0 -14691,2023-04-13 00:30:00,0.0,4.0 -14692,2023-04-13 00:40:00,0.0,4.0 -14693,2023-04-13 00:50:00,0.0,4.0 -14700,2023-04-13 02:00:00,0.0,4.0 -14701,2023-04-13 02:10:00,0.0,4.0 -14702,2023-04-13 02:20:00,0.0,4.0 -14703,2023-04-13 02:30:00,0.0,4.0 -14704,2023-04-13 02:40:00,0.0,4.0 -14705,2023-04-13 02:50:00,0.0,4.0 -14706,2023-04-13 03:00:00,0.0,4.0 -14707,2023-04-13 03:10:00,0.0,4.0 -14708,2023-04-13 03:20:00,0.0,4.0 -14709,2023-04-13 03:30:00,0.0,4.0 -14710,2023-04-13 03:40:00,0.0,4.0 -14711,2023-04-13 03:50:00,0.0,4.0 -14712,2023-04-13 04:00:00,0.0,4.0 -14713,2023-04-13 04:10:00,0.0,4.0 -14714,2023-04-13 04:20:00,0.0,4.0 -14715,2023-04-13 04:30:00,0.0,4.0 -14716,2023-04-13 04:40:00,0.0,4.0 -14717,2023-04-13 04:50:00,0.0,4.0 -14718,2023-04-13 05:00:00,0.0,4.0 -14719,2023-04-13 05:10:00,0.0,4.0 -14720,2023-04-13 05:20:00,0.0,4.0 -14721,2023-04-13 05:30:00,0.0,4.0 -14722,2023-04-13 05:40:00,0.0,4.0 -14723,2023-04-13 05:50:00,0.0,4.0 -14730,2023-04-13 07:00:00,0.0,3.0 -14731,2023-04-13 07:10:00,0.0,3.0 -14732,2023-04-13 07:20:00,0.0,3.0 -14733,2023-04-13 07:30:00,0.0,3.0 -14734,2023-04-13 07:40:00,0.0,3.0 -14735,2023-04-13 07:50:00,0.0,3.0 -14748,2023-04-13 10:00:00,0.0,5.0 -14749,2023-04-13 10:10:00,0.0,5.0 -14750,2023-04-13 10:20:00,0.0,5.0 -14751,2023-04-13 10:30:00,0.0,5.0 -14752,2023-04-13 10:40:00,0.0,5.0 -14753,2023-04-13 10:50:00,0.0,5.0 -14760,2023-04-13 12:00:00,0.0,3.0 -14761,2023-04-13 12:10:00,0.0,3.0 -14762,2023-04-13 12:20:00,0.0,3.0 -14763,2023-04-13 12:30:00,0.0,3.0 -14764,2023-04-13 12:40:00,0.0,3.0 -14765,2023-04-13 12:50:00,0.0,3.0 -14772,2023-04-13 14:00:00,0.0,5.0 -14773,2023-04-13 14:10:00,0.0,5.0 -14774,2023-04-13 14:20:00,0.0,5.0 -14775,2023-04-13 14:30:00,0.0,5.0 -14776,2023-04-13 14:40:00,0.0,5.0 -14777,2023-04-13 14:50:00,0.0,5.0 -14778,2023-04-13 15:00:00,0.0,5.0 -14779,2023-04-13 15:10:00,0.0,5.0 -14780,2023-04-13 15:20:00,0.0,5.0 -14781,2023-04-13 15:30:00,0.0,5.0 -14782,2023-04-13 15:40:00,0.0,5.0 -14783,2023-04-13 15:50:00,0.0,5.0 -14784,2023-04-13 16:00:00,0.0,5.0 -14785,2023-04-13 16:10:00,0.0,5.0 -14786,2023-04-13 16:20:00,0.0,5.0 -14787,2023-04-13 16:30:00,0.0,5.0 -14788,2023-04-13 16:40:00,0.0,5.0 -14789,2023-04-13 16:50:00,0.0,5.0 -14790,2023-04-13 17:00:00,0.0,3.0 -14791,2023-04-13 17:10:00,0.0,3.0 -14792,2023-04-13 17:20:00,0.0,3.0 -14793,2023-04-13 17:30:00,0.0,3.0 -14794,2023-04-13 17:40:00,0.0,3.0 -14795,2023-04-13 17:50:00,0.0,3.0 -14796,2023-04-13 18:00:00,0.0,3.0 -14797,2023-04-13 18:10:00,0.0,3.0 -14798,2023-04-13 18:20:00,0.0,3.0 -14799,2023-04-13 18:30:00,0.0,3.0 -14800,2023-04-13 18:40:00,0.0,3.0 -14801,2023-04-13 18:50:00,0.0,3.0 -14802,2023-04-13 19:00:00,0.0,3.0 -14803,2023-04-13 19:10:00,0.0,3.0 -14804,2023-04-13 19:20:00,0.0,3.0 -14805,2023-04-13 19:30:00,0.0,3.0 -14806,2023-04-13 19:40:00,0.0,3.0 -14807,2023-04-13 19:50:00,0.0,3.0 -14808,2023-04-13 20:00:00,0.0,3.0 -14809,2023-04-13 20:10:00,0.0,3.0 -14810,2023-04-13 20:20:00,0.0,3.0 -14811,2023-04-13 20:30:00,0.0,3.0 -14812,2023-04-13 20:40:00,0.0,3.0 -14813,2023-04-13 20:50:00,0.0,3.0 -14820,2023-04-13 22:00:00,0.0,3.0 -14821,2023-04-13 22:10:00,0.0,3.0 -14822,2023-04-13 22:20:00,0.0,3.0 -14823,2023-04-13 22:30:00,0.0,3.0 -14824,2023-04-13 22:40:00,0.0,3.0 -14825,2023-04-13 22:50:00,0.0,3.0 -14844,2023-04-14 02:00:00,0.0,3.0 -14845,2023-04-14 02:10:00,0.0,3.0 -14846,2023-04-14 02:20:00,0.0,3.0 -14847,2023-04-14 02:30:00,0.0,3.0 -14848,2023-04-14 02:40:00,0.0,3.0 -14849,2023-04-14 02:50:00,0.0,3.0 -14856,2023-04-14 04:00:00,0.0,3.0 -14857,2023-04-14 04:10:00,0.0,3.0 -14858,2023-04-14 04:20:00,0.0,3.0 -14859,2023-04-14 04:30:00,0.0,3.0 -14860,2023-04-14 04:40:00,0.0,3.0 -14861,2023-04-14 04:50:00,0.0,3.0 -14874,2023-04-14 07:00:00,0.0,3.0 -14875,2023-04-14 07:10:00,0.0,3.0 -14876,2023-04-14 07:20:00,0.0,3.0 -14877,2023-04-14 07:30:00,0.0,3.0 -14878,2023-04-14 07:40:00,0.0,3.0 -14879,2023-04-14 07:50:00,0.0,3.0 -14898,2023-04-14 11:00:00,0.0,5.0 -14899,2023-04-14 11:10:00,0.0,5.0 -14900,2023-04-14 11:20:00,0.0,5.0 -14901,2023-04-14 11:30:00,0.0,5.0 -14902,2023-04-14 11:40:00,0.0,5.0 -14903,2023-04-14 11:50:00,0.0,5.0 -14904,2023-04-14 12:00:00,0.0,5.0 -14905,2023-04-14 12:10:00,0.0,5.0 -14906,2023-04-14 12:20:00,0.0,5.0 -14907,2023-04-14 12:30:00,0.0,5.0 -14908,2023-04-14 12:40:00,0.0,5.0 -14909,2023-04-14 12:50:00,0.0,5.0 -14916,2023-04-14 14:00:00,0.0,5.0 -14917,2023-04-14 14:10:00,0.0,5.0 -14918,2023-04-14 14:20:00,0.0,5.0 -14919,2023-04-14 14:30:00,0.0,5.0 -14920,2023-04-14 14:40:00,0.0,5.0 -14921,2023-04-14 14:50:00,0.0,5.0 -14934,2023-04-14 17:00:00,0.0,5.0 -14935,2023-04-14 17:10:00,0.0,5.0 -14936,2023-04-14 17:20:00,0.0,5.0 -14937,2023-04-14 17:30:00,0.0,5.0 -14938,2023-04-14 17:40:00,0.0,5.0 -14939,2023-04-14 17:50:00,0.0,5.0 -14952,2023-04-14 20:00:00,0.0,3.0 -14953,2023-04-14 20:10:00,0.0,3.0 -14954,2023-04-14 20:20:00,0.0,3.0 -14955,2023-04-14 20:30:00,0.0,3.0 -14956,2023-04-14 20:40:00,0.0,3.0 -14957,2023-04-14 20:50:00,0.0,3.0 -14958,2023-04-14 21:00:00,0.0,3.0 -14959,2023-04-14 21:10:00,0.0,3.0 -14960,2023-04-14 21:20:00,0.0,3.0 -14961,2023-04-14 21:30:00,0.0,3.0 -14962,2023-04-14 21:40:00,0.0,3.0 -14963,2023-04-14 21:50:00,0.0,3.0 -14964,2023-04-14 22:00:00,0.0,3.0 -14965,2023-04-14 22:10:00,0.0,3.0 -14966,2023-04-14 22:20:00,0.0,3.0 -14967,2023-04-14 22:30:00,0.0,3.0 -14968,2023-04-14 22:40:00,0.0,3.0 -14969,2023-04-14 22:50:00,0.0,3.0 -14970,2023-04-14 23:00:00,0.0,3.0 -14971,2023-04-14 23:10:00,0.0,3.0 -14972,2023-04-14 23:20:00,0.0,3.0 -14973,2023-04-14 23:30:00,0.0,3.0 -14974,2023-04-14 23:40:00,0.0,3.0 -14975,2023-04-14 23:50:00,0.0,3.0 -14988,2023-04-15 02:00:00,0.0,3.0 -14989,2023-04-15 02:10:00,0.0,3.0 -14990,2023-04-15 02:20:00,0.0,3.0 -14991,2023-04-15 02:30:00,0.0,3.0 -14992,2023-04-15 02:40:00,0.0,3.0 -14993,2023-04-15 02:50:00,0.0,3.0 -14994,2023-04-15 03:00:00,0.0,3.0 -14995,2023-04-15 03:10:00,0.0,3.0 -14996,2023-04-15 03:20:00,0.0,3.0 -14997,2023-04-15 03:30:00,0.0,3.0 -14998,2023-04-15 03:40:00,0.0,3.0 -14999,2023-04-15 03:50:00,0.0,3.0 -15006,2023-04-15 05:00:00,0.0,3.0 -15007,2023-04-15 05:10:00,0.0,3.0 -15008,2023-04-15 05:20:00,0.0,3.0 -15009,2023-04-15 05:30:00,0.0,3.0 -15010,2023-04-15 05:40:00,0.0,3.0 -15011,2023-04-15 05:50:00,0.0,3.0 -15018,2023-04-15 07:00:00,0.0,5.0 -15019,2023-04-15 07:10:00,0.0,5.0 -15020,2023-04-15 07:20:00,0.0,5.0 -15021,2023-04-15 07:30:00,0.0,5.0 -15022,2023-04-15 07:40:00,0.0,5.0 -15023,2023-04-15 07:50:00,0.0,5.0 -15048,2023-04-15 12:00:00,0.0,5.0 -15049,2023-04-15 12:10:00,0.0,5.0 -15050,2023-04-15 12:20:00,0.0,5.0 -15051,2023-04-15 12:30:00,0.0,5.0 -15052,2023-04-15 12:40:00,0.0,5.0 -15053,2023-04-15 12:50:00,0.0,5.0 -15054,2023-04-15 13:00:00,0.0,5.0 -15055,2023-04-15 13:10:00,0.0,5.0 -15056,2023-04-15 13:20:00,0.0,5.0 -15057,2023-04-15 13:30:00,0.0,5.0 -15058,2023-04-15 13:40:00,0.0,5.0 -15059,2023-04-15 13:50:00,0.0,5.0 -15066,2023-04-15 15:00:00,0.0,5.0 -15067,2023-04-15 15:10:00,0.0,5.0 -15068,2023-04-15 15:20:00,0.0,5.0 -15069,2023-04-15 15:30:00,0.0,5.0 -15070,2023-04-15 15:40:00,0.0,5.0 -15071,2023-04-15 15:50:00,0.0,5.0 -15072,2023-04-15 16:00:00,0.0,3.0 -15073,2023-04-15 16:10:00,0.0,3.0 -15074,2023-04-15 16:20:00,0.0,3.0 -15075,2023-04-15 16:30:00,0.0,3.0 -15076,2023-04-15 16:40:00,0.0,3.0 -15077,2023-04-15 16:50:00,0.0,3.0 -15084,2023-04-15 18:00:00,0.0,3.0 -15085,2023-04-15 18:10:00,0.0,3.0 -15086,2023-04-15 18:20:00,0.0,3.0 -15087,2023-04-15 18:30:00,0.0,3.0 -15088,2023-04-15 18:40:00,0.0,3.0 -15089,2023-04-15 18:50:00,0.0,3.0 -15090,2023-04-15 19:00:00,0.0,3.0 -15091,2023-04-15 19:10:00,0.0,3.0 -15092,2023-04-15 19:20:00,0.0,3.0 -15093,2023-04-15 19:30:00,0.0,3.0 -15094,2023-04-15 19:40:00,0.0,3.0 -15095,2023-04-15 19:50:00,0.0,3.0 -15114,2023-04-15 23:00:00,0.0,3.0 -15115,2023-04-15 23:10:00,0.0,3.0 -15116,2023-04-15 23:20:00,0.0,3.0 -15117,2023-04-15 23:30:00,0.0,3.0 -15118,2023-04-15 23:40:00,0.0,3.0 -15119,2023-04-15 23:50:00,0.0,3.0 -15120,2023-04-16 00:00:00,0.0,3.0 -15121,2023-04-16 00:10:00,0.0,3.0 -15122,2023-04-16 00:20:00,0.0,3.0 -15123,2023-04-16 00:30:00,0.0,3.0 -15124,2023-04-16 00:40:00,0.0,3.0 -15125,2023-04-16 00:50:00,0.0,3.0 -15132,2023-04-16 02:00:00,0.0,3.0 -15133,2023-04-16 02:10:00,0.0,3.0 -15134,2023-04-16 02:20:00,0.0,3.0 -15135,2023-04-16 02:30:00,0.0,3.0 -15136,2023-04-16 02:40:00,0.0,3.0 -15137,2023-04-16 02:50:00,0.0,3.0 -15162,2023-04-16 07:00:00,0.0,3.0 -15163,2023-04-16 07:10:00,0.0,3.0 -15164,2023-04-16 07:20:00,0.0,3.0 -15165,2023-04-16 07:30:00,0.0,3.0 -15166,2023-04-16 07:40:00,0.0,3.0 -15167,2023-04-16 07:50:00,0.0,3.0 -15174,2023-04-16 09:00:00,0.0,3.0 -15175,2023-04-16 09:10:00,0.0,3.0 -15176,2023-04-16 09:20:00,0.0,3.0 -15177,2023-04-16 09:30:00,0.0,3.0 -15178,2023-04-16 09:40:00,0.0,3.0 -15179,2023-04-16 09:50:00,0.0,3.0 -15180,2023-04-16 10:00:00,0.0,3.0 -15181,2023-04-16 10:10:00,0.0,3.0 -15182,2023-04-16 10:20:00,0.0,3.0 -15183,2023-04-16 10:30:00,0.0,3.0 -15184,2023-04-16 10:40:00,0.0,3.0 -15185,2023-04-16 10:50:00,0.0,3.0 -15186,2023-04-16 11:00:00,0.0,5.0 -15187,2023-04-16 11:10:00,0.0,5.0 -15188,2023-04-16 11:20:00,0.0,5.0 -15189,2023-04-16 11:30:00,0.0,5.0 -15190,2023-04-16 11:40:00,0.0,5.0 -15191,2023-04-16 11:50:00,0.0,5.0 -15198,2023-04-16 13:00:00,0.0,5.0 -15199,2023-04-16 13:10:00,0.0,5.0 -15200,2023-04-16 13:20:00,0.0,5.0 -15201,2023-04-16 13:30:00,0.0,5.0 -15202,2023-04-16 13:40:00,0.0,5.0 -15203,2023-04-16 13:50:00,0.0,5.0 -15216,2023-04-16 16:00:00,0.0,5.0 -15217,2023-04-16 16:10:00,0.0,5.0 -15218,2023-04-16 16:20:00,0.0,5.0 -15219,2023-04-16 16:30:00,0.0,5.0 -15220,2023-04-16 16:40:00,0.0,5.0 -15221,2023-04-16 16:50:00,0.0,5.0 -15222,2023-04-16 17:00:00,0.0,3.0 -15223,2023-04-16 17:10:00,0.0,3.0 -15224,2023-04-16 17:20:00,0.0,3.0 -15225,2023-04-16 17:30:00,0.0,3.0 -15226,2023-04-16 17:40:00,0.0,3.0 -15227,2023-04-16 17:50:00,0.0,3.0 -15228,2023-04-16 18:00:00,0.0,3.0 -15229,2023-04-16 18:10:00,0.0,3.0 -15230,2023-04-16 18:20:00,0.0,3.0 -15231,2023-04-16 18:30:00,0.0,3.0 -15232,2023-04-16 18:40:00,0.0,3.0 -15233,2023-04-16 18:50:00,0.0,3.0 -15234,2023-04-16 19:00:00,0.0,3.0 -15235,2023-04-16 19:10:00,0.0,3.0 -15236,2023-04-16 19:20:00,0.0,3.0 -15237,2023-04-16 19:30:00,0.0,3.0 -15238,2023-04-16 19:40:00,0.0,3.0 -15239,2023-04-16 19:50:00,0.0,3.0 -15246,2023-04-16 21:00:00,0.0,3.0 -15247,2023-04-16 21:10:00,0.0,3.0 -15248,2023-04-16 21:20:00,0.0,3.0 -15249,2023-04-16 21:30:00,0.0,3.0 -15250,2023-04-16 21:40:00,0.0,3.0 -15251,2023-04-16 21:50:00,0.0,3.0 -15258,2023-04-16 23:00:00,0.0,3.0 -15259,2023-04-16 23:10:00,0.0,3.0 -15260,2023-04-16 23:20:00,0.0,3.0 -15261,2023-04-16 23:30:00,0.0,3.0 -15262,2023-04-16 23:40:00,0.0,3.0 -15263,2023-04-16 23:50:00,0.0,3.0 -15264,2023-04-17 00:00:00,0.0,3.0 -15265,2023-04-17 00:10:00,0.0,3.0 -15266,2023-04-17 00:20:00,0.0,3.0 -15267,2023-04-17 00:30:00,0.0,3.0 -15268,2023-04-17 00:40:00,0.0,3.0 -15269,2023-04-17 00:50:00,0.0,3.0 -15276,2023-04-17 02:00:00,0.0,3.0 -15277,2023-04-17 02:10:00,0.0,3.0 -15278,2023-04-17 02:20:00,0.0,3.0 -15279,2023-04-17 02:30:00,0.0,3.0 -15280,2023-04-17 02:40:00,0.0,3.0 -15281,2023-04-17 02:50:00,0.0,3.0 -15288,2023-04-17 04:00:00,0.0,3.0 -15289,2023-04-17 04:10:00,0.0,3.0 -15290,2023-04-17 04:20:00,0.0,3.0 -15291,2023-04-17 04:30:00,0.0,3.0 -15292,2023-04-17 04:40:00,0.0,3.0 -15293,2023-04-17 04:50:00,0.0,3.0 -15294,2023-04-17 05:00:00,0.0,3.0 -15295,2023-04-17 05:10:00,0.0,3.0 -15296,2023-04-17 05:20:00,0.0,3.0 -15297,2023-04-17 05:30:00,0.0,3.0 -15298,2023-04-17 05:40:00,0.0,3.0 -15299,2023-04-17 05:50:00,0.0,3.0 -15306,2023-04-17 07:00:00,0.0,3.0 -15307,2023-04-17 07:10:00,0.0,3.0 -15308,2023-04-17 07:20:00,0.0,3.0 -15309,2023-04-17 07:30:00,0.0,3.0 -15310,2023-04-17 07:40:00,0.0,3.0 -15311,2023-04-17 07:50:00,0.0,3.0 -15318,2023-04-17 09:00:00,0.0,5.0 -15319,2023-04-17 09:10:00,0.0,5.0 -15320,2023-04-17 09:20:00,0.0,5.0 -15321,2023-04-17 09:30:00,0.0,5.0 -15322,2023-04-17 09:40:00,0.0,5.0 -15323,2023-04-17 09:50:00,0.0,5.0 -15330,2023-04-17 11:00:00,0.0,5.0 -15331,2023-04-17 11:10:00,0.0,5.0 -15332,2023-04-17 11:20:00,0.0,5.0 -15333,2023-04-17 11:30:00,0.0,5.0 -15334,2023-04-17 11:40:00,0.0,5.0 -15335,2023-04-17 11:50:00,0.0,5.0 -15342,2023-04-17 13:00:00,0.0,5.0 -15343,2023-04-17 13:10:00,0.0,5.0 -15344,2023-04-17 13:20:00,0.0,5.0 -15345,2023-04-17 13:30:00,0.0,5.0 -15346,2023-04-17 13:40:00,0.0,5.0 -15347,2023-04-17 13:50:00,0.0,5.0 -15348,2023-04-17 14:00:00,0.0,7.0 -15349,2023-04-17 14:10:00,0.0,7.0 -15350,2023-04-17 14:20:00,0.0,7.0 -15351,2023-04-17 14:30:00,0.0,7.0 -15352,2023-04-17 14:40:00,0.0,7.0 -15353,2023-04-17 14:50:00,0.0,7.0 -15354,2023-04-17 15:00:00,0.0,5.0 -15355,2023-04-17 15:10:00,0.0,5.0 -15356,2023-04-17 15:20:00,0.0,5.0 -15357,2023-04-17 15:30:00,0.0,5.0 -15358,2023-04-17 15:40:00,0.0,5.0 -15359,2023-04-17 15:50:00,0.0,5.0 -15378,2023-04-17 19:00:00,0.0,5.0 -15379,2023-04-17 19:10:00,0.0,5.0 -15380,2023-04-17 19:20:00,0.0,5.0 -15381,2023-04-17 19:30:00,0.0,5.0 -15382,2023-04-17 19:40:00,0.0,5.0 -15383,2023-04-17 19:50:00,0.0,5.0 -15384,2023-04-17 20:00:00,0.0,3.0 -15385,2023-04-17 20:10:00,0.0,3.0 -15386,2023-04-17 20:20:00,0.0,3.0 -15387,2023-04-17 20:30:00,0.0,3.0 -15388,2023-04-17 20:40:00,0.0,3.0 -15389,2023-04-17 20:50:00,0.0,3.0 -15390,2023-04-17 21:00:00,0.0,3.0 -15391,2023-04-17 21:10:00,0.0,3.0 -15392,2023-04-17 21:20:00,0.0,3.0 -15393,2023-04-17 21:30:00,0.0,3.0 -15394,2023-04-17 21:40:00,0.0,3.0 -15395,2023-04-17 21:50:00,0.0,3.0 -15402,2023-04-17 23:00:00,0.0,3.0 -15403,2023-04-17 23:10:00,0.0,3.0 -15404,2023-04-17 23:20:00,0.0,3.0 -15405,2023-04-17 23:30:00,0.0,3.0 -15406,2023-04-17 23:40:00,0.0,3.0 -15407,2023-04-17 23:50:00,0.0,3.0 -15414,2023-04-18 01:00:00,0.0,3.0 -15415,2023-04-18 01:10:00,0.0,3.0 -15416,2023-04-18 01:20:00,0.0,3.0 -15417,2023-04-18 01:30:00,0.0,3.0 -15418,2023-04-18 01:40:00,0.0,3.0 -15419,2023-04-18 01:50:00,0.0,3.0 -15426,2023-04-18 03:00:00,0.0,3.0 -15427,2023-04-18 03:10:00,0.0,3.0 -15428,2023-04-18 03:20:00,0.0,3.0 -15429,2023-04-18 03:30:00,0.0,3.0 -15430,2023-04-18 03:40:00,0.0,3.0 -15431,2023-04-18 03:50:00,0.0,3.0 -15432,2023-04-18 04:00:00,0.0,3.0 -15433,2023-04-18 04:10:00,0.0,3.0 -15434,2023-04-18 04:20:00,0.0,3.0 -15435,2023-04-18 04:30:00,0.0,3.0 -15436,2023-04-18 04:40:00,0.0,3.0 -15437,2023-04-18 04:50:00,0.0,3.0 -15450,2023-04-18 07:00:00,0.0,3.0 -15451,2023-04-18 07:10:00,0.0,3.0 -15452,2023-04-18 07:20:00,0.0,3.0 -15453,2023-04-18 07:30:00,0.0,3.0 -15454,2023-04-18 07:40:00,0.0,3.0 -15455,2023-04-18 07:50:00,0.0,3.0 -15456,2023-04-18 08:00:00,0.0,3.0 -15457,2023-04-18 08:10:00,0.0,3.0 -15458,2023-04-18 08:20:00,0.0,3.0 -15459,2023-04-18 08:30:00,0.0,3.0 -15460,2023-04-18 08:40:00,0.0,3.0 -15461,2023-04-18 08:50:00,0.0,3.0 -15468,2023-04-18 10:00:00,0.0,5.0 -15469,2023-04-18 10:10:00,0.0,5.0 -15470,2023-04-18 10:20:00,0.0,5.0 -15471,2023-04-18 10:30:00,0.0,5.0 -15472,2023-04-18 10:40:00,0.0,5.0 -15473,2023-04-18 10:50:00,0.0,5.0 -15486,2023-04-18 13:00:00,0.0,5.0 -15487,2023-04-18 13:10:00,0.0,5.0 -15488,2023-04-18 13:20:00,0.0,5.0 -15489,2023-04-18 13:30:00,0.0,5.0 -15490,2023-04-18 13:40:00,0.0,5.0 -15491,2023-04-18 13:50:00,0.0,5.0 -15492,2023-04-18 14:00:00,0.0,5.0 -15493,2023-04-18 14:10:00,0.0,5.0 -15494,2023-04-18 14:20:00,0.0,5.0 -15495,2023-04-18 14:30:00,0.0,5.0 -15496,2023-04-18 14:40:00,0.0,5.0 -15497,2023-04-18 14:50:00,0.0,5.0 -15504,2023-04-18 16:00:00,0.0,5.0 -15505,2023-04-18 16:10:00,0.0,5.0 -15506,2023-04-18 16:20:00,0.0,5.0 -15507,2023-04-18 16:30:00,0.0,5.0 -15508,2023-04-18 16:40:00,0.0,5.0 -15509,2023-04-18 16:50:00,0.0,5.0 -15510,2023-04-18 17:00:00,0.0,3.0 -15511,2023-04-18 17:10:00,0.0,3.0 -15512,2023-04-18 17:20:00,0.0,3.0 -15513,2023-04-18 17:30:00,0.0,3.0 -15514,2023-04-18 17:40:00,0.0,3.0 -15515,2023-04-18 17:50:00,0.0,3.0 -15522,2023-04-18 19:00:00,0.0,5.0 -15523,2023-04-18 19:10:00,0.0,5.0 -15524,2023-04-18 19:20:00,0.0,5.0 -15525,2023-04-18 19:30:00,0.0,5.0 -15526,2023-04-18 19:40:00,0.0,5.0 -15527,2023-04-18 19:50:00,0.0,5.0 -15528,2023-04-18 20:00:00,0.0,3.0 -15529,2023-04-18 20:10:00,0.0,3.0 -15530,2023-04-18 20:20:00,0.0,3.0 -15531,2023-04-18 20:30:00,0.0,3.0 -15532,2023-04-18 20:40:00,0.0,3.0 -15533,2023-04-18 20:50:00,0.0,3.0 -15540,2023-04-18 22:00:00,0.0,3.0 -15541,2023-04-18 22:10:00,0.0,3.0 -15542,2023-04-18 22:20:00,0.0,3.0 -15543,2023-04-18 22:30:00,0.0,3.0 -15544,2023-04-18 22:40:00,0.0,3.0 -15545,2023-04-18 22:50:00,0.0,3.0 -15546,2023-04-18 23:00:00,0.0,3.0 -15547,2023-04-18 23:10:00,0.0,3.0 -15548,2023-04-18 23:20:00,0.0,3.0 -15549,2023-04-18 23:30:00,0.0,3.0 -15550,2023-04-18 23:40:00,0.0,3.0 -15551,2023-04-18 23:50:00,0.0,3.0 -15552,2023-04-19 00:00:00,0.0,3.0 -15553,2023-04-19 00:10:00,0.0,3.0 -15554,2023-04-19 00:20:00,0.0,3.0 -15555,2023-04-19 00:30:00,0.0,3.0 -15556,2023-04-19 00:40:00,0.0,3.0 -15557,2023-04-19 00:50:00,0.0,3.0 -15558,2023-04-19 01:00:00,0.0,3.0 -15559,2023-04-19 01:10:00,0.0,3.0 -15560,2023-04-19 01:20:00,0.0,3.0 -15561,2023-04-19 01:30:00,0.0,3.0 -15562,2023-04-19 01:40:00,0.0,3.0 -15563,2023-04-19 01:50:00,0.0,3.0 -15576,2023-04-19 04:00:00,0.0,3.0 -15577,2023-04-19 04:10:00,0.0,3.0 -15578,2023-04-19 04:20:00,0.0,3.0 -15579,2023-04-19 04:30:00,0.0,3.0 -15580,2023-04-19 04:40:00,0.0,3.0 -15581,2023-04-19 04:50:00,0.0,3.0 -15582,2023-04-19 05:00:00,0.0,3.0 -15583,2023-04-19 05:10:00,0.0,3.0 -15584,2023-04-19 05:20:00,0.0,3.0 -15585,2023-04-19 05:30:00,0.0,3.0 -15586,2023-04-19 05:40:00,0.0,3.0 -15587,2023-04-19 05:50:00,0.0,3.0 -15588,2023-04-19 06:00:00,0.0,5.0 -15589,2023-04-19 06:10:00,0.0,5.0 -15590,2023-04-19 06:20:00,0.0,5.0 -15591,2023-04-19 06:30:00,0.0,5.0 -15592,2023-04-19 06:40:00,0.0,5.0 -15593,2023-04-19 06:50:00,0.0,5.0 -15606,2023-04-19 09:00:00,0.0,5.0 -15607,2023-04-19 09:10:00,0.0,5.0 -15608,2023-04-19 09:20:00,0.0,5.0 -15609,2023-04-19 09:30:00,0.0,5.0 -15610,2023-04-19 09:40:00,0.0,5.0 -15611,2023-04-19 09:50:00,0.0,5.0 -15630,2023-04-19 13:00:00,0.0,5.0 -15631,2023-04-19 13:10:00,0.0,5.0 -15632,2023-04-19 13:20:00,0.0,5.0 -15633,2023-04-19 13:30:00,0.0,5.0 -15634,2023-04-19 13:40:00,0.0,5.0 -15635,2023-04-19 13:50:00,0.0,5.0 -15636,2023-04-19 14:00:00,0.0,5.0 -15637,2023-04-19 14:10:00,0.0,5.0 -15638,2023-04-19 14:20:00,0.0,5.0 -15639,2023-04-19 14:30:00,0.0,5.0 -15640,2023-04-19 14:40:00,0.0,5.0 -15641,2023-04-19 14:50:00,0.0,5.0 -15648,2023-04-19 16:00:00,0.0,5.0 -15649,2023-04-19 16:10:00,0.0,5.0 -15650,2023-04-19 16:20:00,0.0,5.0 -15651,2023-04-19 16:30:00,0.0,5.0 -15652,2023-04-19 16:40:00,0.0,5.0 -15653,2023-04-19 16:50:00,0.0,5.0 -15654,2023-04-19 17:00:00,0.0,5.0 -15655,2023-04-19 17:10:00,0.0,5.0 -15656,2023-04-19 17:20:00,0.0,5.0 -15657,2023-04-19 17:30:00,0.0,5.0 -15658,2023-04-19 17:40:00,0.0,5.0 -15659,2023-04-19 17:50:00,0.0,5.0 -15660,2023-04-19 18:00:00,0.0,3.0 -15661,2023-04-19 18:10:00,0.0,3.0 -15662,2023-04-19 18:20:00,0.0,3.0 -15663,2023-04-19 18:30:00,0.0,3.0 -15664,2023-04-19 18:40:00,0.0,3.0 -15665,2023-04-19 18:50:00,0.0,3.0 -15672,2023-04-19 20:00:00,0.0,3.0 -15673,2023-04-19 20:10:00,0.0,3.0 -15674,2023-04-19 20:20:00,0.0,3.0 -15675,2023-04-19 20:30:00,0.0,3.0 -15676,2023-04-19 20:40:00,0.0,3.0 -15677,2023-04-19 20:50:00,0.0,3.0 -15696,2023-04-20 00:00:00,0.0,3.0 -15697,2023-04-20 00:10:00,0.0,3.0 -15698,2023-04-20 00:20:00,0.0,3.0 -15699,2023-04-20 00:30:00,0.0,3.0 -15700,2023-04-20 00:40:00,0.0,3.0 -15701,2023-04-20 00:50:00,0.0,3.0 -15702,2023-04-20 01:00:00,0.0,3.0 -15703,2023-04-20 01:10:00,0.0,3.0 -15704,2023-04-20 01:20:00,0.0,3.0 -15705,2023-04-20 01:30:00,0.0,3.0 -15706,2023-04-20 01:40:00,0.0,3.0 -15707,2023-04-20 01:50:00,0.0,3.0 -15720,2023-04-20 04:00:00,0.0,3.0 -15721,2023-04-20 04:10:00,0.0,3.0 -15722,2023-04-20 04:20:00,0.0,3.0 -15723,2023-04-20 04:30:00,0.0,3.0 -15724,2023-04-20 04:40:00,0.0,3.0 -15725,2023-04-20 04:50:00,0.0,3.0 -15732,2023-04-20 06:00:00,0.0,4.0 -15733,2023-04-20 06:10:00,0.0,4.0 -15734,2023-04-20 06:20:00,0.0,4.0 -15735,2023-04-20 06:30:00,0.0,4.0 -15736,2023-04-20 06:40:00,0.0,4.0 -15737,2023-04-20 06:50:00,0.0,4.0 -15762,2023-04-20 11:00:00,0.0,3.0 -15763,2023-04-20 11:10:00,0.0,3.0 -15764,2023-04-20 11:20:00,0.0,3.0 -15765,2023-04-20 11:30:00,0.0,3.0 -15766,2023-04-20 11:40:00,0.0,3.0 -15767,2023-04-20 11:50:00,0.0,3.0 -15774,2023-04-20 13:00:00,0.0,5.0 -15775,2023-04-20 13:10:00,0.0,5.0 -15776,2023-04-20 13:20:00,0.0,5.0 -15777,2023-04-20 13:30:00,0.0,5.0 -15778,2023-04-20 13:40:00,0.0,5.0 -15779,2023-04-20 13:50:00,0.0,5.0 -15798,2023-04-20 17:00:00,0.0,3.0 -15799,2023-04-20 17:10:00,0.0,3.0 -15800,2023-04-20 17:20:00,0.0,3.0 -15801,2023-04-20 17:30:00,0.0,3.0 -15802,2023-04-20 17:40:00,0.0,3.0 -15803,2023-04-20 17:50:00,0.0,3.0 -15804,2023-04-20 18:00:00,0.0,4.0 -15805,2023-04-20 18:10:00,0.0,4.0 -15806,2023-04-20 18:20:00,0.0,4.0 -15807,2023-04-20 18:30:00,0.0,4.0 -15808,2023-04-20 18:40:00,0.0,4.0 -15809,2023-04-20 18:50:00,0.0,4.0 -15810,2023-04-20 19:00:00,0.0,3.0 -15811,2023-04-20 19:10:00,0.0,3.0 -15812,2023-04-20 19:20:00,0.0,3.0 -15813,2023-04-20 19:30:00,0.0,3.0 -15814,2023-04-20 19:40:00,0.0,3.0 -15815,2023-04-20 19:50:00,0.0,3.0 -15816,2023-04-20 20:00:00,0.0,3.0 -15817,2023-04-20 20:10:00,0.0,3.0 -15818,2023-04-20 20:20:00,0.0,3.0 -15819,2023-04-20 20:30:00,0.0,3.0 -15820,2023-04-20 20:40:00,0.0,3.0 -15821,2023-04-20 20:50:00,0.0,3.0 -15822,2023-04-20 21:00:00,0.0,4.0 -15823,2023-04-20 21:10:00,0.0,4.0 -15824,2023-04-20 21:20:00,0.0,4.0 -15825,2023-04-20 21:30:00,0.0,4.0 -15826,2023-04-20 21:40:00,0.0,4.0 -15827,2023-04-20 21:50:00,0.0,4.0 -15834,2023-04-20 23:00:00,0.0,4.0 -15835,2023-04-20 23:10:00,0.0,4.0 -15836,2023-04-20 23:20:00,0.0,4.0 -15837,2023-04-20 23:30:00,0.0,4.0 -15838,2023-04-20 23:40:00,0.0,4.0 -15839,2023-04-20 23:50:00,0.0,4.0 -15840,2023-04-21 00:00:00,0.0,3.0 -15841,2023-04-21 00:10:00,0.0,3.0 -15842,2023-04-21 00:20:00,0.0,3.0 -15843,2023-04-21 00:30:00,0.0,3.0 -15844,2023-04-21 00:40:00,0.0,3.0 -15845,2023-04-21 00:50:00,0.0,3.0 -15858,2023-04-21 03:00:00,0.0,4.0 -15859,2023-04-21 03:10:00,0.0,4.0 -15860,2023-04-21 03:20:00,0.0,4.0 -15861,2023-04-21 03:30:00,0.0,4.0 -15862,2023-04-21 03:40:00,0.0,4.0 -15863,2023-04-21 03:50:00,0.0,4.0 -15864,2023-04-21 04:00:00,0.0,3.0 -15865,2023-04-21 04:10:00,0.0,3.0 -15866,2023-04-21 04:20:00,0.0,3.0 -15867,2023-04-21 04:30:00,0.0,3.0 -15868,2023-04-21 04:40:00,0.0,3.0 -15869,2023-04-21 04:50:00,0.0,3.0 -15870,2023-04-21 05:00:00,0.0,3.0 -15871,2023-04-21 05:10:00,0.0,3.0 -15872,2023-04-21 05:20:00,0.0,3.0 -15873,2023-04-21 05:30:00,0.0,3.0 -15874,2023-04-21 05:40:00,0.0,3.0 -15875,2023-04-21 05:50:00,0.0,3.0 -15882,2023-04-21 07:00:00,0.0,5.0 -15883,2023-04-21 07:10:00,0.0,5.0 -15884,2023-04-21 07:20:00,0.0,5.0 -15885,2023-04-21 07:30:00,0.0,5.0 -15886,2023-04-21 07:40:00,0.0,5.0 -15887,2023-04-21 07:50:00,0.0,5.0 -15912,2023-04-21 12:00:00,0.0,5.0 -15913,2023-04-21 12:10:00,0.0,5.0 -15914,2023-04-21 12:20:00,0.0,5.0 -15915,2023-04-21 12:30:00,0.0,5.0 -15916,2023-04-21 12:40:00,0.0,5.0 -15917,2023-04-21 12:50:00,0.0,5.0 -15918,2023-04-21 13:00:00,0.0,7.0 -15919,2023-04-21 13:10:00,0.0,7.0 -15920,2023-04-21 13:20:00,0.0,7.0 -15921,2023-04-21 13:30:00,0.0,7.0 -15922,2023-04-21 13:40:00,0.0,7.0 -15923,2023-04-21 13:50:00,0.0,7.0 -15930,2023-04-21 15:00:00,0.0,7.0 -15931,2023-04-21 15:10:00,0.0,7.0 -15932,2023-04-21 15:20:00,0.0,7.0 -15933,2023-04-21 15:30:00,0.0,7.0 -15934,2023-04-21 15:40:00,0.0,7.0 -15935,2023-04-21 15:50:00,0.0,7.0 -15948,2023-04-21 18:00:00,0.0,6.0 -15949,2023-04-21 18:10:00,0.0,6.0 -15950,2023-04-21 18:20:00,0.0,6.0 -15951,2023-04-21 18:30:00,0.0,6.0 -15952,2023-04-21 18:40:00,0.0,6.0 -15953,2023-04-21 18:50:00,0.0,6.0 -15954,2023-04-21 19:00:00,0.0,3.0 -15955,2023-04-21 19:10:00,0.0,3.0 -15956,2023-04-21 19:20:00,0.0,3.0 -15957,2023-04-21 19:30:00,0.0,3.0 -15958,2023-04-21 19:40:00,0.0,3.0 -15959,2023-04-21 19:50:00,0.0,3.0 -15984,2023-04-22 00:00:00,0.0,3.0 -15985,2023-04-22 00:10:00,0.0,3.0 -15986,2023-04-22 00:20:00,0.0,3.0 -15987,2023-04-22 00:30:00,0.0,3.0 -15988,2023-04-22 00:40:00,0.0,3.0 -15989,2023-04-22 00:50:00,0.0,3.0 -15996,2023-04-22 02:00:00,0.0,3.0 -15997,2023-04-22 02:10:00,0.0,3.0 -15998,2023-04-22 02:20:00,0.0,3.0 -15999,2023-04-22 02:30:00,0.0,3.0 -16000,2023-04-22 02:40:00,0.0,3.0 -16001,2023-04-22 02:50:00,0.0,3.0 -16002,2023-04-22 03:00:00,0.0,3.0 -16003,2023-04-22 03:10:00,0.0,3.0 -16004,2023-04-22 03:20:00,0.0,3.0 -16005,2023-04-22 03:30:00,0.0,3.0 -16006,2023-04-22 03:40:00,0.0,3.0 -16007,2023-04-22 03:50:00,0.0,3.0 -16026,2023-04-22 07:00:00,0.0,5.0 -16027,2023-04-22 07:10:00,0.0,5.0 -16028,2023-04-22 07:20:00,0.0,5.0 -16029,2023-04-22 07:30:00,0.0,5.0 -16030,2023-04-22 07:40:00,0.0,5.0 -16031,2023-04-22 07:50:00,0.0,5.0 -16038,2023-04-22 09:00:00,0.0,7.0 -16039,2023-04-22 09:10:00,0.0,7.0 -16040,2023-04-22 09:20:00,0.0,7.0 -16041,2023-04-22 09:30:00,0.0,7.0 -16042,2023-04-22 09:40:00,0.0,7.0 -16043,2023-04-22 09:50:00,0.0,7.0 -16068,2023-04-22 14:00:00,0.0,6.0 -16069,2023-04-22 14:10:00,0.0,6.0 -16070,2023-04-22 14:20:00,0.0,6.0 -16071,2023-04-22 14:30:00,0.0,6.0 -16072,2023-04-22 14:40:00,0.0,6.0 -16073,2023-04-22 14:50:00,0.0,6.0 -16086,2023-04-22 17:00:00,0.0,6.0 -16087,2023-04-22 17:10:00,0.0,6.0 -16088,2023-04-22 17:20:00,0.0,6.0 -16089,2023-04-22 17:30:00,0.0,6.0 -16090,2023-04-22 17:40:00,0.0,6.0 -16091,2023-04-22 17:50:00,0.0,6.0 -16098,2023-04-22 19:00:00,0.0,3.0 -16099,2023-04-22 19:10:00,0.0,3.0 -16100,2023-04-22 19:20:00,0.0,3.0 -16101,2023-04-22 19:30:00,0.0,3.0 -16102,2023-04-22 19:40:00,0.0,3.0 -16103,2023-04-22 19:50:00,0.0,3.0 -16104,2023-04-22 20:00:00,0.0,3.0 -16105,2023-04-22 20:10:00,0.0,3.0 -16106,2023-04-22 20:20:00,0.0,3.0 -16107,2023-04-22 20:30:00,0.0,3.0 -16108,2023-04-22 20:40:00,0.0,3.0 -16109,2023-04-22 20:50:00,0.0,3.0 -16116,2023-04-22 22:00:00,0.0,3.0 -16117,2023-04-22 22:10:00,0.0,3.0 -16118,2023-04-22 22:20:00,0.0,3.0 -16119,2023-04-22 22:30:00,0.0,3.0 -16120,2023-04-22 22:40:00,0.0,3.0 -16121,2023-04-22 22:50:00,0.0,3.0 -16122,2023-04-22 23:00:00,0.0,3.0 -16123,2023-04-22 23:10:00,0.0,3.0 -16124,2023-04-22 23:20:00,0.0,3.0 -16125,2023-04-22 23:30:00,0.0,3.0 -16126,2023-04-22 23:40:00,0.0,3.0 -16127,2023-04-22 23:50:00,0.0,3.0 -16128,2023-04-23 00:00:00,0.0,3.0 -16129,2023-04-23 00:10:00,0.0,3.0 -16130,2023-04-23 00:20:00,0.0,3.0 -16131,2023-04-23 00:30:00,0.0,3.0 -16132,2023-04-23 00:40:00,0.0,3.0 -16133,2023-04-23 00:50:00,0.0,3.0 -16134,2023-04-23 01:00:00,0.0,3.0 -16135,2023-04-23 01:10:00,0.0,3.0 -16136,2023-04-23 01:20:00,0.0,3.0 -16137,2023-04-23 01:30:00,0.0,3.0 -16138,2023-04-23 01:40:00,0.0,3.0 -16139,2023-04-23 01:50:00,0.0,3.0 -16140,2023-04-23 02:00:00,0.0,3.0 -16141,2023-04-23 02:10:00,0.0,3.0 -16142,2023-04-23 02:20:00,0.0,3.0 -16143,2023-04-23 02:30:00,0.0,3.0 -16144,2023-04-23 02:40:00,0.0,3.0 -16145,2023-04-23 02:50:00,0.0,3.0 -16152,2023-04-23 04:00:00,0.0,3.0 -16153,2023-04-23 04:10:00,0.0,3.0 -16154,2023-04-23 04:20:00,0.0,3.0 -16155,2023-04-23 04:30:00,0.0,3.0 -16156,2023-04-23 04:40:00,0.0,3.0 -16157,2023-04-23 04:50:00,0.0,3.0 -16170,2023-04-23 07:00:00,0.0,5.0 -16171,2023-04-23 07:10:00,0.0,5.0 -16172,2023-04-23 07:20:00,0.0,5.0 -16173,2023-04-23 07:30:00,0.0,5.0 -16174,2023-04-23 07:40:00,0.0,5.0 -16175,2023-04-23 07:50:00,0.0,5.0 -16176,2023-04-23 08:00:00,0.0,5.0 -16177,2023-04-23 08:10:00,0.0,5.0 -16178,2023-04-23 08:20:00,0.0,5.0 -16179,2023-04-23 08:30:00,0.0,5.0 -16180,2023-04-23 08:40:00,0.0,5.0 -16181,2023-04-23 08:50:00,0.0,5.0 -16182,2023-04-23 09:00:00,0.0,7.0 -16183,2023-04-23 09:10:00,0.0,7.0 -16184,2023-04-23 09:20:00,0.0,7.0 -16185,2023-04-23 09:30:00,0.0,7.0 -16186,2023-04-23 09:40:00,0.0,7.0 -16187,2023-04-23 09:50:00,0.0,7.0 -16194,2023-04-23 11:00:00,0.0,7.0 -16195,2023-04-23 11:10:00,0.0,7.0 -16196,2023-04-23 11:20:00,0.0,7.0 -16197,2023-04-23 11:30:00,0.0,7.0 -16198,2023-04-23 11:40:00,0.0,7.0 -16199,2023-04-23 11:50:00,0.0,7.0 -16206,2023-04-23 13:00:00,0.0,6.0 -16207,2023-04-23 13:10:00,0.0,6.0 -16208,2023-04-23 13:20:00,0.0,6.0 -16209,2023-04-23 13:30:00,0.0,6.0 -16210,2023-04-23 13:40:00,0.0,6.0 -16211,2023-04-23 13:50:00,0.0,6.0 -16224,2023-04-23 16:00:00,0.0,6.0 -16225,2023-04-23 16:10:00,0.0,6.0 -16226,2023-04-23 16:20:00,0.0,6.0 -16227,2023-04-23 16:30:00,0.0,6.0 -16228,2023-04-23 16:40:00,0.0,6.0 -16229,2023-04-23 16:50:00,0.0,6.0 -16230,2023-04-23 17:00:00,0.0,6.0 -16231,2023-04-23 17:10:00,0.0,6.0 -16232,2023-04-23 17:20:00,0.0,6.0 -16233,2023-04-23 17:30:00,0.0,6.0 -16234,2023-04-23 17:40:00,0.0,6.0 -16235,2023-04-23 17:50:00,0.0,6.0 -16254,2023-04-23 21:00:00,0.0,4.0 -16255,2023-04-23 21:10:00,0.0,4.0 -16256,2023-04-23 21:20:00,0.0,4.0 -16257,2023-04-23 21:30:00,0.0,4.0 -16258,2023-04-23 21:40:00,0.0,4.0 -16259,2023-04-23 21:50:00,0.0,4.0 -16260,2023-04-23 22:00:00,0.0,5.0 -16261,2023-04-23 22:10:00,0.0,5.0 -16262,2023-04-23 22:20:00,0.0,5.0 -16263,2023-04-23 22:30:00,0.0,5.0 -16264,2023-04-23 22:40:00,0.0,5.0 -16265,2023-04-23 22:50:00,0.0,5.0 -16266,2023-04-23 23:00:00,0.0,4.0 -16267,2023-04-23 23:10:00,0.0,4.0 -16268,2023-04-23 23:20:00,0.0,4.0 -16269,2023-04-23 23:30:00,0.0,4.0 -16270,2023-04-23 23:40:00,0.0,4.0 -16271,2023-04-23 23:50:00,0.0,4.0 -16272,2023-04-24 00:00:00,0.0,4.0 -16273,2023-04-24 00:10:00,0.0,4.0 -16274,2023-04-24 00:20:00,0.0,4.0 -16275,2023-04-24 00:30:00,0.0,4.0 -16276,2023-04-24 00:40:00,0.0,4.0 -16277,2023-04-24 00:50:00,0.0,4.0 -16278,2023-04-24 01:00:00,0.0,4.0 -16279,2023-04-24 01:10:00,0.0,4.0 -16280,2023-04-24 01:20:00,0.0,4.0 -16281,2023-04-24 01:30:00,0.0,4.0 -16282,2023-04-24 01:40:00,0.0,4.0 -16283,2023-04-24 01:50:00,0.0,4.0 -16284,2023-04-24 02:00:00,0.0,4.0 -16285,2023-04-24 02:10:00,0.0,4.0 -16286,2023-04-24 02:20:00,0.0,4.0 -16287,2023-04-24 02:30:00,0.0,4.0 -16288,2023-04-24 02:40:00,0.0,4.0 -16289,2023-04-24 02:50:00,0.0,4.0 -16296,2023-04-24 04:00:00,0.0,4.0 -16297,2023-04-24 04:10:00,0.0,4.0 -16298,2023-04-24 04:20:00,0.0,4.0 -16299,2023-04-24 04:30:00,0.0,4.0 -16300,2023-04-24 04:40:00,0.0,4.0 -16301,2023-04-24 04:50:00,0.0,4.0 -16320,2023-04-24 08:00:00,0.0,4.0 -16321,2023-04-24 08:10:00,0.0,4.0 -16322,2023-04-24 08:20:00,0.0,4.0 -16323,2023-04-24 08:30:00,0.0,4.0 -16324,2023-04-24 08:40:00,0.0,4.0 -16325,2023-04-24 08:50:00,0.0,4.0 -16332,2023-04-24 10:00:00,0.0,4.0 -16333,2023-04-24 10:10:00,0.0,4.0 -16334,2023-04-24 10:20:00,0.0,4.0 -16335,2023-04-24 10:30:00,0.0,4.0 -16336,2023-04-24 10:40:00,0.0,4.0 -16337,2023-04-24 10:50:00,0.0,4.0 -16344,2023-04-24 12:00:00,0.0,3.0 -16345,2023-04-24 12:10:00,0.0,3.0 -16346,2023-04-24 12:20:00,0.0,3.0 -16347,2023-04-24 12:30:00,0.0,3.0 -16348,2023-04-24 12:40:00,0.0,3.0 -16349,2023-04-24 12:50:00,0.0,3.0 -16350,2023-04-24 13:00:00,0.0,5.0 -16351,2023-04-24 13:10:00,0.0,5.0 -16352,2023-04-24 13:20:00,0.0,5.0 -16353,2023-04-24 13:30:00,0.0,5.0 -16354,2023-04-24 13:40:00,0.0,5.0 -16355,2023-04-24 13:50:00,0.0,5.0 -16356,2023-04-24 14:00:00,0.0,4.0 -16357,2023-04-24 14:10:00,0.0,4.0 -16358,2023-04-24 14:20:00,0.0,4.0 -16359,2023-04-24 14:30:00,0.0,4.0 -16360,2023-04-24 14:40:00,0.0,4.0 -16361,2023-04-24 14:50:00,0.0,4.0 -16362,2023-04-24 15:00:00,0.0,4.0 -16363,2023-04-24 15:10:00,0.0,4.0 -16364,2023-04-24 15:20:00,0.0,4.0 -16365,2023-04-24 15:30:00,0.0,4.0 -16366,2023-04-24 15:40:00,0.0,4.0 -16367,2023-04-24 15:50:00,0.0,4.0 -16392,2023-04-24 20:00:00,0.0,3.0 -16393,2023-04-24 20:10:00,0.0,3.0 -16394,2023-04-24 20:20:00,0.0,3.0 -16395,2023-04-24 20:30:00,0.0,3.0 -16396,2023-04-24 20:40:00,0.0,3.0 -16397,2023-04-24 20:50:00,0.0,3.0 -16416,2023-04-25 00:00:00,0.0,3.0 -16417,2023-04-25 00:10:00,0.0,3.0 -16418,2023-04-25 00:20:00,0.0,3.0 -16419,2023-04-25 00:30:00,0.0,3.0 -16420,2023-04-25 00:40:00,0.0,3.0 -16421,2023-04-25 00:50:00,0.0,3.0 -16428,2023-04-25 02:00:00,0.0,4.0 -16429,2023-04-25 02:10:00,0.0,4.0 -16430,2023-04-25 02:20:00,0.0,4.0 -16431,2023-04-25 02:30:00,0.0,4.0 -16432,2023-04-25 02:40:00,0.0,4.0 -16433,2023-04-25 02:50:00,0.0,4.0 -16434,2023-04-25 03:00:00,0.0,4.0 -16435,2023-04-25 03:10:00,0.0,4.0 -16436,2023-04-25 03:20:00,0.0,4.0 -16437,2023-04-25 03:30:00,0.0,4.0 -16438,2023-04-25 03:40:00,0.0,4.0 -16439,2023-04-25 03:50:00,0.0,4.0 -16440,2023-04-25 04:00:00,0.0,3.0 -16441,2023-04-25 04:10:00,0.0,3.0 -16442,2023-04-25 04:20:00,0.0,3.0 -16443,2023-04-25 04:30:00,0.0,3.0 -16444,2023-04-25 04:40:00,0.0,3.0 -16445,2023-04-25 04:50:00,0.0,3.0 -16452,2023-04-25 06:00:00,0.0,3.0 -16453,2023-04-25 06:10:00,0.0,3.0 -16454,2023-04-25 06:20:00,0.0,3.0 -16455,2023-04-25 06:30:00,0.0,3.0 -16456,2023-04-25 06:40:00,0.0,3.0 -16457,2023-04-25 06:50:00,0.0,3.0 -16458,2023-04-25 07:00:00,0.0,3.0 -16459,2023-04-25 07:10:00,0.0,3.0 -16460,2023-04-25 07:20:00,0.0,3.0 -16461,2023-04-25 07:30:00,0.0,3.0 -16462,2023-04-25 07:40:00,0.0,3.0 -16463,2023-04-25 07:50:00,0.0,3.0 -16476,2023-04-25 10:00:00,0.0,4.0 -16477,2023-04-25 10:10:00,0.0,4.0 -16478,2023-04-25 10:20:00,0.0,4.0 -16479,2023-04-25 10:30:00,0.0,4.0 -16480,2023-04-25 10:40:00,0.0,4.0 -16481,2023-04-25 10:50:00,0.0,4.0 -16494,2023-04-25 13:00:00,0.0,5.0 -16495,2023-04-25 13:10:00,0.0,5.0 -16496,2023-04-25 13:20:00,0.0,5.0 -16497,2023-04-25 13:30:00,0.0,5.0 -16498,2023-04-25 13:40:00,0.0,5.0 -16499,2023-04-25 13:50:00,0.0,5.0 -16506,2023-04-25 15:00:00,0.0,3.0 -16507,2023-04-25 15:10:00,0.0,3.0 -16508,2023-04-25 15:20:00,0.0,3.0 -16509,2023-04-25 15:30:00,0.0,3.0 -16510,2023-04-25 15:40:00,0.0,3.0 -16511,2023-04-25 15:50:00,0.0,3.0 -16512,2023-04-25 16:00:00,0.0,3.0 -16513,2023-04-25 16:10:00,0.0,3.0 -16514,2023-04-25 16:20:00,0.0,3.0 -16515,2023-04-25 16:30:00,0.0,3.0 -16516,2023-04-25 16:40:00,0.0,3.0 -16517,2023-04-25 16:50:00,0.0,3.0 -16518,2023-04-25 17:00:00,0.0,3.0 -16519,2023-04-25 17:10:00,0.0,3.0 -16520,2023-04-25 17:20:00,0.0,3.0 -16521,2023-04-25 17:30:00,0.0,3.0 -16522,2023-04-25 17:40:00,0.0,3.0 -16523,2023-04-25 17:50:00,0.0,3.0 -16524,2023-04-25 18:00:00,0.0,3.0 -16525,2023-04-25 18:10:00,0.0,3.0 -16526,2023-04-25 18:20:00,0.0,3.0 -16527,2023-04-25 18:30:00,0.0,3.0 -16528,2023-04-25 18:40:00,0.0,3.0 -16529,2023-04-25 18:50:00,0.0,3.0 -16548,2023-04-25 22:00:00,0.0,3.0 -16549,2023-04-25 22:10:00,0.0,3.0 -16550,2023-04-25 22:20:00,0.0,3.0 -16551,2023-04-25 22:30:00,0.0,3.0 -16552,2023-04-25 22:40:00,0.0,3.0 -16553,2023-04-25 22:50:00,0.0,3.0 -16554,2023-04-25 23:00:00,0.0,3.0 -16555,2023-04-25 23:10:00,0.0,3.0 -16556,2023-04-25 23:20:00,0.0,3.0 -16557,2023-04-25 23:30:00,0.0,3.0 -16558,2023-04-25 23:40:00,0.0,3.0 -16559,2023-04-25 23:50:00,0.0,3.0 -16614,2023-04-26 09:00:00,0.0,3.0 -16615,2023-04-26 09:10:00,0.0,3.0 -16616,2023-04-26 09:20:00,0.0,3.0 -16617,2023-04-26 09:30:00,0.0,3.0 -16618,2023-04-26 09:40:00,0.0,3.0 -16619,2023-04-26 09:50:00,0.0,3.0 -16644,2023-04-26 14:00:00,0.0,3.0 -16645,2023-04-26 14:10:00,0.0,3.0 -16646,2023-04-26 14:20:00,0.0,3.0 -16647,2023-04-26 14:30:00,0.0,3.0 -16648,2023-04-26 14:40:00,0.0,3.0 -16649,2023-04-26 14:50:00,0.0,3.0 -16656,2023-04-26 16:00:00,0.0,3.0 -16657,2023-04-26 16:10:00,0.0,3.0 -16658,2023-04-26 16:20:00,0.0,3.0 -16659,2023-04-26 16:30:00,0.0,3.0 -16660,2023-04-26 16:40:00,0.0,3.0 -16661,2023-04-26 16:50:00,0.0,3.0 -16674,2023-04-26 19:00:00,0.0,3.0 -16675,2023-04-26 19:10:00,0.0,3.0 -16676,2023-04-26 19:20:00,0.0,3.0 -16677,2023-04-26 19:30:00,0.0,3.0 -16678,2023-04-26 19:40:00,0.0,3.0 -16679,2023-04-26 19:50:00,0.0,3.0 -16710,2023-04-27 01:00:00,0.0,3.0 -16711,2023-04-27 01:10:00,0.0,3.0 -16712,2023-04-27 01:20:00,0.0,3.0 -16713,2023-04-27 01:30:00,0.0,3.0 -16714,2023-04-27 01:40:00,0.0,3.0 -16715,2023-04-27 01:50:00,0.0,3.0 -16716,2023-04-27 02:00:00,0.0,3.0 -16717,2023-04-27 02:10:00,0.0,3.0 -16718,2023-04-27 02:20:00,0.0,3.0 -16719,2023-04-27 02:30:00,0.0,3.0 -16720,2023-04-27 02:40:00,0.0,3.0 -16721,2023-04-27 02:50:00,0.0,3.0 -16722,2023-04-27 03:00:00,0.0,1.0 -16723,2023-04-27 03:10:00,0.0,1.0 -16724,2023-04-27 03:20:00,0.0,1.0 -16725,2023-04-27 03:30:00,0.0,1.0 -16726,2023-04-27 03:40:00,0.0,1.0 -16727,2023-04-27 03:50:00,0.0,1.0 -16734,2023-04-27 05:00:00,0.0,3.0 -16735,2023-04-27 05:10:00,0.0,3.0 -16736,2023-04-27 05:20:00,0.0,3.0 -16737,2023-04-27 05:30:00,0.0,3.0 -16738,2023-04-27 05:40:00,0.0,3.0 -16739,2023-04-27 05:50:00,0.0,3.0 -16740,2023-04-27 06:00:00,0.0,3.0 -16741,2023-04-27 06:10:00,0.0,3.0 -16742,2023-04-27 06:20:00,0.0,3.0 -16743,2023-04-27 06:30:00,0.0,3.0 -16744,2023-04-27 06:40:00,0.0,3.0 -16745,2023-04-27 06:50:00,0.0,3.0 -16746,2023-04-27 07:00:00,0.0,3.0 -16747,2023-04-27 07:10:00,0.0,3.0 -16748,2023-04-27 07:20:00,0.0,3.0 -16749,2023-04-27 07:30:00,0.0,3.0 -16750,2023-04-27 07:40:00,0.0,3.0 -16751,2023-04-27 07:50:00,0.0,3.0 -16770,2023-04-27 11:00:00,0.0,5.0 -16771,2023-04-27 11:10:00,0.0,5.0 -16772,2023-04-27 11:20:00,0.0,5.0 -16773,2023-04-27 11:30:00,0.0,5.0 -16774,2023-04-27 11:40:00,0.0,5.0 -16775,2023-04-27 11:50:00,0.0,5.0 -16776,2023-04-27 12:00:00,0.0,5.0 -16777,2023-04-27 12:10:00,0.0,5.0 -16778,2023-04-27 12:20:00,0.0,5.0 -16779,2023-04-27 12:30:00,0.0,5.0 -16780,2023-04-27 12:40:00,0.0,5.0 -16781,2023-04-27 12:50:00,0.0,5.0 -16782,2023-04-27 13:00:00,0.0,5.0 -16783,2023-04-27 13:10:00,0.0,5.0 -16784,2023-04-27 13:20:00,0.0,5.0 -16785,2023-04-27 13:30:00,0.0,5.0 -16786,2023-04-27 13:40:00,0.0,5.0 -16787,2023-04-27 13:50:00,0.0,5.0 -16806,2023-04-27 17:00:00,0.0,3.0 -16807,2023-04-27 17:10:00,0.0,3.0 -16808,2023-04-27 17:20:00,0.0,3.0 -16809,2023-04-27 17:30:00,0.0,3.0 -16810,2023-04-27 17:40:00,0.0,3.0 -16811,2023-04-27 17:50:00,0.0,3.0 -16812,2023-04-27 18:00:00,0.0,3.0 -16813,2023-04-27 18:10:00,0.0,3.0 -16814,2023-04-27 18:20:00,0.0,3.0 -16815,2023-04-27 18:30:00,0.0,3.0 -16816,2023-04-27 18:40:00,0.0,3.0 -16817,2023-04-27 18:50:00,0.0,3.0 -16818,2023-04-27 19:00:00,0.0,5.0 -16819,2023-04-27 19:10:00,0.0,5.0 -16820,2023-04-27 19:20:00,0.0,5.0 -16821,2023-04-27 19:30:00,0.0,5.0 -16822,2023-04-27 19:40:00,0.0,5.0 -16823,2023-04-27 19:50:00,0.0,5.0 -16836,2023-04-27 22:00:00,0.0,4.0 -16837,2023-04-27 22:10:00,0.0,4.0 -16838,2023-04-27 22:20:00,0.0,4.0 -16839,2023-04-27 22:30:00,0.0,4.0 -16840,2023-04-27 22:40:00,0.0,4.0 -16841,2023-04-27 22:50:00,0.0,4.0 -16842,2023-04-27 23:00:00,0.0,4.0 -16843,2023-04-27 23:10:00,0.0,4.0 -16844,2023-04-27 23:20:00,0.0,4.0 -16845,2023-04-27 23:30:00,0.0,4.0 -16846,2023-04-27 23:40:00,0.0,4.0 -16847,2023-04-27 23:50:00,0.0,4.0 -16848,2023-04-28 00:00:00,0.0,4.0 -16849,2023-04-28 00:10:00,0.0,4.0 -16850,2023-04-28 00:20:00,0.0,4.0 -16851,2023-04-28 00:30:00,0.0,4.0 -16852,2023-04-28 00:40:00,0.0,4.0 -16853,2023-04-28 00:50:00,0.0,4.0 -16854,2023-04-28 01:00:00,0.0,3.0 -16855,2023-04-28 01:10:00,0.0,3.0 -16856,2023-04-28 01:20:00,0.0,3.0 -16857,2023-04-28 01:30:00,0.0,3.0 -16858,2023-04-28 01:40:00,0.0,3.0 -16859,2023-04-28 01:50:00,0.0,3.0 -16866,2023-04-28 03:00:00,0.0,3.0 -16867,2023-04-28 03:10:00,0.0,3.0 -16868,2023-04-28 03:20:00,0.0,3.0 -16869,2023-04-28 03:30:00,0.0,3.0 -16870,2023-04-28 03:40:00,0.0,3.0 -16871,2023-04-28 03:50:00,0.0,3.0 -16884,2023-04-28 06:00:00,0.0,4.0 -16885,2023-04-28 06:10:00,0.0,4.0 -16886,2023-04-28 06:20:00,0.0,4.0 -16887,2023-04-28 06:30:00,0.0,4.0 -16888,2023-04-28 06:40:00,0.0,4.0 -16889,2023-04-28 06:50:00,0.0,4.0 -16914,2023-04-28 11:00:00,0.0,6.0 -16915,2023-04-28 11:10:00,0.0,6.0 -16916,2023-04-28 11:20:00,0.0,6.0 -16917,2023-04-28 11:30:00,0.0,6.0 -16918,2023-04-28 11:40:00,0.0,6.0 -16919,2023-04-28 11:50:00,0.0,6.0 -16932,2023-04-28 14:00:00,0.0,7.0 -16933,2023-04-28 14:10:00,0.0,7.0 -16934,2023-04-28 14:20:00,0.0,7.0 -16935,2023-04-28 14:30:00,0.0,7.0 -16936,2023-04-28 14:40:00,0.0,7.0 -16937,2023-04-28 14:50:00,0.0,7.0 -16938,2023-04-28 15:00:00,0.0,6.0 -16939,2023-04-28 15:10:00,0.0,6.0 -16940,2023-04-28 15:20:00,0.0,6.0 -16941,2023-04-28 15:30:00,0.0,6.0 -16942,2023-04-28 15:40:00,0.0,6.0 -16943,2023-04-28 15:50:00,0.0,6.0 -16944,2023-04-28 16:00:00,0.0,6.0 -16945,2023-04-28 16:10:00,0.0,6.0 -16946,2023-04-28 16:20:00,0.0,6.0 -16947,2023-04-28 16:30:00,0.0,6.0 -16948,2023-04-28 16:40:00,0.0,6.0 -16949,2023-04-28 16:50:00,0.0,6.0 -16974,2023-04-28 21:00:00,0.0,3.0 -16975,2023-04-28 21:10:00,0.0,3.0 -16976,2023-04-28 21:20:00,0.0,3.0 -16977,2023-04-28 21:30:00,0.0,3.0 -16978,2023-04-28 21:40:00,0.0,3.0 -16979,2023-04-28 21:50:00,0.0,3.0 -16980,2023-04-28 22:00:00,0.0,3.0 -16981,2023-04-28 22:10:00,0.0,3.0 -16982,2023-04-28 22:20:00,0.0,3.0 -16983,2023-04-28 22:30:00,0.0,3.0 -16984,2023-04-28 22:40:00,0.0,3.0 -16985,2023-04-28 22:50:00,0.0,3.0 -16986,2023-04-28 23:00:00,0.0,3.0 -16987,2023-04-28 23:10:00,0.0,3.0 -16988,2023-04-28 23:20:00,0.0,3.0 -16989,2023-04-28 23:30:00,0.0,3.0 -16990,2023-04-28 23:40:00,0.0,3.0 -16991,2023-04-28 23:50:00,0.0,3.0 -16998,2023-04-29 01:00:00,0.0,3.0 -16999,2023-04-29 01:10:00,0.0,3.0 -17000,2023-04-29 01:20:00,0.0,3.0 -17001,2023-04-29 01:30:00,0.0,3.0 -17002,2023-04-29 01:40:00,0.0,3.0 -17003,2023-04-29 01:50:00,0.0,3.0 -17010,2023-04-29 03:00:00,0.0,4.0 -17011,2023-04-29 03:10:00,0.0,4.0 -17012,2023-04-29 03:20:00,0.0,4.0 -17013,2023-04-29 03:30:00,0.0,4.0 -17014,2023-04-29 03:40:00,0.0,4.0 -17015,2023-04-29 03:50:00,0.0,4.0 -17016,2023-04-29 04:00:00,0.0,4.0 -17017,2023-04-29 04:10:00,0.0,4.0 -17018,2023-04-29 04:20:00,0.0,4.0 -17019,2023-04-29 04:30:00,0.0,4.0 -17020,2023-04-29 04:40:00,0.0,4.0 -17021,2023-04-29 04:50:00,0.0,4.0 -17022,2023-04-29 05:00:00,0.0,3.0 -17023,2023-04-29 05:10:00,0.0,3.0 -17024,2023-04-29 05:20:00,0.0,3.0 -17025,2023-04-29 05:30:00,0.0,3.0 -17026,2023-04-29 05:40:00,0.0,3.0 -17027,2023-04-29 05:50:00,0.0,3.0 -17058,2023-04-29 11:00:00,0.0,5.0 -17059,2023-04-29 11:10:00,0.0,5.0 -17060,2023-04-29 11:20:00,0.0,5.0 -17061,2023-04-29 11:30:00,0.0,5.0 -17062,2023-04-29 11:40:00,0.0,5.0 -17063,2023-04-29 11:50:00,0.0,5.0 -17070,2023-04-29 13:00:00,0.0,7.0 -17071,2023-04-29 13:10:00,0.0,7.0 -17072,2023-04-29 13:20:00,0.0,7.0 -17073,2023-04-29 13:30:00,0.0,7.0 -17074,2023-04-29 13:40:00,0.0,7.0 -17075,2023-04-29 13:50:00,0.0,7.0 -17082,2023-04-29 15:00:00,0.0,7.0 -17083,2023-04-29 15:10:00,0.0,7.0 -17084,2023-04-29 15:20:00,0.0,7.0 -17085,2023-04-29 15:30:00,0.0,7.0 -17086,2023-04-29 15:40:00,0.0,7.0 -17087,2023-04-29 15:50:00,0.0,7.0 -17094,2023-04-29 17:00:00,0.0,5.0 -17095,2023-04-29 17:10:00,0.0,5.0 -17096,2023-04-29 17:20:00,0.0,5.0 -17097,2023-04-29 17:30:00,0.0,5.0 -17098,2023-04-29 17:40:00,0.0,5.0 -17099,2023-04-29 17:50:00,0.0,5.0 -17106,2023-04-29 19:00:00,0.0,3.0 -17107,2023-04-29 19:10:00,0.0,3.0 -17108,2023-04-29 19:20:00,0.0,3.0 -17109,2023-04-29 19:30:00,0.0,3.0 -17110,2023-04-29 19:40:00,0.0,3.0 -17111,2023-04-29 19:50:00,0.0,3.0 -17112,2023-04-29 20:00:00,0.0,3.0 -17113,2023-04-29 20:10:00,0.0,3.0 -17114,2023-04-29 20:20:00,0.0,3.0 -17115,2023-04-29 20:30:00,0.0,3.0 -17116,2023-04-29 20:40:00,0.0,3.0 -17117,2023-04-29 20:50:00,0.0,3.0 -17118,2023-04-29 21:00:00,0.0,3.0 -17119,2023-04-29 21:10:00,0.0,3.0 -17120,2023-04-29 21:20:00,0.0,3.0 -17121,2023-04-29 21:30:00,0.0,3.0 -17122,2023-04-29 21:40:00,0.0,3.0 -17123,2023-04-29 21:50:00,0.0,3.0 -17130,2023-04-29 23:00:00,0.0,3.0 -17131,2023-04-29 23:10:00,0.0,3.0 -17132,2023-04-29 23:20:00,0.0,3.0 -17133,2023-04-29 23:30:00,0.0,3.0 -17134,2023-04-29 23:40:00,0.0,3.0 -17135,2023-04-29 23:50:00,0.0,3.0 -17136,2023-04-30 00:00:00,0.0,3.0 -17137,2023-04-30 00:10:00,0.0,3.0 -17138,2023-04-30 00:20:00,0.0,3.0 -17139,2023-04-30 00:30:00,0.0,3.0 -17140,2023-04-30 00:40:00,0.0,3.0 -17141,2023-04-30 00:50:00,0.0,3.0 -17142,2023-04-30 01:00:00,0.0,3.0 -17143,2023-04-30 01:10:00,0.0,3.0 -17144,2023-04-30 01:20:00,0.0,3.0 -17145,2023-04-30 01:30:00,0.0,3.0 -17146,2023-04-30 01:40:00,0.0,3.0 -17147,2023-04-30 01:50:00,0.0,3.0 -17148,2023-04-30 02:00:00,0.0,3.0 -17149,2023-04-30 02:10:00,0.0,3.0 -17150,2023-04-30 02:20:00,0.0,3.0 -17151,2023-04-30 02:30:00,0.0,3.0 -17152,2023-04-30 02:40:00,0.0,3.0 -17153,2023-04-30 02:50:00,0.0,3.0 -17154,2023-04-30 03:00:00,0.0,3.0 -17155,2023-04-30 03:10:00,0.0,3.0 -17156,2023-04-30 03:20:00,0.0,3.0 -17157,2023-04-30 03:30:00,0.0,3.0 -17158,2023-04-30 03:40:00,0.0,3.0 -17159,2023-04-30 03:50:00,0.0,3.0 -17166,2023-04-30 05:00:00,0.0,3.0 -17167,2023-04-30 05:10:00,0.0,3.0 -17168,2023-04-30 05:20:00,0.0,3.0 -17169,2023-04-30 05:30:00,0.0,3.0 -17170,2023-04-30 05:40:00,0.0,3.0 -17171,2023-04-30 05:50:00,0.0,3.0 -17172,2023-04-30 06:00:00,0.0,5.0 -17173,2023-04-30 06:10:00,0.0,5.0 -17174,2023-04-30 06:20:00,0.0,5.0 -17175,2023-04-30 06:30:00,0.0,5.0 -17176,2023-04-30 06:40:00,0.0,5.0 -17177,2023-04-30 06:50:00,0.0,5.0 -17184,2023-04-30 08:00:00,0.0,5.0 -17185,2023-04-30 08:10:00,0.0,5.0 -17186,2023-04-30 08:20:00,0.0,5.0 -17187,2023-04-30 08:30:00,0.0,5.0 -17188,2023-04-30 08:40:00,0.0,5.0 -17189,2023-04-30 08:50:00,0.0,5.0 -17190,2023-04-30 09:00:00,0.0,5.0 -17191,2023-04-30 09:10:00,0.0,5.0 -17192,2023-04-30 09:20:00,0.0,5.0 -17193,2023-04-30 09:30:00,0.0,5.0 -17194,2023-04-30 09:40:00,0.0,5.0 -17195,2023-04-30 09:50:00,0.0,5.0 -17202,2023-04-30 11:00:00,0.0,7.0 -17203,2023-04-30 11:10:00,0.0,7.0 -17204,2023-04-30 11:20:00,0.0,7.0 -17205,2023-04-30 11:30:00,0.0,7.0 -17206,2023-04-30 11:40:00,0.0,7.0 -17207,2023-04-30 11:50:00,0.0,7.0 -17208,2023-04-30 12:00:00,0.0,7.0 -17209,2023-04-30 12:10:00,0.0,7.0 -17210,2023-04-30 12:20:00,0.0,7.0 -17211,2023-04-30 12:30:00,0.0,7.0 -17212,2023-04-30 12:40:00,0.0,7.0 -17213,2023-04-30 12:50:00,0.0,7.0 -17220,2023-04-30 14:00:00,0.0,7.0 -17221,2023-04-30 14:10:00,0.0,7.0 -17222,2023-04-30 14:20:00,0.0,7.0 -17223,2023-04-30 14:30:00,0.0,7.0 -17224,2023-04-30 14:40:00,0.0,7.0 -17225,2023-04-30 14:50:00,0.0,7.0 -17226,2023-04-30 15:00:00,0.0,7.0 -17227,2023-04-30 15:10:00,0.0,7.0 -17228,2023-04-30 15:20:00,0.0,7.0 -17229,2023-04-30 15:30:00,0.0,7.0 -17230,2023-04-30 15:40:00,0.0,7.0 -17231,2023-04-30 15:50:00,0.0,7.0 -17232,2023-04-30 16:00:00,0.0,7.0 -17233,2023-04-30 16:10:00,0.0,7.0 -17234,2023-04-30 16:20:00,0.0,7.0 -17235,2023-04-30 16:30:00,0.0,7.0 -17236,2023-04-30 16:40:00,0.0,7.0 -17237,2023-04-30 16:50:00,0.0,7.0 -17250,2023-04-30 19:00:00,0.0,3.0 -17251,2023-04-30 19:10:00,0.0,3.0 -17252,2023-04-30 19:20:00,0.0,3.0 -17253,2023-04-30 19:30:00,0.0,3.0 -17254,2023-04-30 19:40:00,0.0,3.0 -17255,2023-04-30 19:50:00,0.0,3.0 -17256,2023-04-30 20:00:00,0.0,5.0 -17257,2023-04-30 20:10:00,0.0,5.0 -17258,2023-04-30 20:20:00,0.0,5.0 -17259,2023-04-30 20:30:00,0.0,5.0 -17260,2023-04-30 20:40:00,0.0,5.0 -17261,2023-04-30 20:50:00,0.0,5.0 -17262,2023-04-30 21:00:00,0.0,5.0 -17263,2023-04-30 21:10:00,0.0,5.0 -17264,2023-04-30 21:20:00,0.0,5.0 -17265,2023-04-30 21:30:00,0.0,5.0 -17266,2023-04-30 21:40:00,0.0,5.0 -17267,2023-04-30 21:50:00,0.0,5.0 -17274,2023-04-30 23:00:00,0.0,3.0 -17275,2023-04-30 23:10:00,0.0,3.0 -17276,2023-04-30 23:20:00,0.0,3.0 -17277,2023-04-30 23:30:00,0.0,3.0 -17278,2023-04-30 23:40:00,0.0,3.0 -17279,2023-04-30 23:50:00,0.0,3.0 -17280,2023-05-01 00:00:00,0.0,3.0 -17281,2023-05-01 00:10:00,0.0,3.0 -17282,2023-05-01 00:20:00,0.0,3.0 -17283,2023-05-01 00:30:00,0.0,3.0 -17284,2023-05-01 00:40:00,0.0,3.0 -17285,2023-05-01 00:50:00,0.0,3.0 -17292,2023-05-01 02:00:00,0.0,3.0 -17293,2023-05-01 02:10:00,0.0,3.0 -17294,2023-05-01 02:20:00,0.0,3.0 -17295,2023-05-01 02:30:00,0.0,3.0 -17296,2023-05-01 02:40:00,0.0,3.0 -17297,2023-05-01 02:50:00,0.0,3.0 -17310,2023-05-01 05:00:00,0.0,3.0 -17311,2023-05-01 05:10:00,0.0,3.0 -17312,2023-05-01 05:20:00,0.0,3.0 -17313,2023-05-01 05:30:00,0.0,3.0 -17314,2023-05-01 05:40:00,0.0,3.0 -17315,2023-05-01 05:50:00,0.0,3.0 -17352,2023-05-01 12:00:00,0.0,6.0 -17353,2023-05-01 12:10:00,0.0,6.0 -17354,2023-05-01 12:20:00,0.0,6.0 -17355,2023-05-01 12:30:00,0.0,6.0 -17356,2023-05-01 12:40:00,0.0,6.0 -17357,2023-05-01 12:50:00,0.0,6.0 -17358,2023-05-01 13:00:00,0.0,7.0 -17359,2023-05-01 13:10:00,0.0,7.0 -17360,2023-05-01 13:20:00,0.0,7.0 -17361,2023-05-01 13:30:00,0.0,7.0 -17362,2023-05-01 13:40:00,0.0,7.0 -17363,2023-05-01 13:50:00,0.0,7.0 -17382,2023-05-01 17:00:00,0.0,7.0 -17383,2023-05-01 17:10:00,0.0,7.0 -17384,2023-05-01 17:20:00,0.0,7.0 -17385,2023-05-01 17:30:00,0.0,7.0 -17386,2023-05-01 17:40:00,0.0,7.0 -17387,2023-05-01 17:50:00,0.0,7.0 -17388,2023-05-01 18:00:00,0.0,5.0 -17389,2023-05-01 18:10:00,0.0,5.0 -17390,2023-05-01 18:20:00,0.0,5.0 -17391,2023-05-01 18:30:00,0.0,5.0 -17392,2023-05-01 18:40:00,0.0,5.0 -17393,2023-05-01 18:50:00,0.0,5.0 -17394,2023-05-01 19:00:00,0.0,5.0 -17395,2023-05-01 19:10:00,0.0,5.0 -17396,2023-05-01 19:20:00,0.0,5.0 -17397,2023-05-01 19:30:00,0.0,5.0 -17398,2023-05-01 19:40:00,0.0,5.0 -17399,2023-05-01 19:50:00,0.0,5.0 -17406,2023-05-01 21:00:00,0.0,5.0 -17407,2023-05-01 21:10:00,0.0,5.0 -17408,2023-05-01 21:20:00,0.0,5.0 -17409,2023-05-01 21:30:00,0.0,5.0 -17410,2023-05-01 21:40:00,0.0,5.0 -17411,2023-05-01 21:50:00,0.0,5.0 -17418,2023-05-01 23:00:00,0.0,5.0 -17419,2023-05-01 23:10:00,0.0,5.0 -17420,2023-05-01 23:20:00,0.0,5.0 -17421,2023-05-01 23:30:00,0.0,5.0 -17422,2023-05-01 23:40:00,0.0,5.0 -17423,2023-05-01 23:50:00,0.0,5.0 -17430,2023-05-02 01:00:00,0.0,3.0 -17431,2023-05-02 01:10:00,0.0,3.0 -17432,2023-05-02 01:20:00,0.0,3.0 -17433,2023-05-02 01:30:00,0.0,3.0 -17434,2023-05-02 01:40:00,0.0,3.0 -17435,2023-05-02 01:50:00,0.0,3.0 -17436,2023-05-02 02:00:00,0.0,4.0 -17437,2023-05-02 02:10:00,0.0,4.0 -17438,2023-05-02 02:20:00,0.0,4.0 -17439,2023-05-02 02:30:00,0.0,4.0 -17440,2023-05-02 02:40:00,0.0,4.0 -17441,2023-05-02 02:50:00,0.0,4.0 -17442,2023-05-02 03:00:00,0.0,3.0 -17443,2023-05-02 03:10:00,0.0,3.0 -17444,2023-05-02 03:20:00,0.0,3.0 -17445,2023-05-02 03:30:00,0.0,3.0 -17446,2023-05-02 03:40:00,0.0,3.0 -17447,2023-05-02 03:50:00,0.0,3.0 -17448,2023-05-02 04:00:00,0.0,3.0 -17449,2023-05-02 04:10:00,0.0,3.0 -17450,2023-05-02 04:20:00,0.0,3.0 -17451,2023-05-02 04:30:00,0.0,3.0 -17452,2023-05-02 04:40:00,0.0,3.0 -17453,2023-05-02 04:50:00,0.0,3.0 -17454,2023-05-02 05:00:00,0.0,3.0 -17455,2023-05-02 05:10:00,0.0,3.0 -17456,2023-05-02 05:20:00,0.0,3.0 -17457,2023-05-02 05:30:00,0.0,3.0 -17458,2023-05-02 05:40:00,0.0,3.0 -17459,2023-05-02 05:50:00,0.0,3.0 -17466,2023-05-02 07:00:00,0.0,5.0 -17467,2023-05-02 07:10:00,0.0,5.0 -17468,2023-05-02 07:20:00,0.0,5.0 -17469,2023-05-02 07:30:00,0.0,5.0 -17470,2023-05-02 07:40:00,0.0,5.0 -17471,2023-05-02 07:50:00,0.0,5.0 -17514,2023-05-02 15:00:00,0.0,3.0 -17515,2023-05-02 15:10:00,0.0,3.0 -17516,2023-05-02 15:20:00,0.0,3.0 -17517,2023-05-02 15:30:00,0.0,3.0 -17518,2023-05-02 15:40:00,0.0,3.0 -17519,2023-05-02 15:50:00,0.0,3.0 -17520,2023-05-02 16:00:00,0.0,5.0 -17521,2023-05-02 16:10:00,0.0,5.0 -17522,2023-05-02 16:20:00,0.0,5.0 -17523,2023-05-02 16:30:00,0.0,5.0 -17524,2023-05-02 16:40:00,0.0,5.0 -17525,2023-05-02 16:50:00,0.0,5.0 -17532,2023-05-02 18:00:00,0.0,3.0 -17533,2023-05-02 18:10:00,0.0,3.0 -17534,2023-05-02 18:20:00,0.0,3.0 -17535,2023-05-02 18:30:00,0.0,3.0 -17536,2023-05-02 18:40:00,0.0,3.0 -17537,2023-05-02 18:50:00,0.0,3.0 -17544,2023-05-02 20:00:00,0.0,3.0 -17545,2023-05-02 20:10:00,0.0,3.0 -17546,2023-05-02 20:20:00,0.0,3.0 -17547,2023-05-02 20:30:00,0.0,3.0 -17548,2023-05-02 20:40:00,0.0,3.0 -17549,2023-05-02 20:50:00,0.0,3.0 -17550,2023-05-02 21:00:00,0.0,3.0 -17551,2023-05-02 21:10:00,0.0,3.0 -17552,2023-05-02 21:20:00,0.0,3.0 -17553,2023-05-02 21:30:00,0.0,3.0 -17554,2023-05-02 21:40:00,0.0,3.0 -17555,2023-05-02 21:50:00,0.0,3.0 -17556,2023-05-02 22:00:00,0.0,3.0 -17557,2023-05-02 22:10:00,0.0,3.0 -17558,2023-05-02 22:20:00,0.0,3.0 -17559,2023-05-02 22:30:00,0.0,3.0 -17560,2023-05-02 22:40:00,0.0,3.0 -17561,2023-05-02 22:50:00,0.0,3.0 -17562,2023-05-02 23:00:00,0.0,3.0 -17563,2023-05-02 23:10:00,0.0,3.0 -17564,2023-05-02 23:20:00,0.0,3.0 -17565,2023-05-02 23:30:00,0.0,3.0 -17566,2023-05-02 23:40:00,0.0,3.0 -17567,2023-05-02 23:50:00,0.0,3.0 -17580,2023-05-03 02:00:00,0.0,3.0 -17581,2023-05-03 02:10:00,0.0,3.0 -17582,2023-05-03 02:20:00,0.0,3.0 -17583,2023-05-03 02:30:00,0.0,3.0 -17584,2023-05-03 02:40:00,0.0,3.0 -17585,2023-05-03 02:50:00,0.0,3.0 -17586,2023-05-03 03:00:00,0.0,3.0 -17587,2023-05-03 03:10:00,0.0,3.0 -17588,2023-05-03 03:20:00,0.0,3.0 -17589,2023-05-03 03:30:00,0.0,3.0 -17590,2023-05-03 03:40:00,0.0,3.0 -17591,2023-05-03 03:50:00,0.0,3.0 -17592,2023-05-03 04:00:00,0.0,3.0 -17593,2023-05-03 04:10:00,0.0,3.0 -17594,2023-05-03 04:20:00,0.0,3.0 -17595,2023-05-03 04:30:00,0.0,3.0 -17596,2023-05-03 04:40:00,0.0,3.0 -17597,2023-05-03 04:50:00,0.0,3.0 -17598,2023-05-03 05:00:00,0.0,3.0 -17599,2023-05-03 05:10:00,0.0,3.0 -17600,2023-05-03 05:20:00,0.0,3.0 -17601,2023-05-03 05:30:00,0.0,3.0 -17602,2023-05-03 05:40:00,0.0,3.0 -17603,2023-05-03 05:50:00,0.0,3.0 -17610,2023-05-03 07:00:00,0.0,3.0 -17611,2023-05-03 07:10:00,0.0,3.0 -17612,2023-05-03 07:20:00,0.0,3.0 -17613,2023-05-03 07:30:00,0.0,3.0 -17614,2023-05-03 07:40:00,0.0,3.0 -17615,2023-05-03 07:50:00,0.0,3.0 -17634,2023-05-03 11:00:00,0.0,5.0 -17635,2023-05-03 11:10:00,0.0,5.0 -17636,2023-05-03 11:20:00,0.0,5.0 -17637,2023-05-03 11:30:00,0.0,5.0 -17638,2023-05-03 11:40:00,0.0,5.0 -17639,2023-05-03 11:50:00,0.0,5.0 -17640,2023-05-03 12:00:00,0.0,5.0 -17641,2023-05-03 12:10:00,0.0,5.0 -17642,2023-05-03 12:20:00,0.0,5.0 -17643,2023-05-03 12:30:00,0.0,5.0 -17644,2023-05-03 12:40:00,0.0,5.0 -17645,2023-05-03 12:50:00,0.0,5.0 -17652,2023-05-03 14:00:00,0.0,3.0 -17653,2023-05-03 14:10:00,0.0,3.0 -17654,2023-05-03 14:20:00,0.0,3.0 -17655,2023-05-03 14:30:00,0.0,3.0 -17656,2023-05-03 14:40:00,0.0,3.0 -17657,2023-05-03 14:50:00,0.0,3.0 -17682,2023-05-03 19:00:00,0.0,3.0 -17683,2023-05-03 19:10:00,0.0,3.0 -17684,2023-05-03 19:20:00,0.0,3.0 -17685,2023-05-03 19:30:00,0.0,3.0 -17686,2023-05-03 19:40:00,0.0,3.0 -17687,2023-05-03 19:50:00,0.0,3.0 -17688,2023-05-03 20:00:00,0.0,3.0 -17689,2023-05-03 20:10:00,0.0,3.0 -17690,2023-05-03 20:20:00,0.0,3.0 -17691,2023-05-03 20:30:00,0.0,3.0 -17692,2023-05-03 20:40:00,0.0,3.0 -17693,2023-05-03 20:50:00,0.0,3.0 -17694,2023-05-03 21:00:00,0.0,5.0 -17695,2023-05-03 21:10:00,0.0,5.0 -17696,2023-05-03 21:20:00,0.0,5.0 -17697,2023-05-03 21:30:00,0.0,5.0 -17698,2023-05-03 21:40:00,0.0,5.0 -17699,2023-05-03 21:50:00,0.0,5.0 -17700,2023-05-03 22:00:00,0.0,3.0 -17701,2023-05-03 22:10:00,0.0,3.0 -17702,2023-05-03 22:20:00,0.0,3.0 -17703,2023-05-03 22:30:00,0.0,3.0 -17704,2023-05-03 22:40:00,0.0,3.0 -17705,2023-05-03 22:50:00,0.0,3.0 -17706,2023-05-03 23:00:00,0.0,5.0 -17707,2023-05-03 23:10:00,0.0,5.0 -17708,2023-05-03 23:20:00,0.0,5.0 -17709,2023-05-03 23:30:00,0.0,5.0 -17710,2023-05-03 23:40:00,0.0,5.0 -17711,2023-05-03 23:50:00,0.0,5.0 -17712,2023-05-04 00:00:00,0.0,3.0 -17713,2023-05-04 00:10:00,0.0,3.0 -17714,2023-05-04 00:20:00,0.0,3.0 -17715,2023-05-04 00:30:00,0.0,3.0 -17716,2023-05-04 00:40:00,0.0,3.0 -17717,2023-05-04 00:50:00,0.0,3.0 -17730,2023-05-04 03:00:00,0.0,3.0 -17731,2023-05-04 03:10:00,0.0,3.0 -17732,2023-05-04 03:20:00,0.0,3.0 -17733,2023-05-04 03:30:00,0.0,3.0 -17734,2023-05-04 03:40:00,0.0,3.0 -17735,2023-05-04 03:50:00,0.0,3.0 -17736,2023-05-04 04:00:00,0.0,3.0 -17737,2023-05-04 04:10:00,0.0,3.0 -17738,2023-05-04 04:20:00,0.0,3.0 -17739,2023-05-04 04:30:00,0.0,3.0 -17740,2023-05-04 04:40:00,0.0,3.0 -17741,2023-05-04 04:50:00,0.0,3.0 -17742,2023-05-04 05:00:00,0.0,3.0 -17743,2023-05-04 05:10:00,0.0,3.0 -17744,2023-05-04 05:20:00,0.0,3.0 -17745,2023-05-04 05:30:00,0.0,3.0 -17746,2023-05-04 05:40:00,0.0,3.0 -17747,2023-05-04 05:50:00,0.0,3.0 -17748,2023-05-04 06:00:00,0.0,5.0 -17749,2023-05-04 06:10:00,0.0,5.0 -17750,2023-05-04 06:20:00,0.0,5.0 -17751,2023-05-04 06:30:00,0.0,5.0 -17752,2023-05-04 06:40:00,0.0,5.0 -17753,2023-05-04 06:50:00,0.0,5.0 -17766,2023-05-04 09:00:00,0.0,7.0 -17767,2023-05-04 09:10:00,0.0,7.0 -17768,2023-05-04 09:20:00,0.0,7.0 -17769,2023-05-04 09:30:00,0.0,7.0 -17770,2023-05-04 09:40:00,0.0,7.0 -17771,2023-05-04 09:50:00,0.0,7.0 -17772,2023-05-04 10:00:00,0.0,7.0 -17773,2023-05-04 10:10:00,0.0,7.0 -17774,2023-05-04 10:20:00,0.0,7.0 -17775,2023-05-04 10:30:00,0.0,7.0 -17776,2023-05-04 10:40:00,0.0,7.0 -17777,2023-05-04 10:50:00,0.0,7.0 -17778,2023-05-04 11:00:00,0.0,7.0 -17779,2023-05-04 11:10:00,0.0,7.0 -17780,2023-05-04 11:20:00,0.0,7.0 -17781,2023-05-04 11:30:00,0.0,7.0 -17782,2023-05-04 11:40:00,0.0,7.0 -17783,2023-05-04 11:50:00,0.0,7.0 -17784,2023-05-04 12:00:00,0.0,5.0 -17785,2023-05-04 12:10:00,0.0,5.0 -17786,2023-05-04 12:20:00,0.0,5.0 -17787,2023-05-04 12:30:00,0.0,5.0 -17788,2023-05-04 12:40:00,0.0,5.0 -17789,2023-05-04 12:50:00,0.0,5.0 -17814,2023-05-04 17:00:00,0.0,5.0 -17815,2023-05-04 17:10:00,0.0,5.0 -17816,2023-05-04 17:20:00,0.0,5.0 -17817,2023-05-04 17:30:00,0.0,5.0 -17818,2023-05-04 17:40:00,0.0,5.0 -17819,2023-05-04 17:50:00,0.0,5.0 -17820,2023-05-04 18:00:00,0.0,7.0 -17821,2023-05-04 18:10:00,0.0,7.0 -17822,2023-05-04 18:20:00,0.0,7.0 -17823,2023-05-04 18:30:00,0.0,7.0 -17824,2023-05-04 18:40:00,0.0,7.0 -17825,2023-05-04 18:50:00,0.0,7.0 -17856,2023-05-05 00:00:00,0.0,5.0 -17857,2023-05-05 00:10:00,0.0,5.0 -17858,2023-05-05 00:20:00,0.0,5.0 -17859,2023-05-05 00:30:00,0.0,5.0 -17860,2023-05-05 00:40:00,0.0,5.0 -17861,2023-05-05 00:50:00,0.0,5.0 -17898,2023-05-05 07:00:00,0.0,7.0 -17899,2023-05-05 07:10:00,0.0,7.0 -17900,2023-05-05 07:20:00,0.0,7.0 -17901,2023-05-05 07:30:00,0.0,7.0 -17902,2023-05-05 07:40:00,0.0,7.0 -17903,2023-05-05 07:50:00,0.0,7.0 -17904,2023-05-05 08:00:00,0.0,7.0 -17905,2023-05-05 08:10:00,0.0,7.0 -17906,2023-05-05 08:20:00,0.0,7.0 -17907,2023-05-05 08:30:00,0.0,7.0 -17908,2023-05-05 08:40:00,0.0,7.0 -17909,2023-05-05 08:50:00,0.0,7.0 -17916,2023-05-05 10:00:00,0.0,8.0 -17917,2023-05-05 10:10:00,0.0,8.0 -17918,2023-05-05 10:20:00,0.0,8.0 -17919,2023-05-05 10:30:00,0.0,8.0 -17920,2023-05-05 10:40:00,0.0,8.0 -17921,2023-05-05 10:50:00,0.0,8.0 -17922,2023-05-05 11:00:00,0.0,6.0 -17923,2023-05-05 11:10:00,0.0,6.0 -17924,2023-05-05 11:20:00,0.0,6.0 -17925,2023-05-05 11:30:00,0.0,6.0 -17926,2023-05-05 11:40:00,0.0,6.0 -17927,2023-05-05 11:50:00,0.0,6.0 -17928,2023-05-05 12:00:00,0.0,6.0 -17929,2023-05-05 12:10:00,0.0,6.0 -17930,2023-05-05 12:20:00,0.0,6.0 -17931,2023-05-05 12:30:00,0.0,6.0 -17932,2023-05-05 12:40:00,0.0,6.0 -17933,2023-05-05 12:50:00,0.0,6.0 -17934,2023-05-05 13:00:00,0.0,6.0 -17935,2023-05-05 13:10:00,0.0,6.0 -17936,2023-05-05 13:20:00,0.0,6.0 -17937,2023-05-05 13:30:00,0.0,6.0 -17938,2023-05-05 13:40:00,0.0,6.0 -17939,2023-05-05 13:50:00,0.0,6.0 -17940,2023-05-05 14:00:00,0.0,6.0 -17941,2023-05-05 14:10:00,0.0,6.0 -17942,2023-05-05 14:20:00,0.0,6.0 -17943,2023-05-05 14:30:00,0.0,6.0 -17944,2023-05-05 14:40:00,0.0,6.0 -17945,2023-05-05 14:50:00,0.0,6.0 -17946,2023-05-05 15:00:00,0.0,7.0 -17947,2023-05-05 15:10:00,0.0,7.0 -17948,2023-05-05 15:20:00,0.0,7.0 -17949,2023-05-05 15:30:00,0.0,7.0 -17950,2023-05-05 15:40:00,0.0,7.0 -17951,2023-05-05 15:50:00,0.0,7.0 -17952,2023-05-05 16:00:00,0.0,7.0 -17953,2023-05-05 16:10:00,0.0,7.0 -17954,2023-05-05 16:20:00,0.0,7.0 -17955,2023-05-05 16:30:00,0.0,7.0 -17956,2023-05-05 16:40:00,0.0,7.0 -17957,2023-05-05 16:50:00,0.0,7.0 -17964,2023-05-05 18:00:00,0.0,5.0 -17965,2023-05-05 18:10:00,0.0,5.0 -17966,2023-05-05 18:20:00,0.0,5.0 -17967,2023-05-05 18:30:00,0.0,5.0 -17968,2023-05-05 18:40:00,0.0,5.0 -17969,2023-05-05 18:50:00,0.0,5.0 -17970,2023-05-05 19:00:00,0.0,5.0 -17971,2023-05-05 19:10:00,0.0,5.0 -17972,2023-05-05 19:20:00,0.0,5.0 -17973,2023-05-05 19:30:00,0.0,5.0 -17974,2023-05-05 19:40:00,0.0,5.0 -17975,2023-05-05 19:50:00,0.0,5.0 -17976,2023-05-05 20:00:00,0.0,5.0 -17977,2023-05-05 20:10:00,0.0,5.0 -17978,2023-05-05 20:20:00,0.0,5.0 -17979,2023-05-05 20:30:00,0.0,5.0 -17980,2023-05-05 20:40:00,0.0,5.0 -17981,2023-05-05 20:50:00,0.0,5.0 -17982,2023-05-05 21:00:00,0.0,5.0 -17983,2023-05-05 21:10:00,0.0,5.0 -17984,2023-05-05 21:20:00,0.0,5.0 -17985,2023-05-05 21:30:00,0.0,5.0 -17986,2023-05-05 21:40:00,0.0,5.0 -17987,2023-05-05 21:50:00,0.0,5.0 -17988,2023-05-05 22:00:00,0.0,5.0 -17989,2023-05-05 22:10:00,0.0,5.0 -17990,2023-05-05 22:20:00,0.0,5.0 -17991,2023-05-05 22:30:00,0.0,5.0 -17992,2023-05-05 22:40:00,0.0,5.0 -17993,2023-05-05 22:50:00,0.0,5.0 -18006,2023-05-06 01:00:00,0.0,3.0 -18007,2023-05-06 01:10:00,0.0,3.0 -18008,2023-05-06 01:20:00,0.0,3.0 -18009,2023-05-06 01:30:00,0.0,3.0 -18010,2023-05-06 01:40:00,0.0,3.0 -18011,2023-05-06 01:50:00,0.0,3.0 -18012,2023-05-06 02:00:00,0.0,3.0 -18013,2023-05-06 02:10:00,0.0,3.0 -18014,2023-05-06 02:20:00,0.0,3.0 -18015,2023-05-06 02:30:00,0.0,3.0 -18016,2023-05-06 02:40:00,0.0,3.0 -18017,2023-05-06 02:50:00,0.0,3.0 -18030,2023-05-06 05:00:00,0.0,5.0 -18031,2023-05-06 05:10:00,0.0,5.0 -18032,2023-05-06 05:20:00,0.0,5.0 -18033,2023-05-06 05:30:00,0.0,5.0 -18034,2023-05-06 05:40:00,0.0,5.0 -18035,2023-05-06 05:50:00,0.0,5.0 -18036,2023-05-06 06:00:00,0.0,5.0 -18037,2023-05-06 06:10:00,0.0,5.0 -18038,2023-05-06 06:20:00,0.0,5.0 -18039,2023-05-06 06:30:00,0.0,5.0 -18040,2023-05-06 06:40:00,0.0,5.0 -18041,2023-05-06 06:50:00,0.0,5.0 -18048,2023-05-06 08:00:00,0.0,7.0 -18049,2023-05-06 08:10:00,0.0,7.0 -18050,2023-05-06 08:20:00,0.0,7.0 -18051,2023-05-06 08:30:00,0.0,7.0 -18052,2023-05-06 08:40:00,0.0,7.0 -18053,2023-05-06 08:50:00,0.0,7.0 -18060,2023-05-06 10:00:00,0.0,7.0 -18061,2023-05-06 10:10:00,0.0,7.0 -18062,2023-05-06 10:20:00,0.0,7.0 -18063,2023-05-06 10:30:00,0.0,7.0 -18064,2023-05-06 10:40:00,0.0,7.0 -18065,2023-05-06 10:50:00,0.0,7.0 -18090,2023-05-06 15:00:00,0.0,9.0 -18091,2023-05-06 15:10:00,0.0,9.0 -18092,2023-05-06 15:20:00,0.0,9.0 -18093,2023-05-06 15:30:00,0.0,9.0 -18094,2023-05-06 15:40:00,0.0,9.0 -18095,2023-05-06 15:50:00,0.0,9.0 -18096,2023-05-06 16:00:00,0.0,7.0 -18097,2023-05-06 16:10:00,0.0,7.0 -18098,2023-05-06 16:20:00,0.0,7.0 -18099,2023-05-06 16:30:00,0.0,7.0 -18100,2023-05-06 16:40:00,0.0,7.0 -18101,2023-05-06 16:50:00,0.0,7.0 -18108,2023-05-06 18:00:00,0.0,7.0 -18109,2023-05-06 18:10:00,0.0,7.0 -18110,2023-05-06 18:20:00,0.0,7.0 -18111,2023-05-06 18:30:00,0.0,7.0 -18112,2023-05-06 18:40:00,0.0,7.0 -18113,2023-05-06 18:50:00,0.0,7.0 -18114,2023-05-06 19:00:00,0.0,5.0 -18115,2023-05-06 19:10:00,0.0,5.0 -18116,2023-05-06 19:20:00,0.0,5.0 -18117,2023-05-06 19:30:00,0.0,5.0 -18118,2023-05-06 19:40:00,0.0,5.0 -18119,2023-05-06 19:50:00,0.0,5.0 -18132,2023-05-06 22:00:00,0.0,5.0 -18133,2023-05-06 22:10:00,0.0,5.0 -18134,2023-05-06 22:20:00,0.0,5.0 -18135,2023-05-06 22:30:00,0.0,5.0 -18136,2023-05-06 22:40:00,0.0,5.0 -18137,2023-05-06 22:50:00,0.0,5.0 -18144,2023-05-07 00:00:00,0.0,5.0 -18145,2023-05-07 00:10:00,0.0,5.0 -18146,2023-05-07 00:20:00,0.0,5.0 -18147,2023-05-07 00:30:00,0.0,5.0 -18148,2023-05-07 00:40:00,0.0,5.0 -18149,2023-05-07 00:50:00,0.0,5.0 -18150,2023-05-07 01:00:00,0.0,5.0 -18151,2023-05-07 01:10:00,0.0,5.0 -18152,2023-05-07 01:20:00,0.0,5.0 -18153,2023-05-07 01:30:00,0.0,5.0 -18154,2023-05-07 01:40:00,0.0,5.0 -18155,2023-05-07 01:50:00,0.0,5.0 -18162,2023-05-07 03:00:00,0.0,5.0 -18163,2023-05-07 03:10:00,0.0,5.0 -18164,2023-05-07 03:20:00,0.0,5.0 -18165,2023-05-07 03:30:00,0.0,5.0 -18166,2023-05-07 03:40:00,0.0,5.0 -18167,2023-05-07 03:50:00,0.0,5.0 -18174,2023-05-07 05:00:00,0.0,6.0 -18175,2023-05-07 05:10:00,0.0,6.0 -18176,2023-05-07 05:20:00,0.0,6.0 -18177,2023-05-07 05:30:00,0.0,6.0 -18178,2023-05-07 05:40:00,0.0,6.0 -18179,2023-05-07 05:50:00,0.0,6.0 -18180,2023-05-07 06:00:00,0.0,6.0 -18181,2023-05-07 06:10:00,0.0,6.0 -18182,2023-05-07 06:20:00,0.0,6.0 -18183,2023-05-07 06:30:00,0.0,6.0 -18184,2023-05-07 06:40:00,0.0,6.0 -18185,2023-05-07 06:50:00,0.0,6.0 -18186,2023-05-07 07:00:00,0.0,5.0 -18187,2023-05-07 07:10:00,0.0,5.0 -18188,2023-05-07 07:20:00,0.0,5.0 -18189,2023-05-07 07:30:00,0.0,5.0 -18190,2023-05-07 07:40:00,0.0,5.0 -18191,2023-05-07 07:50:00,0.0,5.0 -18192,2023-05-07 08:00:00,0.0,7.0 -18193,2023-05-07 08:10:00,0.0,7.0 -18194,2023-05-07 08:20:00,0.0,7.0 -18195,2023-05-07 08:30:00,0.0,7.0 -18196,2023-05-07 08:40:00,0.0,7.0 -18197,2023-05-07 08:50:00,0.0,7.0 -18198,2023-05-07 09:00:00,0.0,7.0 -18199,2023-05-07 09:10:00,0.0,7.0 -18200,2023-05-07 09:20:00,0.0,7.0 -18201,2023-05-07 09:30:00,0.0,7.0 -18202,2023-05-07 09:40:00,0.0,7.0 -18203,2023-05-07 09:50:00,0.0,7.0 -18204,2023-05-07 10:00:00,0.0,7.0 -18205,2023-05-07 10:10:00,0.0,7.0 -18206,2023-05-07 10:20:00,0.0,7.0 -18207,2023-05-07 10:30:00,0.0,7.0 -18208,2023-05-07 10:40:00,0.0,7.0 -18209,2023-05-07 10:50:00,0.0,7.0 -18210,2023-05-07 11:00:00,0.0,7.0 -18211,2023-05-07 11:10:00,0.0,7.0 -18212,2023-05-07 11:20:00,0.0,7.0 -18213,2023-05-07 11:30:00,0.0,7.0 -18214,2023-05-07 11:40:00,0.0,7.0 -18215,2023-05-07 11:50:00,0.0,7.0 -18228,2023-05-07 14:00:00,0.0,7.0 -18229,2023-05-07 14:10:00,0.0,7.0 -18230,2023-05-07 14:20:00,0.0,7.0 -18231,2023-05-07 14:30:00,0.0,7.0 -18232,2023-05-07 14:40:00,0.0,7.0 -18233,2023-05-07 14:50:00,0.0,7.0 -18246,2023-05-07 17:00:00,0.0,7.0 -18247,2023-05-07 17:10:00,0.0,7.0 -18248,2023-05-07 17:20:00,0.0,7.0 -18249,2023-05-07 17:30:00,0.0,7.0 -18250,2023-05-07 17:40:00,0.0,7.0 -18251,2023-05-07 17:50:00,0.0,7.0 -18252,2023-05-07 18:00:00,0.0,7.0 -18253,2023-05-07 18:10:00,0.0,7.0 -18254,2023-05-07 18:20:00,0.0,7.0 -18255,2023-05-07 18:30:00,0.0,7.0 -18256,2023-05-07 18:40:00,0.0,7.0 -18257,2023-05-07 18:50:00,0.0,7.0 -18270,2023-05-07 21:00:00,0.0,5.0 -18271,2023-05-07 21:10:00,0.0,5.0 -18272,2023-05-07 21:20:00,0.0,5.0 -18273,2023-05-07 21:30:00,0.0,5.0 -18274,2023-05-07 21:40:00,0.0,5.0 -18275,2023-05-07 21:50:00,0.0,5.0 -18288,2023-05-08 00:00:00,0.0,5.0 -18289,2023-05-08 00:10:00,0.0,5.0 -18290,2023-05-08 00:20:00,0.0,5.0 -18291,2023-05-08 00:30:00,0.0,5.0 -18292,2023-05-08 00:40:00,0.0,5.0 -18293,2023-05-08 00:50:00,0.0,5.0 -18294,2023-05-08 01:00:00,0.0,5.0 -18295,2023-05-08 01:10:00,0.0,5.0 -18296,2023-05-08 01:20:00,0.0,5.0 -18297,2023-05-08 01:30:00,0.0,5.0 -18298,2023-05-08 01:40:00,0.0,5.0 -18299,2023-05-08 01:50:00,0.0,5.0 -18300,2023-05-08 02:00:00,0.0,5.0 -18301,2023-05-08 02:10:00,0.0,5.0 -18302,2023-05-08 02:20:00,0.0,5.0 -18303,2023-05-08 02:30:00,0.0,5.0 -18304,2023-05-08 02:40:00,0.0,5.0 -18305,2023-05-08 02:50:00,0.0,5.0 -18318,2023-05-08 05:00:00,0.0,5.0 -18319,2023-05-08 05:10:00,0.0,5.0 -18320,2023-05-08 05:20:00,0.0,5.0 -18321,2023-05-08 05:30:00,0.0,5.0 -18322,2023-05-08 05:40:00,0.0,5.0 -18323,2023-05-08 05:50:00,0.0,5.0 -18336,2023-05-08 08:00:00,0.0,5.0 -18337,2023-05-08 08:10:00,0.0,5.0 -18338,2023-05-08 08:20:00,0.0,5.0 -18339,2023-05-08 08:30:00,0.0,5.0 -18340,2023-05-08 08:40:00,0.0,5.0 -18341,2023-05-08 08:50:00,0.0,5.0 -18354,2023-05-08 11:00:00,0.0,5.0 -18355,2023-05-08 11:10:00,0.0,5.0 -18356,2023-05-08 11:20:00,0.0,5.0 -18357,2023-05-08 11:30:00,0.0,5.0 -18358,2023-05-08 11:40:00,0.0,5.0 -18359,2023-05-08 11:50:00,0.0,5.0 -18360,2023-05-08 12:00:00,0.0,9.0 -18361,2023-05-08 12:10:00,0.0,9.0 -18362,2023-05-08 12:20:00,0.0,9.0 -18363,2023-05-08 12:30:00,0.0,9.0 -18364,2023-05-08 12:40:00,0.0,9.0 -18365,2023-05-08 12:50:00,0.0,9.0 -18372,2023-05-08 14:00:00,0.0,7.0 -18373,2023-05-08 14:10:00,0.0,7.0 -18374,2023-05-08 14:20:00,0.0,7.0 -18375,2023-05-08 14:30:00,0.0,7.0 -18376,2023-05-08 14:40:00,0.0,7.0 -18377,2023-05-08 14:50:00,0.0,7.0 -18378,2023-05-08 15:00:00,0.0,9.0 -18379,2023-05-08 15:10:00,0.0,9.0 -18380,2023-05-08 15:20:00,0.0,9.0 -18381,2023-05-08 15:30:00,0.0,9.0 -18382,2023-05-08 15:40:00,0.0,9.0 -18383,2023-05-08 15:50:00,0.0,9.0 -18396,2023-05-08 18:00:00,0.0,7.0 -18397,2023-05-08 18:10:00,0.0,7.0 -18398,2023-05-08 18:20:00,0.0,7.0 -18399,2023-05-08 18:30:00,0.0,7.0 -18400,2023-05-08 18:40:00,0.0,7.0 -18401,2023-05-08 18:50:00,0.0,7.0 -18402,2023-05-08 19:00:00,0.0,5.0 -18403,2023-05-08 19:10:00,0.0,5.0 -18404,2023-05-08 19:20:00,0.0,5.0 -18405,2023-05-08 19:30:00,0.0,5.0 -18406,2023-05-08 19:40:00,0.0,5.0 -18407,2023-05-08 19:50:00,0.0,5.0 -18426,2023-05-08 23:00:00,0.0,5.0 -18427,2023-05-08 23:10:00,0.0,5.0 -18428,2023-05-08 23:20:00,0.0,5.0 -18429,2023-05-08 23:30:00,0.0,5.0 -18430,2023-05-08 23:40:00,0.0,5.0 -18431,2023-05-08 23:50:00,0.0,5.0 -18438,2023-05-09 01:00:00,0.0,5.0 -18439,2023-05-09 01:10:00,0.0,5.0 -18440,2023-05-09 01:20:00,0.0,5.0 -18441,2023-05-09 01:30:00,0.0,5.0 -18442,2023-05-09 01:40:00,0.0,5.0 -18443,2023-05-09 01:50:00,0.0,5.0 -18450,2023-05-09 03:00:00,0.0,5.0 -18451,2023-05-09 03:10:00,0.0,5.0 -18452,2023-05-09 03:20:00,0.0,5.0 -18453,2023-05-09 03:30:00,0.0,5.0 -18454,2023-05-09 03:40:00,0.0,5.0 -18455,2023-05-09 03:50:00,0.0,5.0 -18456,2023-05-09 04:00:00,0.0,5.0 -18457,2023-05-09 04:10:00,0.0,5.0 -18458,2023-05-09 04:20:00,0.0,5.0 -18459,2023-05-09 04:30:00,0.0,5.0 -18460,2023-05-09 04:40:00,0.0,5.0 -18461,2023-05-09 04:50:00,0.0,5.0 -18474,2023-05-09 07:00:00,0.0,6.0 -18475,2023-05-09 07:10:00,0.0,6.0 -18476,2023-05-09 07:20:00,0.0,6.0 -18477,2023-05-09 07:30:00,0.0,6.0 -18478,2023-05-09 07:40:00,0.0,6.0 -18479,2023-05-09 07:50:00,0.0,6.0 -18480,2023-05-09 08:00:00,0.0,6.0 -18481,2023-05-09 08:10:00,0.0,6.0 -18482,2023-05-09 08:20:00,0.0,6.0 -18483,2023-05-09 08:30:00,0.0,6.0 -18484,2023-05-09 08:40:00,0.0,6.0 -18485,2023-05-09 08:50:00,0.0,6.0 -18504,2023-05-09 12:00:00,0.0,6.0 -18505,2023-05-09 12:10:00,0.0,6.0 -18506,2023-05-09 12:20:00,0.0,6.0 -18507,2023-05-09 12:30:00,0.0,6.0 -18508,2023-05-09 12:40:00,0.0,6.0 -18509,2023-05-09 12:50:00,0.0,6.0 -18540,2023-05-09 18:00:00,0.0,6.0 -18541,2023-05-09 18:10:00,0.0,6.0 -18542,2023-05-09 18:20:00,0.0,6.0 -18543,2023-05-09 18:30:00,0.0,6.0 -18544,2023-05-09 18:40:00,0.0,6.0 -18545,2023-05-09 18:50:00,0.0,6.0 -18546,2023-05-09 19:00:00,0.0,6.0 -18547,2023-05-09 19:10:00,0.0,6.0 -18548,2023-05-09 19:20:00,0.0,6.0 -18549,2023-05-09 19:30:00,0.0,6.0 -18550,2023-05-09 19:40:00,0.0,6.0 -18551,2023-05-09 19:50:00,0.0,6.0 -18552,2023-05-09 20:00:00,0.0,5.0 -18553,2023-05-09 20:10:00,0.0,5.0 -18554,2023-05-09 20:20:00,0.0,5.0 -18555,2023-05-09 20:30:00,0.0,5.0 -18556,2023-05-09 20:40:00,0.0,5.0 -18557,2023-05-09 20:50:00,0.0,5.0 -18558,2023-05-09 21:00:00,0.0,5.0 -18559,2023-05-09 21:10:00,0.0,5.0 -18560,2023-05-09 21:20:00,0.0,5.0 -18561,2023-05-09 21:30:00,0.0,5.0 -18562,2023-05-09 21:40:00,0.0,5.0 -18563,2023-05-09 21:50:00,0.0,5.0 -18564,2023-05-09 22:00:00,0.0,5.0 -18565,2023-05-09 22:10:00,0.0,5.0 -18566,2023-05-09 22:20:00,0.0,5.0 -18567,2023-05-09 22:30:00,0.0,5.0 -18568,2023-05-09 22:40:00,0.0,5.0 -18569,2023-05-09 22:50:00,0.0,5.0 -18582,2023-05-10 01:00:00,0.0,5.0 -18583,2023-05-10 01:10:00,0.0,5.0 -18584,2023-05-10 01:20:00,0.0,5.0 -18585,2023-05-10 01:30:00,0.0,5.0 -18586,2023-05-10 01:40:00,0.0,5.0 -18587,2023-05-10 01:50:00,0.0,5.0 -18588,2023-05-10 02:00:00,0.0,5.0 -18589,2023-05-10 02:10:00,0.0,5.0 -18590,2023-05-10 02:20:00,0.0,5.0 -18591,2023-05-10 02:30:00,0.0,5.0 -18592,2023-05-10 02:40:00,0.0,5.0 -18593,2023-05-10 02:50:00,0.0,5.0 -18600,2023-05-10 04:00:00,0.0,5.0 -18601,2023-05-10 04:10:00,0.0,5.0 -18602,2023-05-10 04:20:00,0.0,5.0 -18603,2023-05-10 04:30:00,0.0,5.0 -18604,2023-05-10 04:40:00,0.0,5.0 -18605,2023-05-10 04:50:00,0.0,5.0 -18606,2023-05-10 05:00:00,0.0,6.0 -18607,2023-05-10 05:10:00,0.0,6.0 -18608,2023-05-10 05:20:00,0.0,6.0 -18609,2023-05-10 05:30:00,0.0,6.0 -18610,2023-05-10 05:40:00,0.0,6.0 -18611,2023-05-10 05:50:00,0.0,6.0 -18612,2023-05-10 06:00:00,0.0,5.0 -18613,2023-05-10 06:10:00,0.0,5.0 -18614,2023-05-10 06:20:00,0.0,5.0 -18615,2023-05-10 06:30:00,0.0,5.0 -18616,2023-05-10 06:40:00,0.0,5.0 -18617,2023-05-10 06:50:00,0.0,5.0 -18618,2023-05-10 07:00:00,0.0,6.0 -18619,2023-05-10 07:10:00,0.0,6.0 -18620,2023-05-10 07:20:00,0.0,6.0 -18621,2023-05-10 07:30:00,0.0,6.0 -18622,2023-05-10 07:40:00,0.0,6.0 -18623,2023-05-10 07:50:00,0.0,6.0 -18624,2023-05-10 08:00:00,0.0,5.0 -18625,2023-05-10 08:10:00,0.0,5.0 -18626,2023-05-10 08:20:00,0.0,5.0 -18627,2023-05-10 08:30:00,0.0,5.0 -18628,2023-05-10 08:40:00,0.0,5.0 -18629,2023-05-10 08:50:00,0.0,5.0 -18636,2023-05-10 10:00:00,0.0,5.0 -18637,2023-05-10 10:10:00,0.0,5.0 -18638,2023-05-10 10:20:00,0.0,5.0 -18639,2023-05-10 10:30:00,0.0,5.0 -18640,2023-05-10 10:40:00,0.0,5.0 -18641,2023-05-10 10:50:00,0.0,5.0 -18642,2023-05-10 11:00:00,0.0,8.0 -18643,2023-05-10 11:10:00,0.0,8.0 -18644,2023-05-10 11:20:00,0.0,8.0 -18645,2023-05-10 11:30:00,0.0,8.0 -18646,2023-05-10 11:40:00,0.0,8.0 -18647,2023-05-10 11:50:00,0.0,8.0 -18654,2023-05-10 13:00:00,0.0,7.0 -18655,2023-05-10 13:10:00,0.0,7.0 -18656,2023-05-10 13:20:00,0.0,7.0 -18657,2023-05-10 13:30:00,0.0,7.0 -18658,2023-05-10 13:40:00,0.0,7.0 -18659,2023-05-10 13:50:00,0.0,7.0 -18660,2023-05-10 14:00:00,0.0,7.0 -18661,2023-05-10 14:10:00,0.0,7.0 -18662,2023-05-10 14:20:00,0.0,7.0 -18663,2023-05-10 14:30:00,0.0,7.0 -18664,2023-05-10 14:40:00,0.0,7.0 -18665,2023-05-10 14:50:00,0.0,7.0 -18684,2023-05-10 18:00:00,0.0,5.0 -18685,2023-05-10 18:10:00,0.0,5.0 -18686,2023-05-10 18:20:00,0.0,5.0 -18687,2023-05-10 18:30:00,0.0,5.0 -18688,2023-05-10 18:40:00,0.0,5.0 -18689,2023-05-10 18:50:00,0.0,5.0 -18708,2023-05-10 22:00:00,0.0,5.0 -18709,2023-05-10 22:10:00,0.0,5.0 -18710,2023-05-10 22:20:00,0.0,5.0 -18711,2023-05-10 22:30:00,0.0,5.0 -18712,2023-05-10 22:40:00,0.0,5.0 -18713,2023-05-10 22:50:00,0.0,5.0 -18714,2023-05-10 23:00:00,0.0,6.0 -18715,2023-05-10 23:10:00,0.0,6.0 -18716,2023-05-10 23:20:00,0.0,6.0 -18717,2023-05-10 23:30:00,0.0,6.0 -18718,2023-05-10 23:40:00,0.0,6.0 -18719,2023-05-10 23:50:00,0.0,6.0 -18720,2023-05-11 00:00:00,0.0,5.0 -18721,2023-05-11 00:10:00,0.0,5.0 -18722,2023-05-11 00:20:00,0.0,5.0 -18723,2023-05-11 00:30:00,0.0,5.0 -18724,2023-05-11 00:40:00,0.0,5.0 -18725,2023-05-11 00:50:00,0.0,5.0 -18738,2023-05-11 03:00:00,0.0,3.0 -18739,2023-05-11 03:10:00,0.0,3.0 -18740,2023-05-11 03:20:00,0.0,3.0 -18741,2023-05-11 03:30:00,0.0,3.0 -18742,2023-05-11 03:40:00,0.0,3.0 -18743,2023-05-11 03:50:00,0.0,3.0 -18756,2023-05-11 06:00:00,0.0,5.0 -18757,2023-05-11 06:10:00,0.0,5.0 -18758,2023-05-11 06:20:00,0.0,5.0 -18759,2023-05-11 06:30:00,0.0,5.0 -18760,2023-05-11 06:40:00,0.0,5.0 -18761,2023-05-11 06:50:00,0.0,5.0 -18762,2023-05-11 07:00:00,0.0,6.0 -18763,2023-05-11 07:10:00,0.0,6.0 -18764,2023-05-11 07:20:00,0.0,6.0 -18765,2023-05-11 07:30:00,0.0,6.0 -18766,2023-05-11 07:40:00,0.0,6.0 -18767,2023-05-11 07:50:00,0.0,6.0 -18768,2023-05-11 08:00:00,0.0,5.0 -18769,2023-05-11 08:10:00,0.0,5.0 -18770,2023-05-11 08:20:00,0.0,5.0 -18771,2023-05-11 08:30:00,0.0,5.0 -18772,2023-05-11 08:40:00,0.0,5.0 -18773,2023-05-11 08:50:00,0.0,5.0 -18774,2023-05-11 09:00:00,0.0,6.0 -18775,2023-05-11 09:10:00,0.0,6.0 -18776,2023-05-11 09:20:00,0.0,6.0 -18777,2023-05-11 09:30:00,0.0,6.0 -18778,2023-05-11 09:40:00,0.0,6.0 -18779,2023-05-11 09:50:00,0.0,6.0 -18780,2023-05-11 10:00:00,0.0,7.0 -18781,2023-05-11 10:10:00,0.0,7.0 -18782,2023-05-11 10:20:00,0.0,7.0 -18783,2023-05-11 10:30:00,0.0,7.0 -18784,2023-05-11 10:40:00,0.0,7.0 -18785,2023-05-11 10:50:00,0.0,7.0 -18798,2023-05-11 13:00:00,0.0,7.0 -18799,2023-05-11 13:10:00,0.0,7.0 -18800,2023-05-11 13:20:00,0.0,7.0 -18801,2023-05-11 13:30:00,0.0,7.0 -18802,2023-05-11 13:40:00,0.0,7.0 -18803,2023-05-11 13:50:00,0.0,7.0 -18810,2023-05-11 15:00:00,0.0,5.0 -18811,2023-05-11 15:10:00,0.0,5.0 -18812,2023-05-11 15:20:00,0.0,5.0 -18813,2023-05-11 15:30:00,0.0,5.0 -18814,2023-05-11 15:40:00,0.0,5.0 -18815,2023-05-11 15:50:00,0.0,5.0 -18816,2023-05-11 16:00:00,0.0,7.0 -18817,2023-05-11 16:10:00,0.0,7.0 -18818,2023-05-11 16:20:00,0.0,7.0 -18819,2023-05-11 16:30:00,0.0,7.0 -18820,2023-05-11 16:40:00,0.0,7.0 -18821,2023-05-11 16:50:00,0.0,7.0 -18822,2023-05-11 17:00:00,0.0,6.0 -18823,2023-05-11 17:10:00,0.0,6.0 -18824,2023-05-11 17:20:00,0.0,6.0 -18825,2023-05-11 17:30:00,0.0,6.0 -18826,2023-05-11 17:40:00,0.0,6.0 -18827,2023-05-11 17:50:00,0.0,6.0 -18834,2023-05-11 19:00:00,0.0,6.0 -18835,2023-05-11 19:10:00,0.0,6.0 -18836,2023-05-11 19:20:00,0.0,6.0 -18837,2023-05-11 19:30:00,0.0,6.0 -18838,2023-05-11 19:40:00,0.0,6.0 -18839,2023-05-11 19:50:00,0.0,6.0 -18852,2023-05-11 22:00:00,0.0,5.0 -18853,2023-05-11 22:10:00,0.0,5.0 -18854,2023-05-11 22:20:00,0.0,5.0 -18855,2023-05-11 22:30:00,0.0,5.0 -18856,2023-05-11 22:40:00,0.0,5.0 -18857,2023-05-11 22:50:00,0.0,5.0 -18858,2023-05-11 23:00:00,0.0,6.0 -18859,2023-05-11 23:10:00,0.0,6.0 -18860,2023-05-11 23:20:00,0.0,6.0 -18861,2023-05-11 23:30:00,0.0,6.0 -18862,2023-05-11 23:40:00,0.0,6.0 -18863,2023-05-11 23:50:00,0.0,6.0 -18864,2023-05-12 00:00:00,0.0,6.0 -18865,2023-05-12 00:10:00,0.0,6.0 -18866,2023-05-12 00:20:00,0.0,6.0 -18867,2023-05-12 00:30:00,0.0,6.0 -18868,2023-05-12 00:40:00,0.0,6.0 -18869,2023-05-12 00:50:00,0.0,6.0 -18870,2023-05-12 01:00:00,0.0,6.0 -18871,2023-05-12 01:10:00,0.0,6.0 -18872,2023-05-12 01:20:00,0.0,6.0 -18873,2023-05-12 01:30:00,0.0,6.0 -18874,2023-05-12 01:40:00,0.0,6.0 -18875,2023-05-12 01:50:00,0.0,6.0 -18882,2023-05-12 03:00:00,0.0,6.0 -18883,2023-05-12 03:10:00,0.0,6.0 -18884,2023-05-12 03:20:00,0.0,6.0 -18885,2023-05-12 03:30:00,0.0,6.0 -18886,2023-05-12 03:40:00,0.0,6.0 -18887,2023-05-12 03:50:00,0.0,6.0 -18894,2023-05-12 05:00:00,0.0,5.0 -18895,2023-05-12 05:10:00,0.0,5.0 -18896,2023-05-12 05:20:00,0.0,5.0 -18897,2023-05-12 05:30:00,0.0,5.0 -18898,2023-05-12 05:40:00,0.0,5.0 -18899,2023-05-12 05:50:00,0.0,5.0 -18906,2023-05-12 07:00:00,0.0,5.0 -18907,2023-05-12 07:10:00,0.0,5.0 -18908,2023-05-12 07:20:00,0.0,5.0 -18909,2023-05-12 07:30:00,0.0,5.0 -18910,2023-05-12 07:40:00,0.0,5.0 -18911,2023-05-12 07:50:00,0.0,5.0 -18924,2023-05-12 10:00:00,0.0,5.0 -18925,2023-05-12 10:10:00,0.0,5.0 -18926,2023-05-12 10:20:00,0.0,5.0 -18927,2023-05-12 10:30:00,0.0,5.0 -18928,2023-05-12 10:40:00,0.0,5.0 -18929,2023-05-12 10:50:00,0.0,5.0 -18942,2023-05-12 13:00:00,0.0,9.0 -18943,2023-05-12 13:10:00,0.0,9.0 -18944,2023-05-12 13:20:00,0.0,9.0 -18945,2023-05-12 13:30:00,0.0,9.0 -18946,2023-05-12 13:40:00,0.0,9.0 -18947,2023-05-12 13:50:00,0.0,9.0 -18960,2023-05-12 16:00:00,0.0,8.0 -18961,2023-05-12 16:10:00,0.0,8.0 -18962,2023-05-12 16:20:00,0.0,8.0 -18963,2023-05-12 16:30:00,0.0,8.0 -18964,2023-05-12 16:40:00,0.0,8.0 -18965,2023-05-12 16:50:00,0.0,8.0 -18966,2023-05-12 17:00:00,0.0,7.0 -18967,2023-05-12 17:10:00,0.0,7.0 -18968,2023-05-12 17:20:00,0.0,7.0 -18969,2023-05-12 17:30:00,0.0,7.0 -18970,2023-05-12 17:40:00,0.0,7.0 -18971,2023-05-12 17:50:00,0.0,7.0 -18978,2023-05-12 19:00:00,0.0,7.0 -18979,2023-05-12 19:10:00,0.0,7.0 -18980,2023-05-12 19:20:00,0.0,7.0 -18981,2023-05-12 19:30:00,0.0,7.0 -18982,2023-05-12 19:40:00,0.0,7.0 -18983,2023-05-12 19:50:00,0.0,7.0 -18984,2023-05-12 20:00:00,0.0,5.0 -18985,2023-05-12 20:10:00,0.0,5.0 -18986,2023-05-12 20:20:00,0.0,5.0 -18987,2023-05-12 20:30:00,0.0,5.0 -18988,2023-05-12 20:40:00,0.0,5.0 -18989,2023-05-12 20:50:00,0.0,5.0 -18996,2023-05-12 22:00:00,0.0,5.0 -18997,2023-05-12 22:10:00,0.0,5.0 -18998,2023-05-12 22:20:00,0.0,5.0 -18999,2023-05-12 22:30:00,0.0,5.0 -19000,2023-05-12 22:40:00,0.0,5.0 -19001,2023-05-12 22:50:00,0.0,5.0 -19002,2023-05-12 23:00:00,0.0,5.0 -19003,2023-05-12 23:10:00,0.0,5.0 -19004,2023-05-12 23:20:00,0.0,5.0 -19005,2023-05-12 23:30:00,0.0,5.0 -19006,2023-05-12 23:40:00,0.0,5.0 -19007,2023-05-12 23:50:00,0.0,5.0 -19014,2023-05-13 01:00:00,0.0,5.0 -19015,2023-05-13 01:10:00,0.0,5.0 -19016,2023-05-13 01:20:00,0.0,5.0 -19017,2023-05-13 01:30:00,0.0,5.0 -19018,2023-05-13 01:40:00,0.0,5.0 -19019,2023-05-13 01:50:00,0.0,5.0 -19026,2023-05-13 03:00:00,0.0,3.0 -19027,2023-05-13 03:10:00,0.0,3.0 -19028,2023-05-13 03:20:00,0.0,3.0 -19029,2023-05-13 03:30:00,0.0,3.0 -19030,2023-05-13 03:40:00,0.0,3.0 -19031,2023-05-13 03:50:00,0.0,3.0 -19038,2023-05-13 05:00:00,0.0,5.0 -19039,2023-05-13 05:10:00,0.0,5.0 -19040,2023-05-13 05:20:00,0.0,5.0 -19041,2023-05-13 05:30:00,0.0,5.0 -19042,2023-05-13 05:40:00,0.0,5.0 -19043,2023-05-13 05:50:00,0.0,5.0 -19044,2023-05-13 06:00:00,0.0,7.0 -19045,2023-05-13 06:10:00,0.0,7.0 -19046,2023-05-13 06:20:00,0.0,7.0 -19047,2023-05-13 06:30:00,0.0,7.0 -19048,2023-05-13 06:40:00,0.0,7.0 -19049,2023-05-13 06:50:00,0.0,7.0 -19050,2023-05-13 07:00:00,0.0,7.0 -19051,2023-05-13 07:10:00,0.0,7.0 -19052,2023-05-13 07:20:00,0.0,7.0 -19053,2023-05-13 07:30:00,0.0,7.0 -19054,2023-05-13 07:40:00,0.0,7.0 -19055,2023-05-13 07:50:00,0.0,7.0 -19080,2023-05-13 12:00:00,0.0,9.0 -19081,2023-05-13 12:10:00,0.0,9.0 -19082,2023-05-13 12:20:00,0.0,9.0 -19083,2023-05-13 12:30:00,0.0,9.0 -19084,2023-05-13 12:40:00,0.0,9.0 -19085,2023-05-13 12:50:00,0.0,9.0 -19104,2023-05-13 16:00:00,0.0,9.0 -19105,2023-05-13 16:10:00,0.0,9.0 -19106,2023-05-13 16:20:00,0.0,9.0 -19107,2023-05-13 16:30:00,0.0,9.0 -19108,2023-05-13 16:40:00,0.0,9.0 -19109,2023-05-13 16:50:00,0.0,9.0 -19110,2023-05-13 17:00:00,0.0,7.0 -19111,2023-05-13 17:10:00,0.0,7.0 -19112,2023-05-13 17:20:00,0.0,7.0 -19113,2023-05-13 17:30:00,0.0,7.0 -19114,2023-05-13 17:40:00,0.0,7.0 -19115,2023-05-13 17:50:00,0.0,7.0 -19116,2023-05-13 18:00:00,0.0,5.0 -19117,2023-05-13 18:10:00,0.0,5.0 -19118,2023-05-13 18:20:00,0.0,5.0 -19119,2023-05-13 18:30:00,0.0,5.0 -19120,2023-05-13 18:40:00,0.0,5.0 -19121,2023-05-13 18:50:00,0.0,5.0 -19122,2023-05-13 19:00:00,0.0,5.0 -19123,2023-05-13 19:10:00,0.0,5.0 -19124,2023-05-13 19:20:00,0.0,5.0 -19125,2023-05-13 19:30:00,0.0,5.0 -19126,2023-05-13 19:40:00,0.0,5.0 -19127,2023-05-13 19:50:00,0.0,5.0 -19128,2023-05-13 20:00:00,0.0,5.0 -19129,2023-05-13 20:10:00,0.0,5.0 -19130,2023-05-13 20:20:00,0.0,5.0 -19131,2023-05-13 20:30:00,0.0,5.0 -19132,2023-05-13 20:40:00,0.0,5.0 -19133,2023-05-13 20:50:00,0.0,5.0 -19134,2023-05-13 21:00:00,0.0,5.0 -19135,2023-05-13 21:10:00,0.0,5.0 -19136,2023-05-13 21:20:00,0.0,5.0 -19137,2023-05-13 21:30:00,0.0,5.0 -19138,2023-05-13 21:40:00,0.0,5.0 -19139,2023-05-13 21:50:00,0.0,5.0 -19140,2023-05-13 22:00:00,0.0,5.0 -19141,2023-05-13 22:10:00,0.0,5.0 -19142,2023-05-13 22:20:00,0.0,5.0 -19143,2023-05-13 22:30:00,0.0,5.0 -19144,2023-05-13 22:40:00,0.0,5.0 -19145,2023-05-13 22:50:00,0.0,5.0 -19146,2023-05-13 23:00:00,0.0,5.0 -19147,2023-05-13 23:10:00,0.0,5.0 -19148,2023-05-13 23:20:00,0.0,5.0 -19149,2023-05-13 23:30:00,0.0,5.0 -19150,2023-05-13 23:40:00,0.0,5.0 -19151,2023-05-13 23:50:00,0.0,5.0 -19152,2023-05-14 00:00:00,0.0,5.0 -19153,2023-05-14 00:10:00,0.0,5.0 -19154,2023-05-14 00:20:00,0.0,5.0 -19155,2023-05-14 00:30:00,0.0,5.0 -19156,2023-05-14 00:40:00,0.0,5.0 -19157,2023-05-14 00:50:00,0.0,5.0 -19158,2023-05-14 01:00:00,0.0,5.0 -19159,2023-05-14 01:10:00,0.0,5.0 -19160,2023-05-14 01:20:00,0.0,5.0 -19161,2023-05-14 01:30:00,0.0,5.0 -19162,2023-05-14 01:40:00,0.0,5.0 -19163,2023-05-14 01:50:00,0.0,5.0 -19170,2023-05-14 03:00:00,0.0,3.0 -19171,2023-05-14 03:10:00,0.0,3.0 -19172,2023-05-14 03:20:00,0.0,3.0 -19173,2023-05-14 03:30:00,0.0,3.0 -19174,2023-05-14 03:40:00,0.0,3.0 -19175,2023-05-14 03:50:00,0.0,3.0 -19176,2023-05-14 04:00:00,0.0,5.0 -19177,2023-05-14 04:10:00,0.0,5.0 -19178,2023-05-14 04:20:00,0.0,5.0 -19179,2023-05-14 04:30:00,0.0,5.0 -19180,2023-05-14 04:40:00,0.0,5.0 -19181,2023-05-14 04:50:00,0.0,5.0 -19182,2023-05-14 05:00:00,0.0,5.0 -19183,2023-05-14 05:10:00,0.0,5.0 -19184,2023-05-14 05:20:00,0.0,5.0 -19185,2023-05-14 05:30:00,0.0,5.0 -19186,2023-05-14 05:40:00,0.0,5.0 -19187,2023-05-14 05:50:00,0.0,5.0 -19194,2023-05-14 07:00:00,0.0,5.0 -19195,2023-05-14 07:10:00,0.0,5.0 -19196,2023-05-14 07:20:00,0.0,5.0 -19197,2023-05-14 07:30:00,0.0,5.0 -19198,2023-05-14 07:40:00,0.0,5.0 -19199,2023-05-14 07:50:00,0.0,5.0 -19206,2023-05-14 09:00:00,0.0,7.0 -19207,2023-05-14 09:10:00,0.0,7.0 -19208,2023-05-14 09:20:00,0.0,7.0 -19209,2023-05-14 09:30:00,0.0,7.0 -19210,2023-05-14 09:40:00,0.0,7.0 -19211,2023-05-14 09:50:00,0.0,7.0 -19218,2023-05-14 11:00:00,0.0,9.0 -19219,2023-05-14 11:10:00,0.0,9.0 -19220,2023-05-14 11:20:00,0.0,9.0 -19221,2023-05-14 11:30:00,0.0,9.0 -19222,2023-05-14 11:40:00,0.0,9.0 -19223,2023-05-14 11:50:00,0.0,9.0 -19224,2023-05-14 12:00:00,0.0,9.0 -19225,2023-05-14 12:10:00,0.0,9.0 -19226,2023-05-14 12:20:00,0.0,9.0 -19227,2023-05-14 12:30:00,0.0,9.0 -19228,2023-05-14 12:40:00,0.0,9.0 -19229,2023-05-14 12:50:00,0.0,9.0 -19230,2023-05-14 13:00:00,0.0,7.0 -19231,2023-05-14 13:10:00,0.0,7.0 -19232,2023-05-14 13:20:00,0.0,7.0 -19233,2023-05-14 13:30:00,0.0,7.0 -19234,2023-05-14 13:40:00,0.0,7.0 -19235,2023-05-14 13:50:00,0.0,7.0 -19236,2023-05-14 14:00:00,0.0,7.0 -19237,2023-05-14 14:10:00,0.0,7.0 -19238,2023-05-14 14:20:00,0.0,7.0 -19239,2023-05-14 14:30:00,0.0,7.0 -19240,2023-05-14 14:40:00,0.0,7.0 -19241,2023-05-14 14:50:00,0.0,7.0 -19242,2023-05-14 15:00:00,0.0,7.0 -19243,2023-05-14 15:10:00,0.0,7.0 -19244,2023-05-14 15:20:00,0.0,7.0 -19245,2023-05-14 15:30:00,0.0,7.0 -19246,2023-05-14 15:40:00,0.0,7.0 -19247,2023-05-14 15:50:00,0.0,7.0 -19248,2023-05-14 16:00:00,0.0,7.0 -19249,2023-05-14 16:10:00,0.0,7.0 -19250,2023-05-14 16:20:00,0.0,7.0 -19251,2023-05-14 16:30:00,0.0,7.0 -19252,2023-05-14 16:40:00,0.0,7.0 -19253,2023-05-14 16:50:00,0.0,7.0 -19254,2023-05-14 17:00:00,0.0,5.0 -19255,2023-05-14 17:10:00,0.0,5.0 -19256,2023-05-14 17:20:00,0.0,5.0 -19257,2023-05-14 17:30:00,0.0,5.0 -19258,2023-05-14 17:40:00,0.0,5.0 -19259,2023-05-14 17:50:00,0.0,5.0 -19260,2023-05-14 18:00:00,0.0,5.0 -19261,2023-05-14 18:10:00,0.0,5.0 -19262,2023-05-14 18:20:00,0.0,5.0 -19263,2023-05-14 18:30:00,0.0,5.0 -19264,2023-05-14 18:40:00,0.0,5.0 -19265,2023-05-14 18:50:00,0.0,5.0 -19266,2023-05-14 19:00:00,0.0,5.0 -19267,2023-05-14 19:10:00,0.0,5.0 -19268,2023-05-14 19:20:00,0.0,5.0 -19269,2023-05-14 19:30:00,0.0,5.0 -19270,2023-05-14 19:40:00,0.0,5.0 -19271,2023-05-14 19:50:00,0.0,5.0 -19290,2023-05-14 23:00:00,0.0,3.0 -19291,2023-05-14 23:10:00,0.0,3.0 -19292,2023-05-14 23:20:00,0.0,3.0 -19293,2023-05-14 23:30:00,0.0,3.0 -19294,2023-05-14 23:40:00,0.0,3.0 -19295,2023-05-14 23:50:00,0.0,3.0 -19332,2023-05-15 06:00:00,0.0,5.0 -19333,2023-05-15 06:10:00,0.0,5.0 -19334,2023-05-15 06:20:00,0.0,5.0 -19335,2023-05-15 06:30:00,0.0,5.0 -19336,2023-05-15 06:40:00,0.0,5.0 -19337,2023-05-15 06:50:00,0.0,5.0 -19338,2023-05-15 07:00:00,0.0,5.0 -19339,2023-05-15 07:10:00,0.0,5.0 -19340,2023-05-15 07:20:00,0.0,5.0 -19341,2023-05-15 07:30:00,0.0,5.0 -19342,2023-05-15 07:40:00,0.0,5.0 -19343,2023-05-15 07:50:00,0.0,5.0 -19350,2023-05-15 09:00:00,0.0,5.0 -19351,2023-05-15 09:10:00,0.0,5.0 -19352,2023-05-15 09:20:00,0.0,5.0 -19353,2023-05-15 09:30:00,0.0,5.0 -19354,2023-05-15 09:40:00,0.0,5.0 -19355,2023-05-15 09:50:00,0.0,5.0 -19380,2023-05-15 14:00:00,0.0,7.0 -19381,2023-05-15 14:10:00,0.0,7.0 -19382,2023-05-15 14:20:00,0.0,7.0 -19383,2023-05-15 14:30:00,0.0,7.0 -19384,2023-05-15 14:40:00,0.0,7.0 -19385,2023-05-15 14:50:00,0.0,7.0 -19410,2023-05-15 19:00:00,0.0,5.0 -19411,2023-05-15 19:10:00,0.0,5.0 -19412,2023-05-15 19:20:00,0.0,5.0 -19413,2023-05-15 19:30:00,0.0,5.0 -19414,2023-05-15 19:40:00,0.0,5.0 -19415,2023-05-15 19:50:00,0.0,5.0 -19416,2023-05-15 20:00:00,0.0,6.0 -19417,2023-05-15 20:10:00,0.0,6.0 -19418,2023-05-15 20:20:00,0.0,6.0 -19419,2023-05-15 20:30:00,0.0,6.0 -19420,2023-05-15 20:40:00,0.0,6.0 -19421,2023-05-15 20:50:00,0.0,6.0 -19434,2023-05-15 23:00:00,0.0,3.0 -19435,2023-05-15 23:10:00,0.0,3.0 -19436,2023-05-15 23:20:00,0.0,3.0 -19437,2023-05-15 23:30:00,0.0,3.0 -19438,2023-05-15 23:40:00,0.0,3.0 -19439,2023-05-15 23:50:00,0.0,3.0 -19440,2023-05-16 00:00:00,0.0,3.0 -19441,2023-05-16 00:10:00,0.0,3.0 -19442,2023-05-16 00:20:00,0.0,3.0 -19443,2023-05-16 00:30:00,0.0,3.0 -19444,2023-05-16 00:40:00,0.0,3.0 -19445,2023-05-16 00:50:00,0.0,3.0 -19452,2023-05-16 02:00:00,0.0,3.0 -19453,2023-05-16 02:10:00,0.0,3.0 -19454,2023-05-16 02:20:00,0.0,3.0 -19455,2023-05-16 02:30:00,0.0,3.0 -19456,2023-05-16 02:40:00,0.0,3.0 -19457,2023-05-16 02:50:00,0.0,3.0 -19464,2023-05-16 04:00:00,0.0,3.0 -19465,2023-05-16 04:10:00,0.0,3.0 -19466,2023-05-16 04:20:00,0.0,3.0 -19467,2023-05-16 04:30:00,0.0,3.0 -19468,2023-05-16 04:40:00,0.0,3.0 -19469,2023-05-16 04:50:00,0.0,3.0 -19470,2023-05-16 05:00:00,0.0,5.0 -19471,2023-05-16 05:10:00,0.0,5.0 -19472,2023-05-16 05:20:00,0.0,5.0 -19473,2023-05-16 05:30:00,0.0,5.0 -19474,2023-05-16 05:40:00,0.0,5.0 -19475,2023-05-16 05:50:00,0.0,5.0 -19488,2023-05-16 08:00:00,0.0,5.0 -19489,2023-05-16 08:10:00,0.0,5.0 -19490,2023-05-16 08:20:00,0.0,5.0 -19491,2023-05-16 08:30:00,0.0,5.0 -19492,2023-05-16 08:40:00,0.0,5.0 -19493,2023-05-16 08:50:00,0.0,5.0 -19494,2023-05-16 09:00:00,0.0,5.0 -19495,2023-05-16 09:10:00,0.0,5.0 -19496,2023-05-16 09:20:00,0.0,5.0 -19497,2023-05-16 09:30:00,0.0,5.0 -19498,2023-05-16 09:40:00,0.0,5.0 -19499,2023-05-16 09:50:00,0.0,5.0 -19500,2023-05-16 10:00:00,0.0,5.0 -19501,2023-05-16 10:10:00,0.0,5.0 -19502,2023-05-16 10:20:00,0.0,5.0 -19503,2023-05-16 10:30:00,0.0,5.0 -19504,2023-05-16 10:40:00,0.0,5.0 -19505,2023-05-16 10:50:00,0.0,5.0 -19506,2023-05-16 11:00:00,0.0,5.0 -19507,2023-05-16 11:10:00,0.0,5.0 -19508,2023-05-16 11:20:00,0.0,5.0 -19509,2023-05-16 11:30:00,0.0,5.0 -19510,2023-05-16 11:40:00,0.0,5.0 -19511,2023-05-16 11:50:00,0.0,5.0 -19512,2023-05-16 12:00:00,0.0,6.0 -19513,2023-05-16 12:10:00,0.0,6.0 -19514,2023-05-16 12:20:00,0.0,6.0 -19515,2023-05-16 12:30:00,0.0,6.0 -19516,2023-05-16 12:40:00,0.0,6.0 -19517,2023-05-16 12:50:00,0.0,6.0 -19524,2023-05-16 14:00:00,0.0,5.0 -19525,2023-05-16 14:10:00,0.0,5.0 -19526,2023-05-16 14:20:00,0.0,5.0 -19527,2023-05-16 14:30:00,0.0,5.0 -19528,2023-05-16 14:40:00,0.0,5.0 -19529,2023-05-16 14:50:00,0.0,5.0 -19536,2023-05-16 16:00:00,0.0,5.0 -19537,2023-05-16 16:10:00,0.0,5.0 -19538,2023-05-16 16:20:00,0.0,5.0 -19539,2023-05-16 16:30:00,0.0,5.0 -19540,2023-05-16 16:40:00,0.0,5.0 -19541,2023-05-16 16:50:00,0.0,5.0 -19560,2023-05-16 20:00:00,0.0,5.0 -19561,2023-05-16 20:10:00,0.0,5.0 -19562,2023-05-16 20:20:00,0.0,5.0 -19563,2023-05-16 20:30:00,0.0,5.0 -19564,2023-05-16 20:40:00,0.0,5.0 -19565,2023-05-16 20:50:00,0.0,5.0 -19590,2023-05-17 01:00:00,0.0,3.0 -19591,2023-05-17 01:10:00,0.0,3.0 -19592,2023-05-17 01:20:00,0.0,3.0 -19593,2023-05-17 01:30:00,0.0,3.0 -19594,2023-05-17 01:40:00,0.0,3.0 -19595,2023-05-17 01:50:00,0.0,3.0 -19596,2023-05-17 02:00:00,0.0,3.0 -19597,2023-05-17 02:10:00,0.0,3.0 -19598,2023-05-17 02:20:00,0.0,3.0 -19599,2023-05-17 02:30:00,0.0,3.0 -19600,2023-05-17 02:40:00,0.0,3.0 -19601,2023-05-17 02:50:00,0.0,3.0 -19602,2023-05-17 03:00:00,0.0,3.0 -19603,2023-05-17 03:10:00,0.0,3.0 -19604,2023-05-17 03:20:00,0.0,3.0 -19605,2023-05-17 03:30:00,0.0,3.0 -19606,2023-05-17 03:40:00,0.0,3.0 -19607,2023-05-17 03:50:00,0.0,3.0 -19614,2023-05-17 05:00:00,0.0,5.0 -19615,2023-05-17 05:10:00,0.0,5.0 -19616,2023-05-17 05:20:00,0.0,5.0 -19617,2023-05-17 05:30:00,0.0,5.0 -19618,2023-05-17 05:40:00,0.0,5.0 -19619,2023-05-17 05:50:00,0.0,5.0 -19620,2023-05-17 06:00:00,0.0,5.0 -19621,2023-05-17 06:10:00,0.0,5.0 -19622,2023-05-17 06:20:00,0.0,5.0 -19623,2023-05-17 06:30:00,0.0,5.0 -19624,2023-05-17 06:40:00,0.0,5.0 -19625,2023-05-17 06:50:00,0.0,5.0 -19638,2023-05-17 09:00:00,0.0,5.0 -19639,2023-05-17 09:10:00,0.0,5.0 -19640,2023-05-17 09:20:00,0.0,5.0 -19641,2023-05-17 09:30:00,0.0,5.0 -19642,2023-05-17 09:40:00,0.0,5.0 -19643,2023-05-17 09:50:00,0.0,5.0 -19644,2023-05-17 10:00:00,0.0,5.0 -19645,2023-05-17 10:10:00,0.0,5.0 -19646,2023-05-17 10:20:00,0.0,5.0 -19647,2023-05-17 10:30:00,0.0,5.0 -19648,2023-05-17 10:40:00,0.0,5.0 -19649,2023-05-17 10:50:00,0.0,5.0 -19668,2023-05-17 14:00:00,0.0,5.0 -19669,2023-05-17 14:10:00,0.0,5.0 -19670,2023-05-17 14:20:00,0.0,5.0 -19671,2023-05-17 14:30:00,0.0,5.0 -19672,2023-05-17 14:40:00,0.0,5.0 -19673,2023-05-17 14:50:00,0.0,5.0 -19674,2023-05-17 15:00:00,0.0,5.0 -19675,2023-05-17 15:10:00,0.0,5.0 -19676,2023-05-17 15:20:00,0.0,5.0 -19677,2023-05-17 15:30:00,0.0,5.0 -19678,2023-05-17 15:40:00,0.0,5.0 -19679,2023-05-17 15:50:00,0.0,5.0 -19680,2023-05-17 16:00:00,0.0,5.0 -19681,2023-05-17 16:10:00,0.0,5.0 -19682,2023-05-17 16:20:00,0.0,5.0 -19683,2023-05-17 16:30:00,0.0,5.0 -19684,2023-05-17 16:40:00,0.0,5.0 -19685,2023-05-17 16:50:00,0.0,5.0 -19692,2023-05-17 18:00:00,0.0,5.0 -19693,2023-05-17 18:10:00,0.0,5.0 -19694,2023-05-17 18:20:00,0.0,5.0 -19695,2023-05-17 18:30:00,0.0,5.0 -19696,2023-05-17 18:40:00,0.0,5.0 -19697,2023-05-17 18:50:00,0.0,5.0 -19698,2023-05-17 19:00:00,0.0,3.0 -19699,2023-05-17 19:10:00,0.0,3.0 -19700,2023-05-17 19:20:00,0.0,3.0 -19701,2023-05-17 19:30:00,0.0,3.0 -19702,2023-05-17 19:40:00,0.0,3.0 -19703,2023-05-17 19:50:00,0.0,3.0 -19710,2023-05-17 21:00:00,0.0,3.0 -19711,2023-05-17 21:10:00,0.0,3.0 -19712,2023-05-17 21:20:00,0.0,3.0 -19713,2023-05-17 21:30:00,0.0,3.0 -19714,2023-05-17 21:40:00,0.0,3.0 -19715,2023-05-17 21:50:00,0.0,3.0 -19716,2023-05-17 22:00:00,0.0,3.0 -19717,2023-05-17 22:10:00,0.0,3.0 -19718,2023-05-17 22:20:00,0.0,3.0 -19719,2023-05-17 22:30:00,0.0,3.0 -19720,2023-05-17 22:40:00,0.0,3.0 -19721,2023-05-17 22:50:00,0.0,3.0 -19722,2023-05-17 23:00:00,0.0,3.0 -19723,2023-05-17 23:10:00,0.0,3.0 -19724,2023-05-17 23:20:00,0.0,3.0 -19725,2023-05-17 23:30:00,0.0,3.0 -19726,2023-05-17 23:40:00,0.0,3.0 -19727,2023-05-17 23:50:00,0.0,3.0 -19728,2023-05-18 00:00:00,0.0,3.0 -19729,2023-05-18 00:10:00,0.0,3.0 -19730,2023-05-18 00:20:00,0.0,3.0 -19731,2023-05-18 00:30:00,0.0,3.0 -19732,2023-05-18 00:40:00,0.0,3.0 -19733,2023-05-18 00:50:00,0.0,3.0 -19734,2023-05-18 01:00:00,0.0,3.0 -19735,2023-05-18 01:10:00,0.0,3.0 -19736,2023-05-18 01:20:00,0.0,3.0 -19737,2023-05-18 01:30:00,0.0,3.0 -19738,2023-05-18 01:40:00,0.0,3.0 -19739,2023-05-18 01:50:00,0.0,3.0 -19740,2023-05-18 02:00:00,0.0,3.0 -19741,2023-05-18 02:10:00,0.0,3.0 -19742,2023-05-18 02:20:00,0.0,3.0 -19743,2023-05-18 02:30:00,0.0,3.0 -19744,2023-05-18 02:40:00,0.0,3.0 -19745,2023-05-18 02:50:00,0.0,3.0 -19752,2023-05-18 04:00:00,0.0,3.0 -19753,2023-05-18 04:10:00,0.0,3.0 -19754,2023-05-18 04:20:00,0.0,3.0 -19755,2023-05-18 04:30:00,0.0,3.0 -19756,2023-05-18 04:40:00,0.0,3.0 -19757,2023-05-18 04:50:00,0.0,3.0 -19758,2023-05-18 05:00:00,0.0,3.0 -19759,2023-05-18 05:10:00,0.0,3.0 -19760,2023-05-18 05:20:00,0.0,3.0 -19761,2023-05-18 05:30:00,0.0,3.0 -19762,2023-05-18 05:40:00,0.0,3.0 -19763,2023-05-18 05:50:00,0.0,3.0 -19764,2023-05-18 06:00:00,0.0,3.0 -19765,2023-05-18 06:10:00,0.0,3.0 -19766,2023-05-18 06:20:00,0.0,3.0 -19767,2023-05-18 06:30:00,0.0,3.0 -19768,2023-05-18 06:40:00,0.0,3.0 -19769,2023-05-18 06:50:00,0.0,3.0 -19770,2023-05-18 07:00:00,0.0,5.0 -19771,2023-05-18 07:10:00,0.0,5.0 -19772,2023-05-18 07:20:00,0.0,5.0 -19773,2023-05-18 07:30:00,0.0,5.0 -19774,2023-05-18 07:40:00,0.0,5.0 -19775,2023-05-18 07:50:00,0.0,5.0 -19800,2023-05-18 12:00:00,0.0,5.0 -19801,2023-05-18 12:10:00,0.0,5.0 -19802,2023-05-18 12:20:00,0.0,5.0 -19803,2023-05-18 12:30:00,0.0,5.0 -19804,2023-05-18 12:40:00,0.0,5.0 -19805,2023-05-18 12:50:00,0.0,5.0 -19818,2023-05-18 15:00:00,0.0,5.0 -19819,2023-05-18 15:10:00,0.0,5.0 -19820,2023-05-18 15:20:00,0.0,5.0 -19821,2023-05-18 15:30:00,0.0,5.0 -19822,2023-05-18 15:40:00,0.0,5.0 -19823,2023-05-18 15:50:00,0.0,5.0 -19830,2023-05-18 17:00:00,0.0,5.0 -19831,2023-05-18 17:10:00,0.0,5.0 -19832,2023-05-18 17:20:00,0.0,5.0 -19833,2023-05-18 17:30:00,0.0,5.0 -19834,2023-05-18 17:40:00,0.0,5.0 -19835,2023-05-18 17:50:00,0.0,5.0 -19842,2023-05-18 19:00:00,0.0,3.0 -19843,2023-05-18 19:10:00,0.0,3.0 -19844,2023-05-18 19:20:00,0.0,3.0 -19845,2023-05-18 19:30:00,0.0,3.0 -19846,2023-05-18 19:40:00,0.0,3.0 -19847,2023-05-18 19:50:00,0.0,3.0 -19854,2023-05-18 21:00:00,0.0,3.0 -19855,2023-05-18 21:10:00,0.0,3.0 -19856,2023-05-18 21:20:00,0.0,3.0 -19857,2023-05-18 21:30:00,0.0,3.0 -19858,2023-05-18 21:40:00,0.0,3.0 -19859,2023-05-18 21:50:00,0.0,3.0 -19860,2023-05-18 22:00:00,0.0,3.0 -19861,2023-05-18 22:10:00,0.0,3.0 -19862,2023-05-18 22:20:00,0.0,3.0 -19863,2023-05-18 22:30:00,0.0,3.0 -19864,2023-05-18 22:40:00,0.0,3.0 -19865,2023-05-18 22:50:00,0.0,3.0 -19872,2023-05-19 00:00:00,0.0,3.0 -19873,2023-05-19 00:10:00,0.0,3.0 -19874,2023-05-19 00:20:00,0.0,3.0 -19875,2023-05-19 00:30:00,0.0,3.0 -19876,2023-05-19 00:40:00,0.0,3.0 -19877,2023-05-19 00:50:00,0.0,3.0 -19878,2023-05-19 01:00:00,0.0,3.0 -19879,2023-05-19 01:10:00,0.0,3.0 -19880,2023-05-19 01:20:00,0.0,3.0 -19881,2023-05-19 01:30:00,0.0,3.0 -19882,2023-05-19 01:40:00,0.0,3.0 -19883,2023-05-19 01:50:00,0.0,3.0 -19890,2023-05-19 03:00:00,0.0,3.0 -19891,2023-05-19 03:10:00,0.0,3.0 -19892,2023-05-19 03:20:00,0.0,3.0 -19893,2023-05-19 03:30:00,0.0,3.0 -19894,2023-05-19 03:40:00,0.0,3.0 -19895,2023-05-19 03:50:00,0.0,3.0 -19926,2023-05-19 09:00:00,0.0,7.0 -19927,2023-05-19 09:10:00,0.0,7.0 -19928,2023-05-19 09:20:00,0.0,7.0 -19929,2023-05-19 09:30:00,0.0,7.0 -19930,2023-05-19 09:40:00,0.0,7.0 -19931,2023-05-19 09:50:00,0.0,7.0 -19932,2023-05-19 10:00:00,0.0,7.0 -19933,2023-05-19 10:10:00,0.0,7.0 -19934,2023-05-19 10:20:00,0.0,7.0 -19935,2023-05-19 10:30:00,0.0,7.0 -19936,2023-05-19 10:40:00,0.0,7.0 -19937,2023-05-19 10:50:00,0.0,7.0 -19944,2023-05-19 12:00:00,0.0,7.0 -19945,2023-05-19 12:10:00,0.0,7.0 -19946,2023-05-19 12:20:00,0.0,7.0 -19947,2023-05-19 12:30:00,0.0,7.0 -19948,2023-05-19 12:40:00,0.0,7.0 -19949,2023-05-19 12:50:00,0.0,7.0 -19950,2023-05-19 13:00:00,0.0,5.0 -19951,2023-05-19 13:10:00,0.0,5.0 -19952,2023-05-19 13:20:00,0.0,5.0 -19953,2023-05-19 13:30:00,0.0,5.0 -19954,2023-05-19 13:40:00,0.0,5.0 -19955,2023-05-19 13:50:00,0.0,5.0 -19956,2023-05-19 14:00:00,0.0,7.0 -19957,2023-05-19 14:10:00,0.0,7.0 -19958,2023-05-19 14:20:00,0.0,7.0 -19959,2023-05-19 14:30:00,0.0,7.0 -19960,2023-05-19 14:40:00,0.0,7.0 -19961,2023-05-19 14:50:00,0.0,7.0 -19968,2023-05-19 16:00:00,0.0,7.0 -19969,2023-05-19 16:10:00,0.0,7.0 -19970,2023-05-19 16:20:00,0.0,7.0 -19971,2023-05-19 16:30:00,0.0,7.0 -19972,2023-05-19 16:40:00,0.0,7.0 -19973,2023-05-19 16:50:00,0.0,7.0 -19974,2023-05-19 17:00:00,0.0,7.0 -19975,2023-05-19 17:10:00,0.0,7.0 -19976,2023-05-19 17:20:00,0.0,7.0 -19977,2023-05-19 17:30:00,0.0,7.0 -19978,2023-05-19 17:40:00,0.0,7.0 -19979,2023-05-19 17:50:00,0.0,7.0 -19980,2023-05-19 18:00:00,0.0,5.0 -19981,2023-05-19 18:10:00,0.0,5.0 -19982,2023-05-19 18:20:00,0.0,5.0 -19983,2023-05-19 18:30:00,0.0,5.0 -19984,2023-05-19 18:40:00,0.0,5.0 -19985,2023-05-19 18:50:00,0.0,5.0 -19986,2023-05-19 19:00:00,0.0,5.0 -19987,2023-05-19 19:10:00,0.0,5.0 -19988,2023-05-19 19:20:00,0.0,5.0 -19989,2023-05-19 19:30:00,0.0,5.0 -19990,2023-05-19 19:40:00,0.0,5.0 -19991,2023-05-19 19:50:00,0.0,5.0 -20004,2023-05-19 22:00:00,0.0,5.0 -20005,2023-05-19 22:10:00,0.0,5.0 -20006,2023-05-19 22:20:00,0.0,5.0 -20007,2023-05-19 22:30:00,0.0,5.0 -20008,2023-05-19 22:40:00,0.0,5.0 -20009,2023-05-19 22:50:00,0.0,5.0 -20016,2023-05-20 00:00:00,0.0,5.0 -20017,2023-05-20 00:10:00,0.0,5.0 -20018,2023-05-20 00:20:00,0.0,5.0 -20019,2023-05-20 00:30:00,0.0,5.0 -20020,2023-05-20 00:40:00,0.0,5.0 -20021,2023-05-20 00:50:00,0.0,5.0 -20022,2023-05-20 01:00:00,0.0,5.0 -20023,2023-05-20 01:10:00,0.0,5.0 -20024,2023-05-20 01:20:00,0.0,5.0 -20025,2023-05-20 01:30:00,0.0,5.0 -20026,2023-05-20 01:40:00,0.0,5.0 -20027,2023-05-20 01:50:00,0.0,5.0 -20040,2023-05-20 04:00:00,0.0,5.0 -20041,2023-05-20 04:10:00,0.0,5.0 -20042,2023-05-20 04:20:00,0.0,5.0 -20043,2023-05-20 04:30:00,0.0,5.0 -20044,2023-05-20 04:40:00,0.0,5.0 -20045,2023-05-20 04:50:00,0.0,5.0 -20046,2023-05-20 05:00:00,0.0,5.0 -20047,2023-05-20 05:10:00,0.0,5.0 -20048,2023-05-20 05:20:00,0.0,5.0 -20049,2023-05-20 05:30:00,0.0,5.0 -20050,2023-05-20 05:40:00,0.0,5.0 -20051,2023-05-20 05:50:00,0.0,5.0 -20088,2023-05-20 12:00:00,0.0,9.0 -20089,2023-05-20 12:10:00,0.0,9.0 -20090,2023-05-20 12:20:00,0.0,9.0 -20091,2023-05-20 12:30:00,0.0,9.0 -20092,2023-05-20 12:40:00,0.0,9.0 -20093,2023-05-20 12:50:00,0.0,9.0 -20112,2023-05-20 16:00:00,0.0,7.0 -20113,2023-05-20 16:10:00,0.0,7.0 -20114,2023-05-20 16:20:00,0.0,7.0 -20115,2023-05-20 16:30:00,0.0,7.0 -20116,2023-05-20 16:40:00,0.0,7.0 -20117,2023-05-20 16:50:00,0.0,7.0 -20118,2023-05-20 17:00:00,0.0,7.0 -20119,2023-05-20 17:10:00,0.0,7.0 -20120,2023-05-20 17:20:00,0.0,7.0 -20121,2023-05-20 17:30:00,0.0,7.0 -20122,2023-05-20 17:40:00,0.0,7.0 -20123,2023-05-20 17:50:00,0.0,7.0 -20124,2023-05-20 18:00:00,0.0,7.0 -20125,2023-05-20 18:10:00,0.0,7.0 -20126,2023-05-20 18:20:00,0.0,7.0 -20127,2023-05-20 18:30:00,0.0,7.0 -20128,2023-05-20 18:40:00,0.0,7.0 -20129,2023-05-20 18:50:00,0.0,7.0 -20142,2023-05-20 21:00:00,0.0,5.0 -20143,2023-05-20 21:10:00,0.0,5.0 -20144,2023-05-20 21:20:00,0.0,5.0 -20145,2023-05-20 21:30:00,0.0,5.0 -20146,2023-05-20 21:40:00,0.0,5.0 -20147,2023-05-20 21:50:00,0.0,5.0 -20148,2023-05-20 22:00:00,0.0,5.0 -20149,2023-05-20 22:10:00,0.0,5.0 -20150,2023-05-20 22:20:00,0.0,5.0 -20151,2023-05-20 22:30:00,0.0,5.0 -20152,2023-05-20 22:40:00,0.0,5.0 -20153,2023-05-20 22:50:00,0.0,5.0 -20154,2023-05-20 23:00:00,0.0,5.0 -20155,2023-05-20 23:10:00,0.0,5.0 -20156,2023-05-20 23:20:00,0.0,5.0 -20157,2023-05-20 23:30:00,0.0,5.0 -20158,2023-05-20 23:40:00,0.0,5.0 -20159,2023-05-20 23:50:00,0.0,5.0 -20166,2023-05-21 01:00:00,0.0,5.0 -20167,2023-05-21 01:10:00,0.0,5.0 -20168,2023-05-21 01:20:00,0.0,5.0 -20169,2023-05-21 01:30:00,0.0,5.0 -20170,2023-05-21 01:40:00,0.0,5.0 -20171,2023-05-21 01:50:00,0.0,5.0 -20184,2023-05-21 04:00:00,0.0,5.0 -20185,2023-05-21 04:10:00,0.0,5.0 -20186,2023-05-21 04:20:00,0.0,5.0 -20187,2023-05-21 04:30:00,0.0,5.0 -20188,2023-05-21 04:40:00,0.0,5.0 -20189,2023-05-21 04:50:00,0.0,5.0 -20202,2023-05-21 07:00:00,0.0,7.0 -20203,2023-05-21 07:10:00,0.0,7.0 -20204,2023-05-21 07:20:00,0.0,7.0 -20205,2023-05-21 07:30:00,0.0,7.0 -20206,2023-05-21 07:40:00,0.0,7.0 -20207,2023-05-21 07:50:00,0.0,7.0 -20208,2023-05-21 08:00:00,0.0,7.0 -20209,2023-05-21 08:10:00,0.0,7.0 -20210,2023-05-21 08:20:00,0.0,7.0 -20211,2023-05-21 08:30:00,0.0,7.0 -20212,2023-05-21 08:40:00,0.0,7.0 -20213,2023-05-21 08:50:00,0.0,7.0 -20238,2023-05-21 13:00:00,0.0,7.0 -20239,2023-05-21 13:10:00,0.0,7.0 -20240,2023-05-21 13:20:00,0.0,7.0 -20241,2023-05-21 13:30:00,0.0,7.0 -20242,2023-05-21 13:40:00,0.0,7.0 -20243,2023-05-21 13:50:00,0.0,7.0 -20244,2023-05-21 14:00:00,0.0,9.0 -20245,2023-05-21 14:10:00,0.0,9.0 -20246,2023-05-21 14:20:00,0.0,9.0 -20247,2023-05-21 14:30:00,0.0,9.0 -20248,2023-05-21 14:40:00,0.0,9.0 -20249,2023-05-21 14:50:00,0.0,9.0 -20250,2023-05-21 15:00:00,0.0,7.0 -20251,2023-05-21 15:10:00,0.0,7.0 -20252,2023-05-21 15:20:00,0.0,7.0 -20253,2023-05-21 15:30:00,0.0,7.0 -20254,2023-05-21 15:40:00,0.0,7.0 -20255,2023-05-21 15:50:00,0.0,7.0 -20256,2023-05-21 16:00:00,0.0,9.0 -20257,2023-05-21 16:10:00,0.0,9.0 -20258,2023-05-21 16:20:00,0.0,9.0 -20259,2023-05-21 16:30:00,0.0,9.0 -20260,2023-05-21 16:40:00,0.0,9.0 -20261,2023-05-21 16:50:00,0.0,9.0 -20268,2023-05-21 18:00:00,0.0,7.0 -20269,2023-05-21 18:10:00,0.0,7.0 -20270,2023-05-21 18:20:00,0.0,7.0 -20271,2023-05-21 18:30:00,0.0,7.0 -20272,2023-05-21 18:40:00,0.0,7.0 -20273,2023-05-21 18:50:00,0.0,7.0 -20274,2023-05-21 19:00:00,0.0,7.0 -20275,2023-05-21 19:10:00,0.0,7.0 -20276,2023-05-21 19:20:00,0.0,7.0 -20277,2023-05-21 19:30:00,0.0,7.0 -20278,2023-05-21 19:40:00,0.0,7.0 -20279,2023-05-21 19:50:00,0.0,7.0 -20280,2023-05-21 20:00:00,0.0,7.0 -20281,2023-05-21 20:10:00,0.0,7.0 -20282,2023-05-21 20:20:00,0.0,7.0 -20283,2023-05-21 20:30:00,0.0,7.0 -20284,2023-05-21 20:40:00,0.0,7.0 -20285,2023-05-21 20:50:00,0.0,7.0 -20286,2023-05-21 21:00:00,0.0,7.0 -20287,2023-05-21 21:10:00,0.0,7.0 -20288,2023-05-21 21:20:00,0.0,7.0 -20289,2023-05-21 21:30:00,0.0,7.0 -20290,2023-05-21 21:40:00,0.0,7.0 -20291,2023-05-21 21:50:00,0.0,7.0 -20310,2023-05-22 01:00:00,0.0,8.0 -20311,2023-05-22 01:10:00,0.0,8.0 -20312,2023-05-22 01:20:00,0.0,8.0 -20313,2023-05-22 01:30:00,0.0,8.0 -20314,2023-05-22 01:40:00,0.0,8.0 -20315,2023-05-22 01:50:00,0.0,8.0 -20322,2023-05-22 03:00:00,0.0,5.0 -20323,2023-05-22 03:10:00,0.0,5.0 -20324,2023-05-22 03:20:00,0.0,5.0 -20325,2023-05-22 03:30:00,0.0,5.0 -20326,2023-05-22 03:40:00,0.0,5.0 -20327,2023-05-22 03:50:00,0.0,5.0 -20328,2023-05-22 04:00:00,0.0,7.0 -20329,2023-05-22 04:10:00,0.0,7.0 -20330,2023-05-22 04:20:00,0.0,7.0 -20331,2023-05-22 04:30:00,0.0,7.0 -20332,2023-05-22 04:40:00,0.0,7.0 -20333,2023-05-22 04:50:00,0.0,7.0 -20340,2023-05-22 06:00:00,0.0,6.0 -20341,2023-05-22 06:10:00,0.0,6.0 -20342,2023-05-22 06:20:00,0.0,6.0 -20343,2023-05-22 06:30:00,0.0,6.0 -20344,2023-05-22 06:40:00,0.0,6.0 -20345,2023-05-22 06:50:00,0.0,6.0 -20352,2023-05-22 08:00:00,0.0,9.0 -20353,2023-05-22 08:10:00,0.0,9.0 -20354,2023-05-22 08:20:00,0.0,9.0 -20355,2023-05-22 08:30:00,0.0,9.0 -20356,2023-05-22 08:40:00,0.0,9.0 -20357,2023-05-22 08:50:00,0.0,9.0 -20358,2023-05-22 09:00:00,0.0,7.0 -20359,2023-05-22 09:10:00,0.0,7.0 -20360,2023-05-22 09:20:00,0.0,7.0 -20361,2023-05-22 09:30:00,0.0,7.0 -20362,2023-05-22 09:40:00,0.0,7.0 -20363,2023-05-22 09:50:00,0.0,7.0 -20376,2023-05-22 12:00:00,0.0,9.0 -20377,2023-05-22 12:10:00,0.0,9.0 -20378,2023-05-22 12:20:00,0.0,9.0 -20379,2023-05-22 12:30:00,0.0,9.0 -20380,2023-05-22 12:40:00,0.0,9.0 -20381,2023-05-22 12:50:00,0.0,9.0 -20388,2023-05-22 14:00:00,0.0,7.0 -20389,2023-05-22 14:10:00,0.0,7.0 -20390,2023-05-22 14:20:00,0.0,7.0 -20391,2023-05-22 14:30:00,0.0,7.0 -20392,2023-05-22 14:40:00,0.0,7.0 -20393,2023-05-22 14:50:00,0.0,7.0 -20394,2023-05-22 15:00:00,0.0,7.0 -20395,2023-05-22 15:10:00,0.0,7.0 -20396,2023-05-22 15:20:00,0.0,7.0 -20397,2023-05-22 15:30:00,0.0,7.0 -20398,2023-05-22 15:40:00,0.0,7.0 -20399,2023-05-22 15:50:00,0.0,7.0 -20400,2023-05-22 16:00:00,0.0,9.0 -20401,2023-05-22 16:10:00,0.0,9.0 -20402,2023-05-22 16:20:00,0.0,9.0 -20403,2023-05-22 16:30:00,0.0,9.0 -20404,2023-05-22 16:40:00,0.0,9.0 -20405,2023-05-22 16:50:00,0.0,9.0 -20412,2023-05-22 18:00:00,0.0,5.0 -20413,2023-05-22 18:10:00,0.0,5.0 -20414,2023-05-22 18:20:00,0.0,5.0 -20415,2023-05-22 18:30:00,0.0,5.0 -20416,2023-05-22 18:40:00,0.0,5.0 -20417,2023-05-22 18:50:00,0.0,5.0 -20424,2023-05-22 20:00:00,0.0,5.0 -20425,2023-05-22 20:10:00,0.0,5.0 -20426,2023-05-22 20:20:00,0.0,5.0 -20427,2023-05-22 20:30:00,0.0,5.0 -20428,2023-05-22 20:40:00,0.0,5.0 -20429,2023-05-22 20:50:00,0.0,5.0 -20448,2023-05-23 00:00:00,0.0,5.0 -20449,2023-05-23 00:10:00,0.0,5.0 -20450,2023-05-23 00:20:00,0.0,5.0 -20451,2023-05-23 00:30:00,0.0,5.0 -20452,2023-05-23 00:40:00,0.0,5.0 -20453,2023-05-23 00:50:00,0.0,5.0 -20454,2023-05-23 01:00:00,0.0,5.0 -20455,2023-05-23 01:10:00,0.0,5.0 -20456,2023-05-23 01:20:00,0.0,5.0 -20457,2023-05-23 01:30:00,0.0,5.0 -20458,2023-05-23 01:40:00,0.0,5.0 -20459,2023-05-23 01:50:00,0.0,5.0 -20460,2023-05-23 02:00:00,0.0,6.0 -20461,2023-05-23 02:10:00,0.0,6.0 -20462,2023-05-23 02:20:00,0.0,6.0 -20463,2023-05-23 02:30:00,0.0,6.0 -20464,2023-05-23 02:40:00,0.0,6.0 -20465,2023-05-23 02:50:00,0.0,6.0 -20466,2023-05-23 03:00:00,0.0,5.0 -20467,2023-05-23 03:10:00,0.0,5.0 -20468,2023-05-23 03:20:00,0.0,5.0 -20469,2023-05-23 03:30:00,0.0,5.0 -20470,2023-05-23 03:40:00,0.0,5.0 -20471,2023-05-23 03:50:00,0.0,5.0 -20472,2023-05-23 04:00:00,0.0,5.0 -20473,2023-05-23 04:10:00,0.0,5.0 -20474,2023-05-23 04:20:00,0.0,5.0 -20475,2023-05-23 04:30:00,0.0,5.0 -20476,2023-05-23 04:40:00,0.0,5.0 -20477,2023-05-23 04:50:00,0.0,5.0 -20478,2023-05-23 05:00:00,0.0,5.0 -20479,2023-05-23 05:10:00,0.0,5.0 -20480,2023-05-23 05:20:00,0.0,5.0 -20481,2023-05-23 05:30:00,0.0,5.0 -20482,2023-05-23 05:40:00,0.0,5.0 -20483,2023-05-23 05:50:00,0.0,5.0 -20484,2023-05-23 06:00:00,0.0,5.0 -20485,2023-05-23 06:10:00,0.0,5.0 -20486,2023-05-23 06:20:00,0.0,5.0 -20487,2023-05-23 06:30:00,0.0,5.0 -20488,2023-05-23 06:40:00,0.0,5.0 -20489,2023-05-23 06:50:00,0.0,5.0 -20496,2023-05-23 08:00:00,0.0,5.0 -20497,2023-05-23 08:10:00,0.0,5.0 -20498,2023-05-23 08:20:00,0.0,5.0 -20499,2023-05-23 08:30:00,0.0,5.0 -20500,2023-05-23 08:40:00,0.0,5.0 -20501,2023-05-23 08:50:00,0.0,5.0 -20502,2023-05-23 09:00:00,0.0,5.0 -20503,2023-05-23 09:10:00,0.0,5.0 -20504,2023-05-23 09:20:00,0.0,5.0 -20505,2023-05-23 09:30:00,0.0,5.0 -20506,2023-05-23 09:40:00,0.0,5.0 -20507,2023-05-23 09:50:00,0.0,5.0 -20508,2023-05-23 10:00:00,0.0,5.0 -20509,2023-05-23 10:10:00,0.0,5.0 -20510,2023-05-23 10:20:00,0.0,5.0 -20511,2023-05-23 10:30:00,0.0,5.0 -20512,2023-05-23 10:40:00,0.0,5.0 -20513,2023-05-23 10:50:00,0.0,5.0 -20520,2023-05-23 12:00:00,0.0,5.0 -20521,2023-05-23 12:10:00,0.0,5.0 -20522,2023-05-23 12:20:00,0.0,5.0 -20523,2023-05-23 12:30:00,0.0,5.0 -20524,2023-05-23 12:40:00,0.0,5.0 -20525,2023-05-23 12:50:00,0.0,5.0 -20538,2023-05-23 15:00:00,0.0,5.0 -20539,2023-05-23 15:10:00,0.0,5.0 -20540,2023-05-23 15:20:00,0.0,5.0 -20541,2023-05-23 15:30:00,0.0,5.0 -20542,2023-05-23 15:40:00,0.0,5.0 -20543,2023-05-23 15:50:00,0.0,5.0 -20544,2023-05-23 16:00:00,0.0,5.0 -20545,2023-05-23 16:10:00,0.0,5.0 -20546,2023-05-23 16:20:00,0.0,5.0 -20547,2023-05-23 16:30:00,0.0,5.0 -20548,2023-05-23 16:40:00,0.0,5.0 -20549,2023-05-23 16:50:00,0.0,5.0 -20550,2023-05-23 17:00:00,0.0,5.0 -20551,2023-05-23 17:10:00,0.0,5.0 -20552,2023-05-23 17:20:00,0.0,5.0 -20553,2023-05-23 17:30:00,0.0,5.0 -20554,2023-05-23 17:40:00,0.0,5.0 -20555,2023-05-23 17:50:00,0.0,5.0 -20562,2023-05-23 19:00:00,0.0,5.0 -20563,2023-05-23 19:10:00,0.0,5.0 -20564,2023-05-23 19:20:00,0.0,5.0 -20565,2023-05-23 19:30:00,0.0,5.0 -20566,2023-05-23 19:40:00,0.0,5.0 -20567,2023-05-23 19:50:00,0.0,5.0 -20574,2023-05-23 21:00:00,0.0,3.0 -20575,2023-05-23 21:10:00,0.0,3.0 -20576,2023-05-23 21:20:00,0.0,3.0 -20577,2023-05-23 21:30:00,0.0,3.0 -20578,2023-05-23 21:40:00,0.0,3.0 -20579,2023-05-23 21:50:00,0.0,3.0 -20586,2023-05-23 23:00:00,0.0,3.0 -20587,2023-05-23 23:10:00,0.0,3.0 -20588,2023-05-23 23:20:00,0.0,3.0 -20589,2023-05-23 23:30:00,0.0,3.0 -20590,2023-05-23 23:40:00,0.0,3.0 -20591,2023-05-23 23:50:00,0.0,3.0 -20598,2023-05-24 01:00:00,0.0,3.0 -20599,2023-05-24 01:10:00,0.0,3.0 -20600,2023-05-24 01:20:00,0.0,3.0 -20601,2023-05-24 01:30:00,0.0,3.0 -20602,2023-05-24 01:40:00,0.0,3.0 -20603,2023-05-24 01:50:00,0.0,3.0 -20604,2023-05-24 02:00:00,0.0,3.0 -20605,2023-05-24 02:10:00,0.0,3.0 -20606,2023-05-24 02:20:00,0.0,3.0 -20607,2023-05-24 02:30:00,0.0,3.0 -20608,2023-05-24 02:40:00,0.0,3.0 -20609,2023-05-24 02:50:00,0.0,3.0 -20610,2023-05-24 03:00:00,0.0,3.0 -20611,2023-05-24 03:10:00,0.0,3.0 -20612,2023-05-24 03:20:00,0.0,3.0 -20613,2023-05-24 03:30:00,0.0,3.0 -20614,2023-05-24 03:40:00,0.0,3.0 -20615,2023-05-24 03:50:00,0.0,3.0 -20616,2023-05-24 04:00:00,0.0,3.0 -20617,2023-05-24 04:10:00,0.0,3.0 -20618,2023-05-24 04:20:00,0.0,3.0 -20619,2023-05-24 04:30:00,0.0,3.0 -20620,2023-05-24 04:40:00,0.0,3.0 -20621,2023-05-24 04:50:00,0.0,3.0 -20628,2023-05-24 06:00:00,0.0,5.0 -20629,2023-05-24 06:10:00,0.0,5.0 -20630,2023-05-24 06:20:00,0.0,5.0 -20631,2023-05-24 06:30:00,0.0,5.0 -20632,2023-05-24 06:40:00,0.0,5.0 -20633,2023-05-24 06:50:00,0.0,5.0 -20652,2023-05-24 10:00:00,0.0,5.0 -20653,2023-05-24 10:10:00,0.0,5.0 -20654,2023-05-24 10:20:00,0.0,5.0 -20655,2023-05-24 10:30:00,0.0,5.0 -20656,2023-05-24 10:40:00,0.0,5.0 -20657,2023-05-24 10:50:00,0.0,5.0 -20670,2023-05-24 13:00:00,0.0,7.0 -20671,2023-05-24 13:10:00,0.0,7.0 -20672,2023-05-24 13:20:00,0.0,7.0 -20673,2023-05-24 13:30:00,0.0,7.0 -20674,2023-05-24 13:40:00,0.0,7.0 -20675,2023-05-24 13:50:00,0.0,7.0 -20676,2023-05-24 14:00:00,0.0,7.0 -20677,2023-05-24 14:10:00,0.0,7.0 -20678,2023-05-24 14:20:00,0.0,7.0 -20679,2023-05-24 14:30:00,0.0,7.0 -20680,2023-05-24 14:40:00,0.0,7.0 -20681,2023-05-24 14:50:00,0.0,7.0 -20700,2023-05-24 18:00:00,0.0,5.0 -20701,2023-05-24 18:10:00,0.0,5.0 -20702,2023-05-24 18:20:00,0.0,5.0 -20703,2023-05-24 18:30:00,0.0,5.0 -20704,2023-05-24 18:40:00,0.0,5.0 -20705,2023-05-24 18:50:00,0.0,5.0 -20706,2023-05-24 19:00:00,0.0,5.0 -20707,2023-05-24 19:10:00,0.0,5.0 -20708,2023-05-24 19:20:00,0.0,5.0 -20709,2023-05-24 19:30:00,0.0,5.0 -20710,2023-05-24 19:40:00,0.0,5.0 -20711,2023-05-24 19:50:00,0.0,5.0 -20712,2023-05-24 20:00:00,0.0,5.0 -20713,2023-05-24 20:10:00,0.0,5.0 -20714,2023-05-24 20:20:00,0.0,5.0 -20715,2023-05-24 20:30:00,0.0,5.0 -20716,2023-05-24 20:40:00,0.0,5.0 -20717,2023-05-24 20:50:00,0.0,5.0 -20718,2023-05-24 21:00:00,0.0,5.0 -20719,2023-05-24 21:10:00,0.0,5.0 -20720,2023-05-24 21:20:00,0.0,5.0 -20721,2023-05-24 21:30:00,0.0,5.0 -20722,2023-05-24 21:40:00,0.0,5.0 -20723,2023-05-24 21:50:00,0.0,5.0 -20730,2023-05-24 23:00:00,0.0,3.0 -20731,2023-05-24 23:10:00,0.0,3.0 -20732,2023-05-24 23:20:00,0.0,3.0 -20733,2023-05-24 23:30:00,0.0,3.0 -20734,2023-05-24 23:40:00,0.0,3.0 -20735,2023-05-24 23:50:00,0.0,3.0 -20748,2023-05-25 02:00:00,0.0,3.0 -20749,2023-05-25 02:10:00,0.0,3.0 -20750,2023-05-25 02:20:00,0.0,3.0 -20751,2023-05-25 02:30:00,0.0,3.0 -20752,2023-05-25 02:40:00,0.0,3.0 -20753,2023-05-25 02:50:00,0.0,3.0 -20754,2023-05-25 03:00:00,0.0,3.0 -20755,2023-05-25 03:10:00,0.0,3.0 -20756,2023-05-25 03:20:00,0.0,3.0 -20757,2023-05-25 03:30:00,0.0,3.0 -20758,2023-05-25 03:40:00,0.0,3.0 -20759,2023-05-25 03:50:00,0.0,3.0 -20760,2023-05-25 04:00:00,0.0,3.0 -20761,2023-05-25 04:10:00,0.0,3.0 -20762,2023-05-25 04:20:00,0.0,3.0 -20763,2023-05-25 04:30:00,0.0,3.0 -20764,2023-05-25 04:40:00,0.0,3.0 -20765,2023-05-25 04:50:00,0.0,3.0 -20766,2023-05-25 05:00:00,0.0,5.0 -20767,2023-05-25 05:10:00,0.0,5.0 -20768,2023-05-25 05:20:00,0.0,5.0 -20769,2023-05-25 05:30:00,0.0,5.0 -20770,2023-05-25 05:40:00,0.0,5.0 -20771,2023-05-25 05:50:00,0.0,5.0 -20778,2023-05-25 07:00:00,0.0,5.0 -20779,2023-05-25 07:10:00,0.0,5.0 -20780,2023-05-25 07:20:00,0.0,5.0 -20781,2023-05-25 07:30:00,0.0,5.0 -20782,2023-05-25 07:40:00,0.0,5.0 -20783,2023-05-25 07:50:00,0.0,5.0 -20784,2023-05-25 08:00:00,0.0,5.0 -20785,2023-05-25 08:10:00,0.0,5.0 -20786,2023-05-25 08:20:00,0.0,5.0 -20787,2023-05-25 08:30:00,0.0,5.0 -20788,2023-05-25 08:40:00,0.0,5.0 -20789,2023-05-25 08:50:00,0.0,5.0 -20808,2023-05-25 12:00:00,0.0,7.0 -20809,2023-05-25 12:10:00,0.0,7.0 -20810,2023-05-25 12:20:00,0.0,7.0 -20811,2023-05-25 12:30:00,0.0,7.0 -20812,2023-05-25 12:40:00,0.0,7.0 -20813,2023-05-25 12:50:00,0.0,7.0 -20814,2023-05-25 13:00:00,0.0,7.0 -20815,2023-05-25 13:10:00,0.0,7.0 -20816,2023-05-25 13:20:00,0.0,7.0 -20817,2023-05-25 13:30:00,0.0,7.0 -20818,2023-05-25 13:40:00,0.0,7.0 -20819,2023-05-25 13:50:00,0.0,7.0 -20832,2023-05-25 16:00:00,0.0,5.0 -20833,2023-05-25 16:10:00,0.0,5.0 -20834,2023-05-25 16:20:00,0.0,5.0 -20835,2023-05-25 16:30:00,0.0,5.0 -20836,2023-05-25 16:40:00,0.0,5.0 -20837,2023-05-25 16:50:00,0.0,5.0 -20844,2023-05-25 18:00:00,0.0,5.0 -20845,2023-05-25 18:10:00,0.0,5.0 -20846,2023-05-25 18:20:00,0.0,5.0 -20847,2023-05-25 18:30:00,0.0,5.0 -20848,2023-05-25 18:40:00,0.0,5.0 -20849,2023-05-25 18:50:00,0.0,5.0 -20850,2023-05-25 19:00:00,0.0,5.0 -20851,2023-05-25 19:10:00,0.0,5.0 -20852,2023-05-25 19:20:00,0.0,5.0 -20853,2023-05-25 19:30:00,0.0,5.0 -20854,2023-05-25 19:40:00,0.0,5.0 -20855,2023-05-25 19:50:00,0.0,5.0 -20856,2023-05-25 20:00:00,0.0,3.0 -20857,2023-05-25 20:10:00,0.0,3.0 -20858,2023-05-25 20:20:00,0.0,3.0 -20859,2023-05-25 20:30:00,0.0,3.0 -20860,2023-05-25 20:40:00,0.0,3.0 -20861,2023-05-25 20:50:00,0.0,3.0 -20862,2023-05-25 21:00:00,0.0,3.0 -20863,2023-05-25 21:10:00,0.0,3.0 -20864,2023-05-25 21:20:00,0.0,3.0 -20865,2023-05-25 21:30:00,0.0,3.0 -20866,2023-05-25 21:40:00,0.0,3.0 -20867,2023-05-25 21:50:00,0.0,3.0 -20868,2023-05-25 22:00:00,0.0,3.0 -20869,2023-05-25 22:10:00,0.0,3.0 -20870,2023-05-25 22:20:00,0.0,3.0 -20871,2023-05-25 22:30:00,0.0,3.0 -20872,2023-05-25 22:40:00,0.0,3.0 -20873,2023-05-25 22:50:00,0.0,3.0 -20886,2023-05-26 01:00:00,0.0,3.0 -20887,2023-05-26 01:10:00,0.0,3.0 -20888,2023-05-26 01:20:00,0.0,3.0 -20889,2023-05-26 01:30:00,0.0,3.0 -20890,2023-05-26 01:40:00,0.0,3.0 -20891,2023-05-26 01:50:00,0.0,3.0 -20898,2023-05-26 03:00:00,0.0,3.0 -20899,2023-05-26 03:10:00,0.0,3.0 -20900,2023-05-26 03:20:00,0.0,3.0 -20901,2023-05-26 03:30:00,0.0,3.0 -20902,2023-05-26 03:40:00,0.0,3.0 -20903,2023-05-26 03:50:00,0.0,3.0 -20910,2023-05-26 05:00:00,0.0,5.0 -20911,2023-05-26 05:10:00,0.0,5.0 -20912,2023-05-26 05:20:00,0.0,5.0 -20913,2023-05-26 05:30:00,0.0,5.0 -20914,2023-05-26 05:40:00,0.0,5.0 -20915,2023-05-26 05:50:00,0.0,5.0 -20916,2023-05-26 06:00:00,0.0,5.0 -20917,2023-05-26 06:10:00,0.0,5.0 -20918,2023-05-26 06:20:00,0.0,5.0 -20919,2023-05-26 06:30:00,0.0,5.0 -20920,2023-05-26 06:40:00,0.0,5.0 -20921,2023-05-26 06:50:00,0.0,5.0 -20922,2023-05-26 07:00:00,0.0,5.0 -20923,2023-05-26 07:10:00,0.0,5.0 -20924,2023-05-26 07:20:00,0.0,5.0 -20925,2023-05-26 07:30:00,0.0,5.0 -20926,2023-05-26 07:40:00,0.0,5.0 -20927,2023-05-26 07:50:00,0.0,5.0 -20946,2023-05-26 11:00:00,0.0,7.0 -20947,2023-05-26 11:10:00,0.0,7.0 -20948,2023-05-26 11:20:00,0.0,7.0 -20949,2023-05-26 11:30:00,0.0,7.0 -20950,2023-05-26 11:40:00,0.0,7.0 -20951,2023-05-26 11:50:00,0.0,7.0 -20952,2023-05-26 12:00:00,0.0,5.0 -20953,2023-05-26 12:10:00,0.0,5.0 -20954,2023-05-26 12:20:00,0.0,5.0 -20955,2023-05-26 12:30:00,0.0,5.0 -20956,2023-05-26 12:40:00,0.0,5.0 -20957,2023-05-26 12:50:00,0.0,5.0 -20970,2023-05-26 15:00:00,0.0,7.0 -20971,2023-05-26 15:10:00,0.0,7.0 -20972,2023-05-26 15:20:00,0.0,7.0 -20973,2023-05-26 15:30:00,0.0,7.0 -20974,2023-05-26 15:40:00,0.0,7.0 -20975,2023-05-26 15:50:00,0.0,7.0 -20982,2023-05-26 17:00:00,0.0,7.0 -20983,2023-05-26 17:10:00,0.0,7.0 -20984,2023-05-26 17:20:00,0.0,7.0 -20985,2023-05-26 17:30:00,0.0,7.0 -20986,2023-05-26 17:40:00,0.0,7.0 -20987,2023-05-26 17:50:00,0.0,7.0 -20988,2023-05-26 18:00:00,0.0,5.0 -20989,2023-05-26 18:10:00,0.0,5.0 -20990,2023-05-26 18:20:00,0.0,5.0 -20991,2023-05-26 18:30:00,0.0,5.0 -20992,2023-05-26 18:40:00,0.0,5.0 -20993,2023-05-26 18:50:00,0.0,5.0 -21006,2023-05-26 21:00:00,0.0,3.0 -21007,2023-05-26 21:10:00,0.0,3.0 -21008,2023-05-26 21:20:00,0.0,3.0 -21009,2023-05-26 21:30:00,0.0,3.0 -21010,2023-05-26 21:40:00,0.0,3.0 -21011,2023-05-26 21:50:00,0.0,3.0 -21024,2023-05-27 00:00:00,0.0,3.0 -21025,2023-05-27 00:10:00,0.0,3.0 -21026,2023-05-27 00:20:00,0.0,3.0 -21027,2023-05-27 00:30:00,0.0,3.0 -21028,2023-05-27 00:40:00,0.0,3.0 -21029,2023-05-27 00:50:00,0.0,3.0 -21030,2023-05-27 01:00:00,0.0,3.0 -21031,2023-05-27 01:10:00,0.0,3.0 -21032,2023-05-27 01:20:00,0.0,3.0 -21033,2023-05-27 01:30:00,0.0,3.0 -21034,2023-05-27 01:40:00,0.0,3.0 -21035,2023-05-27 01:50:00,0.0,3.0 -21054,2023-05-27 05:00:00,0.0,5.0 -21055,2023-05-27 05:10:00,0.0,5.0 -21056,2023-05-27 05:20:00,0.0,5.0 -21057,2023-05-27 05:30:00,0.0,5.0 -21058,2023-05-27 05:40:00,0.0,5.0 -21059,2023-05-27 05:50:00,0.0,5.0 -21060,2023-05-27 06:00:00,0.0,5.0 -21061,2023-05-27 06:10:00,0.0,5.0 -21062,2023-05-27 06:20:00,0.0,5.0 -21063,2023-05-27 06:30:00,0.0,5.0 -21064,2023-05-27 06:40:00,0.0,5.0 -21065,2023-05-27 06:50:00,0.0,5.0 -21066,2023-05-27 07:00:00,0.0,5.0 -21067,2023-05-27 07:10:00,0.0,5.0 -21068,2023-05-27 07:20:00,0.0,5.0 -21069,2023-05-27 07:30:00,0.0,5.0 -21070,2023-05-27 07:40:00,0.0,5.0 -21071,2023-05-27 07:50:00,0.0,5.0 -21078,2023-05-27 09:00:00,0.0,5.0 -21079,2023-05-27 09:10:00,0.0,5.0 -21080,2023-05-27 09:20:00,0.0,5.0 -21081,2023-05-27 09:30:00,0.0,5.0 -21082,2023-05-27 09:40:00,0.0,5.0 -21083,2023-05-27 09:50:00,0.0,5.0 -21090,2023-05-27 11:00:00,0.0,5.0 -21091,2023-05-27 11:10:00,0.0,5.0 -21092,2023-05-27 11:20:00,0.0,5.0 -21093,2023-05-27 11:30:00,0.0,5.0 -21094,2023-05-27 11:40:00,0.0,5.0 -21095,2023-05-27 11:50:00,0.0,5.0 -21102,2023-05-27 13:00:00,0.0,9.0 -21103,2023-05-27 13:10:00,0.0,9.0 -21104,2023-05-27 13:20:00,0.0,9.0 -21105,2023-05-27 13:30:00,0.0,9.0 -21106,2023-05-27 13:40:00,0.0,9.0 -21107,2023-05-27 13:50:00,0.0,9.0 -21108,2023-05-27 14:00:00,0.0,9.0 -21109,2023-05-27 14:10:00,0.0,9.0 -21110,2023-05-27 14:20:00,0.0,9.0 -21111,2023-05-27 14:30:00,0.0,9.0 -21112,2023-05-27 14:40:00,0.0,9.0 -21113,2023-05-27 14:50:00,0.0,9.0 -21114,2023-05-27 15:00:00,0.0,9.0 -21115,2023-05-27 15:10:00,0.0,9.0 -21116,2023-05-27 15:20:00,0.0,9.0 -21117,2023-05-27 15:30:00,0.0,9.0 -21118,2023-05-27 15:40:00,0.0,9.0 -21119,2023-05-27 15:50:00,0.0,9.0 -21126,2023-05-27 17:00:00,0.0,7.0 -21127,2023-05-27 17:10:00,0.0,7.0 -21128,2023-05-27 17:20:00,0.0,7.0 -21129,2023-05-27 17:30:00,0.0,7.0 -21130,2023-05-27 17:40:00,0.0,7.0 -21131,2023-05-27 17:50:00,0.0,7.0 -21138,2023-05-27 19:00:00,0.0,5.0 -21139,2023-05-27 19:10:00,0.0,5.0 -21140,2023-05-27 19:20:00,0.0,5.0 -21141,2023-05-27 19:30:00,0.0,5.0 -21142,2023-05-27 19:40:00,0.0,5.0 -21143,2023-05-27 19:50:00,0.0,5.0 -21156,2023-05-27 22:00:00,0.0,3.0 -21157,2023-05-27 22:10:00,0.0,3.0 -21158,2023-05-27 22:20:00,0.0,3.0 -21159,2023-05-27 22:30:00,0.0,3.0 -21160,2023-05-27 22:40:00,0.0,3.0 -21161,2023-05-27 22:50:00,0.0,3.0 -21162,2023-05-27 23:00:00,0.0,5.0 -21163,2023-05-27 23:10:00,0.0,5.0 -21164,2023-05-27 23:20:00,0.0,5.0 -21165,2023-05-27 23:30:00,0.0,5.0 -21166,2023-05-27 23:40:00,0.0,5.0 -21167,2023-05-27 23:50:00,0.0,5.0 -21180,2023-05-28 02:00:00,0.0,5.0 -21181,2023-05-28 02:10:00,0.0,5.0 -21182,2023-05-28 02:20:00,0.0,5.0 -21183,2023-05-28 02:30:00,0.0,5.0 -21184,2023-05-28 02:40:00,0.0,5.0 -21185,2023-05-28 02:50:00,0.0,5.0 -21186,2023-05-28 03:00:00,0.0,3.0 -21187,2023-05-28 03:10:00,0.0,3.0 -21188,2023-05-28 03:20:00,0.0,3.0 -21189,2023-05-28 03:30:00,0.0,3.0 -21190,2023-05-28 03:40:00,0.0,3.0 -21191,2023-05-28 03:50:00,0.0,3.0 -21192,2023-05-28 04:00:00,0.0,5.0 -21193,2023-05-28 04:10:00,0.0,5.0 -21194,2023-05-28 04:20:00,0.0,5.0 -21195,2023-05-28 04:30:00,0.0,5.0 -21196,2023-05-28 04:40:00,0.0,5.0 -21197,2023-05-28 04:50:00,0.0,5.0 -21204,2023-05-28 06:00:00,0.0,7.0 -21205,2023-05-28 06:10:00,0.0,7.0 -21206,2023-05-28 06:20:00,0.0,7.0 -21207,2023-05-28 06:30:00,0.0,7.0 -21208,2023-05-28 06:40:00,0.0,7.0 -21209,2023-05-28 06:50:00,0.0,7.0 -21210,2023-05-28 07:00:00,0.0,7.0 -21211,2023-05-28 07:10:00,0.0,7.0 -21212,2023-05-28 07:20:00,0.0,7.0 -21213,2023-05-28 07:30:00,0.0,7.0 -21214,2023-05-28 07:40:00,0.0,7.0 -21215,2023-05-28 07:50:00,0.0,7.0 -21222,2023-05-28 09:00:00,0.0,9.0 -21223,2023-05-28 09:10:00,0.0,9.0 -21224,2023-05-28 09:20:00,0.0,9.0 -21225,2023-05-28 09:30:00,0.0,9.0 -21226,2023-05-28 09:40:00,0.0,9.0 -21227,2023-05-28 09:50:00,0.0,9.0 -21234,2023-05-28 11:00:00,0.0,7.0 -21235,2023-05-28 11:10:00,0.0,7.0 -21236,2023-05-28 11:20:00,0.0,7.0 -21237,2023-05-28 11:30:00,0.0,7.0 -21238,2023-05-28 11:40:00,0.0,7.0 -21239,2023-05-28 11:50:00,0.0,7.0 -21240,2023-05-28 12:00:00,0.0,7.0 -21241,2023-05-28 12:10:00,0.0,7.0 -21242,2023-05-28 12:20:00,0.0,7.0 -21243,2023-05-28 12:30:00,0.0,7.0 -21244,2023-05-28 12:40:00,0.0,7.0 -21245,2023-05-28 12:50:00,0.0,7.0 -21258,2023-05-28 15:00:00,0.0,9.0 -21259,2023-05-28 15:10:00,0.0,9.0 -21260,2023-05-28 15:20:00,0.0,9.0 -21261,2023-05-28 15:30:00,0.0,9.0 -21262,2023-05-28 15:40:00,0.0,9.0 -21263,2023-05-28 15:50:00,0.0,9.0 -21264,2023-05-28 16:00:00,0.0,9.0 -21265,2023-05-28 16:10:00,0.0,9.0 -21266,2023-05-28 16:20:00,0.0,9.0 -21267,2023-05-28 16:30:00,0.0,9.0 -21268,2023-05-28 16:40:00,0.0,9.0 -21269,2023-05-28 16:50:00,0.0,9.0 -21270,2023-05-28 17:00:00,0.0,7.0 -21271,2023-05-28 17:10:00,0.0,7.0 -21272,2023-05-28 17:20:00,0.0,7.0 -21273,2023-05-28 17:30:00,0.0,7.0 -21274,2023-05-28 17:40:00,0.0,7.0 -21275,2023-05-28 17:50:00,0.0,7.0 -21312,2023-05-29 00:00:00,0.0,5.0 -21313,2023-05-29 00:10:00,0.0,5.0 -21314,2023-05-29 00:20:00,0.0,5.0 -21315,2023-05-29 00:30:00,0.0,5.0 -21316,2023-05-29 00:40:00,0.0,5.0 -21317,2023-05-29 00:50:00,0.0,5.0 -21318,2023-05-29 01:00:00,0.0,5.0 -21319,2023-05-29 01:10:00,0.0,5.0 -21320,2023-05-29 01:20:00,0.0,5.0 -21321,2023-05-29 01:30:00,0.0,5.0 -21322,2023-05-29 01:40:00,0.0,5.0 -21323,2023-05-29 01:50:00,0.0,5.0 -21354,2023-05-29 07:00:00,0.0,5.0 -21355,2023-05-29 07:10:00,0.0,5.0 -21356,2023-05-29 07:20:00,0.0,5.0 -21357,2023-05-29 07:30:00,0.0,5.0 -21358,2023-05-29 07:40:00,0.0,5.0 -21359,2023-05-29 07:50:00,0.0,5.0 -21360,2023-05-29 08:00:00,0.0,5.0 -21361,2023-05-29 08:10:00,0.0,5.0 -21362,2023-05-29 08:20:00,0.0,5.0 -21363,2023-05-29 08:30:00,0.0,5.0 -21364,2023-05-29 08:40:00,0.0,5.0 -21365,2023-05-29 08:50:00,0.0,5.0 -21378,2023-05-29 11:00:00,0.0,7.0 -21379,2023-05-29 11:10:00,0.0,7.0 -21380,2023-05-29 11:20:00,0.0,7.0 -21381,2023-05-29 11:30:00,0.0,7.0 -21382,2023-05-29 11:40:00,0.0,7.0 -21383,2023-05-29 11:50:00,0.0,7.0 -21402,2023-05-29 15:00:00,0.0,7.0 -21403,2023-05-29 15:10:00,0.0,7.0 -21404,2023-05-29 15:20:00,0.0,7.0 -21405,2023-05-29 15:30:00,0.0,7.0 -21406,2023-05-29 15:40:00,0.0,7.0 -21407,2023-05-29 15:50:00,0.0,7.0 -21414,2023-05-29 17:00:00,0.0,7.0 -21415,2023-05-29 17:10:00,0.0,7.0 -21416,2023-05-29 17:20:00,0.0,7.0 -21417,2023-05-29 17:30:00,0.0,7.0 -21418,2023-05-29 17:40:00,0.0,7.0 -21419,2023-05-29 17:50:00,0.0,7.0 -21444,2023-05-29 22:00:00,0.0,3.0 -21445,2023-05-29 22:10:00,0.0,3.0 -21446,2023-05-29 22:20:00,0.0,3.0 -21447,2023-05-29 22:30:00,0.0,3.0 -21448,2023-05-29 22:40:00,0.0,3.0 -21449,2023-05-29 22:50:00,0.0,3.0 -21450,2023-05-29 23:00:00,0.0,3.0 -21451,2023-05-29 23:10:00,0.0,3.0 -21452,2023-05-29 23:20:00,0.0,3.0 -21453,2023-05-29 23:30:00,0.0,3.0 -21454,2023-05-29 23:40:00,0.0,3.0 -21455,2023-05-29 23:50:00,0.0,3.0 -21468,2023-05-30 02:00:00,0.0,5.0 -21469,2023-05-30 02:10:00,0.0,5.0 -21470,2023-05-30 02:20:00,0.0,5.0 -21471,2023-05-30 02:30:00,0.0,5.0 -21472,2023-05-30 02:40:00,0.0,5.0 -21473,2023-05-30 02:50:00,0.0,5.0 -21480,2023-05-30 04:00:00,0.0,5.0 -21481,2023-05-30 04:10:00,0.0,5.0 -21482,2023-05-30 04:20:00,0.0,5.0 -21483,2023-05-30 04:30:00,0.0,5.0 -21484,2023-05-30 04:40:00,0.0,5.0 -21485,2023-05-30 04:50:00,0.0,5.0 -21498,2023-05-30 07:00:00,0.0,5.0 -21499,2023-05-30 07:10:00,0.0,5.0 -21500,2023-05-30 07:20:00,0.0,5.0 -21501,2023-05-30 07:30:00,0.0,5.0 -21502,2023-05-30 07:40:00,0.0,5.0 -21503,2023-05-30 07:50:00,0.0,5.0 -21504,2023-05-30 08:00:00,0.0,5.0 -21505,2023-05-30 08:10:00,0.0,5.0 -21506,2023-05-30 08:20:00,0.0,5.0 -21507,2023-05-30 08:30:00,0.0,5.0 -21508,2023-05-30 08:40:00,0.0,5.0 -21509,2023-05-30 08:50:00,0.0,5.0 -21510,2023-05-30 09:00:00,0.0,5.0 -21511,2023-05-30 09:10:00,0.0,5.0 -21512,2023-05-30 09:20:00,0.0,5.0 -21513,2023-05-30 09:30:00,0.0,5.0 -21514,2023-05-30 09:40:00,0.0,5.0 -21515,2023-05-30 09:50:00,0.0,5.0 -21516,2023-05-30 10:00:00,0.0,5.0 -21517,2023-05-30 10:10:00,0.0,5.0 -21518,2023-05-30 10:20:00,0.0,5.0 -21519,2023-05-30 10:30:00,0.0,5.0 -21520,2023-05-30 10:40:00,0.0,5.0 -21521,2023-05-30 10:50:00,0.0,5.0 -21528,2023-05-30 12:00:00,0.0,5.0 -21529,2023-05-30 12:10:00,0.0,5.0 -21530,2023-05-30 12:20:00,0.0,5.0 -21531,2023-05-30 12:30:00,0.0,5.0 -21532,2023-05-30 12:40:00,0.0,5.0 -21533,2023-05-30 12:50:00,0.0,5.0 -21540,2023-05-30 14:00:00,0.0,5.0 -21541,2023-05-30 14:10:00,0.0,5.0 -21542,2023-05-30 14:20:00,0.0,5.0 -21543,2023-05-30 14:30:00,0.0,5.0 -21544,2023-05-30 14:40:00,0.0,5.0 -21545,2023-05-30 14:50:00,0.0,5.0 -21552,2023-05-30 16:00:00,0.0,5.0 -21553,2023-05-30 16:10:00,0.0,5.0 -21554,2023-05-30 16:20:00,0.0,5.0 -21555,2023-05-30 16:30:00,0.0,5.0 -21556,2023-05-30 16:40:00,0.0,5.0 -21557,2023-05-30 16:50:00,0.0,5.0 -21558,2023-05-30 17:00:00,0.0,7.0 -21559,2023-05-30 17:10:00,0.0,7.0 -21560,2023-05-30 17:20:00,0.0,7.0 -21561,2023-05-30 17:30:00,0.0,7.0 -21562,2023-05-30 17:40:00,0.0,7.0 -21563,2023-05-30 17:50:00,0.0,7.0 -21570,2023-05-30 19:00:00,0.0,5.0 -21571,2023-05-30 19:10:00,0.0,5.0 -21572,2023-05-30 19:20:00,0.0,5.0 -21573,2023-05-30 19:30:00,0.0,5.0 -21574,2023-05-30 19:40:00,0.0,5.0 -21575,2023-05-30 19:50:00,0.0,5.0 -21582,2023-05-30 21:00:00,0.0,5.0 -21583,2023-05-30 21:10:00,0.0,5.0 -21584,2023-05-30 21:20:00,0.0,5.0 -21585,2023-05-30 21:30:00,0.0,5.0 -21586,2023-05-30 21:40:00,0.0,5.0 -21587,2023-05-30 21:50:00,0.0,5.0 -21600,2023-05-31 00:00:00,0.0,5.0 -21601,2023-05-31 00:10:00,0.0,5.0 -21602,2023-05-31 00:20:00,0.0,5.0 -21603,2023-05-31 00:30:00,0.0,5.0 -21604,2023-05-31 00:40:00,0.0,5.0 -21605,2023-05-31 00:50:00,0.0,5.0 -21612,2023-05-31 02:00:00,0.0,3.0 -21613,2023-05-31 02:10:00,0.0,3.0 -21614,2023-05-31 02:20:00,0.0,3.0 -21615,2023-05-31 02:30:00,0.0,3.0 -21616,2023-05-31 02:40:00,0.0,3.0 -21617,2023-05-31 02:50:00,0.0,3.0 -21624,2023-05-31 04:00:00,0.0,5.0 -21625,2023-05-31 04:10:00,0.0,5.0 -21626,2023-05-31 04:20:00,0.0,5.0 -21627,2023-05-31 04:30:00,0.0,5.0 -21628,2023-05-31 04:40:00,0.0,5.0 -21629,2023-05-31 04:50:00,0.0,5.0 -21630,2023-05-31 05:00:00,0.0,5.0 -21631,2023-05-31 05:10:00,0.0,5.0 -21632,2023-05-31 05:20:00,0.0,5.0 -21633,2023-05-31 05:30:00,0.0,5.0 -21634,2023-05-31 05:40:00,0.0,5.0 -21635,2023-05-31 05:50:00,0.0,5.0 -21642,2023-05-31 07:00:00,0.0,7.0 -21643,2023-05-31 07:10:00,0.0,7.0 -21644,2023-05-31 07:20:00,0.0,7.0 -21645,2023-05-31 07:30:00,0.0,7.0 -21646,2023-05-31 07:40:00,0.0,7.0 -21647,2023-05-31 07:50:00,0.0,7.0 -21672,2023-05-31 12:00:00,0.0,5.0 -21673,2023-05-31 12:10:00,0.0,5.0 -21674,2023-05-31 12:20:00,0.0,5.0 -21675,2023-05-31 12:30:00,0.0,5.0 -21676,2023-05-31 12:40:00,0.0,5.0 -21677,2023-05-31 12:50:00,0.0,5.0 -21684,2023-05-31 14:00:00,0.0,11.0 -21685,2023-05-31 14:10:00,0.0,11.0 -21686,2023-05-31 14:20:00,0.0,11.0 -21687,2023-05-31 14:30:00,0.0,11.0 -21688,2023-05-31 14:40:00,0.0,11.0 -21689,2023-05-31 14:50:00,0.0,11.0 -21690,2023-05-31 15:00:00,0.0,7.0 -21691,2023-05-31 15:10:00,0.0,7.0 -21692,2023-05-31 15:20:00,0.0,7.0 -21693,2023-05-31 15:30:00,0.0,7.0 -21694,2023-05-31 15:40:00,0.0,7.0 -21695,2023-05-31 15:50:00,0.0,7.0 -21696,2023-05-31 16:00:00,0.0,9.0 -21697,2023-05-31 16:10:00,0.0,9.0 -21698,2023-05-31 16:20:00,0.0,9.0 -21699,2023-05-31 16:30:00,0.0,9.0 -21700,2023-05-31 16:40:00,0.0,9.0 -21701,2023-05-31 16:50:00,0.0,9.0 -21708,2023-05-31 18:00:00,0.0,5.0 -21709,2023-05-31 18:10:00,0.0,5.0 -21710,2023-05-31 18:20:00,0.0,5.0 -21711,2023-05-31 18:30:00,0.0,5.0 -21712,2023-05-31 18:40:00,0.0,5.0 -21713,2023-05-31 18:50:00,0.0,5.0 -21714,2023-05-31 19:00:00,0.0,5.0 -21715,2023-05-31 19:10:00,0.0,5.0 -21716,2023-05-31 19:20:00,0.0,5.0 -21717,2023-05-31 19:30:00,0.0,5.0 -21718,2023-05-31 19:40:00,0.0,5.0 -21719,2023-05-31 19:50:00,0.0,5.0 -21726,2023-05-31 21:00:00,0.0,5.0 -21727,2023-05-31 21:10:00,0.0,5.0 -21728,2023-05-31 21:20:00,0.0,5.0 -21729,2023-05-31 21:30:00,0.0,5.0 -21730,2023-05-31 21:40:00,0.0,5.0 -21731,2023-05-31 21:50:00,0.0,5.0 -21732,2023-05-31 22:00:00,0.0,5.0 -21733,2023-05-31 22:10:00,0.0,5.0 -21734,2023-05-31 22:20:00,0.0,5.0 -21735,2023-05-31 22:30:00,0.0,5.0 -21736,2023-05-31 22:40:00,0.0,5.0 -21737,2023-05-31 22:50:00,0.0,5.0 -21744,2023-06-01 00:00:00,0.0,5.0 -21745,2023-06-01 00:10:00,0.0,5.0 -21746,2023-06-01 00:20:00,0.0,5.0 -21747,2023-06-01 00:30:00,0.0,5.0 -21748,2023-06-01 00:40:00,0.0,5.0 -21749,2023-06-01 00:50:00,0.0,5.0 -21750,2023-06-01 01:00:00,0.0,5.0 -21751,2023-06-01 01:10:00,0.0,5.0 -21752,2023-06-01 01:20:00,0.0,5.0 -21753,2023-06-01 01:30:00,0.0,5.0 -21754,2023-06-01 01:40:00,0.0,5.0 -21755,2023-06-01 01:50:00,0.0,5.0 -21768,2023-06-01 04:00:00,0.0,5.0 -21769,2023-06-01 04:10:00,0.0,5.0 -21770,2023-06-01 04:20:00,0.0,5.0 -21771,2023-06-01 04:30:00,0.0,5.0 -21772,2023-06-01 04:40:00,0.0,5.0 -21773,2023-06-01 04:50:00,0.0,5.0 -21798,2023-06-01 09:00:00,0.0,5.0 -21799,2023-06-01 09:10:00,0.0,5.0 -21800,2023-06-01 09:20:00,0.0,5.0 -21801,2023-06-01 09:30:00,0.0,5.0 -21802,2023-06-01 09:40:00,0.0,5.0 -21803,2023-06-01 09:50:00,0.0,5.0 -21822,2023-06-01 13:00:00,0.0,5.0 -21823,2023-06-01 13:10:00,0.0,5.0 -21824,2023-06-01 13:20:00,0.0,5.0 -21825,2023-06-01 13:30:00,0.0,5.0 -21826,2023-06-01 13:40:00,0.0,5.0 -21827,2023-06-01 13:50:00,0.0,5.0 -21828,2023-06-01 14:00:00,0.0,5.0 -21829,2023-06-01 14:10:00,0.0,5.0 -21830,2023-06-01 14:20:00,0.0,5.0 -21831,2023-06-01 14:30:00,0.0,5.0 -21832,2023-06-01 14:40:00,0.0,5.0 -21833,2023-06-01 14:50:00,0.0,5.0 -21834,2023-06-01 15:00:00,0.0,9.0 -21835,2023-06-01 15:10:00,0.0,9.0 -21836,2023-06-01 15:20:00,0.0,9.0 -21837,2023-06-01 15:30:00,0.0,9.0 -21838,2023-06-01 15:40:00,0.0,9.0 -21839,2023-06-01 15:50:00,0.0,9.0 -21864,2023-06-01 20:00:00,0.0,5.0 -21865,2023-06-01 20:10:00,0.0,5.0 -21866,2023-06-01 20:20:00,0.0,5.0 -21867,2023-06-01 20:30:00,0.0,5.0 -21868,2023-06-01 20:40:00,0.0,5.0 -21869,2023-06-01 20:50:00,0.0,5.0 -21882,2023-06-01 23:00:00,0.0,5.0 -21883,2023-06-01 23:10:00,0.0,5.0 -21884,2023-06-01 23:20:00,0.0,5.0 -21885,2023-06-01 23:30:00,0.0,5.0 -21886,2023-06-01 23:40:00,0.0,5.0 -21887,2023-06-01 23:50:00,0.0,5.0 -21894,2023-06-02 01:00:00,0.0,5.0 -21895,2023-06-02 01:10:00,0.0,5.0 -21896,2023-06-02 01:20:00,0.0,5.0 -21897,2023-06-02 01:30:00,0.0,5.0 -21898,2023-06-02 01:40:00,0.0,5.0 -21899,2023-06-02 01:50:00,0.0,5.0 -21900,2023-06-02 02:00:00,0.0,5.0 -21901,2023-06-02 02:10:00,0.0,5.0 -21902,2023-06-02 02:20:00,0.0,5.0 -21903,2023-06-02 02:30:00,0.0,5.0 -21904,2023-06-02 02:40:00,0.0,5.0 -21905,2023-06-02 02:50:00,0.0,5.0 -21924,2023-06-02 06:00:00,0.0,5.0 -21925,2023-06-02 06:10:00,0.0,5.0 -21926,2023-06-02 06:20:00,0.0,5.0 -21927,2023-06-02 06:30:00,0.0,5.0 -21928,2023-06-02 06:40:00,0.0,5.0 -21929,2023-06-02 06:50:00,0.0,5.0 -21930,2023-06-02 07:00:00,0.0,5.0 -21931,2023-06-02 07:10:00,0.0,5.0 -21932,2023-06-02 07:20:00,0.0,5.0 -21933,2023-06-02 07:30:00,0.0,5.0 -21934,2023-06-02 07:40:00,0.0,5.0 -21935,2023-06-02 07:50:00,0.0,5.0 -21942,2023-06-02 09:00:00,0.0,5.0 -21943,2023-06-02 09:10:00,0.0,5.0 -21944,2023-06-02 09:20:00,0.0,5.0 -21945,2023-06-02 09:30:00,0.0,5.0 -21946,2023-06-02 09:40:00,0.0,5.0 -21947,2023-06-02 09:50:00,0.0,5.0 -21954,2023-06-02 11:00:00,0.0,7.0 -21955,2023-06-02 11:10:00,0.0,7.0 -21956,2023-06-02 11:20:00,0.0,7.0 -21957,2023-06-02 11:30:00,0.0,7.0 -21958,2023-06-02 11:40:00,0.0,7.0 -21959,2023-06-02 11:50:00,0.0,7.0 -21978,2023-06-02 15:00:00,0.0,7.0 -21979,2023-06-02 15:10:00,0.0,7.0 -21980,2023-06-02 15:20:00,0.0,7.0 -21981,2023-06-02 15:30:00,0.0,7.0 -21982,2023-06-02 15:40:00,0.0,7.0 -21983,2023-06-02 15:50:00,0.0,7.0 -21984,2023-06-02 16:00:00,0.0,7.0 -21985,2023-06-02 16:10:00,0.0,7.0 -21986,2023-06-02 16:20:00,0.0,7.0 -21987,2023-06-02 16:30:00,0.0,7.0 -21988,2023-06-02 16:40:00,0.0,7.0 -21989,2023-06-02 16:50:00,0.0,7.0 -21996,2023-06-02 18:00:00,0.0,7.0 -21997,2023-06-02 18:10:00,0.0,7.0 -21998,2023-06-02 18:20:00,0.0,7.0 -21999,2023-06-02 18:30:00,0.0,7.0 -22000,2023-06-02 18:40:00,0.0,7.0 -22001,2023-06-02 18:50:00,0.0,7.0 -22002,2023-06-02 19:00:00,0.0,5.0 -22003,2023-06-02 19:10:00,0.0,5.0 -22004,2023-06-02 19:20:00,0.0,5.0 -22005,2023-06-02 19:30:00,0.0,5.0 -22006,2023-06-02 19:40:00,0.0,5.0 -22007,2023-06-02 19:50:00,0.0,5.0 -22008,2023-06-02 20:00:00,0.0,5.0 -22009,2023-06-02 20:10:00,0.0,5.0 -22010,2023-06-02 20:20:00,0.0,5.0 -22011,2023-06-02 20:30:00,0.0,5.0 -22012,2023-06-02 20:40:00,0.0,5.0 -22013,2023-06-02 20:50:00,0.0,5.0 -22014,2023-06-02 21:00:00,0.0,5.0 -22015,2023-06-02 21:10:00,0.0,5.0 -22016,2023-06-02 21:20:00,0.0,5.0 -22017,2023-06-02 21:30:00,0.0,5.0 -22018,2023-06-02 21:40:00,0.0,5.0 -22019,2023-06-02 21:50:00,0.0,5.0 -22026,2023-06-02 23:00:00,0.0,5.0 -22027,2023-06-02 23:10:00,0.0,5.0 -22028,2023-06-02 23:20:00,0.0,5.0 -22029,2023-06-02 23:30:00,0.0,5.0 -22030,2023-06-02 23:40:00,0.0,5.0 -22031,2023-06-02 23:50:00,0.0,5.0 -22044,2023-06-03 02:00:00,0.0,5.0 -22045,2023-06-03 02:10:00,0.0,5.0 -22046,2023-06-03 02:20:00,0.0,5.0 -22047,2023-06-03 02:30:00,0.0,5.0 -22048,2023-06-03 02:40:00,0.0,5.0 -22049,2023-06-03 02:50:00,0.0,5.0 -22050,2023-06-03 03:00:00,0.0,3.0 -22051,2023-06-03 03:10:00,0.0,3.0 -22052,2023-06-03 03:20:00,0.0,3.0 -22053,2023-06-03 03:30:00,0.0,3.0 -22054,2023-06-03 03:40:00,0.0,3.0 -22055,2023-06-03 03:50:00,0.0,3.0 -22068,2023-06-03 06:00:00,0.0,7.0 -22069,2023-06-03 06:10:00,0.0,7.0 -22070,2023-06-03 06:20:00,0.0,7.0 -22071,2023-06-03 06:30:00,0.0,7.0 -22072,2023-06-03 06:40:00,0.0,7.0 -22073,2023-06-03 06:50:00,0.0,7.0 -22092,2023-06-03 10:00:00,0.0,7.0 -22093,2023-06-03 10:10:00,0.0,7.0 -22094,2023-06-03 10:20:00,0.0,7.0 -22095,2023-06-03 10:30:00,0.0,7.0 -22096,2023-06-03 10:40:00,0.0,7.0 -22097,2023-06-03 10:50:00,0.0,7.0 -22098,2023-06-03 11:00:00,0.0,7.0 -22099,2023-06-03 11:10:00,0.0,7.0 -22100,2023-06-03 11:20:00,0.0,7.0 -22101,2023-06-03 11:30:00,0.0,7.0 -22102,2023-06-03 11:40:00,0.0,7.0 -22103,2023-06-03 11:50:00,0.0,7.0 -22104,2023-06-03 12:00:00,0.0,7.0 -22105,2023-06-03 12:10:00,0.0,7.0 -22106,2023-06-03 12:20:00,0.0,7.0 -22107,2023-06-03 12:30:00,0.0,7.0 -22108,2023-06-03 12:40:00,0.0,7.0 -22109,2023-06-03 12:50:00,0.0,7.0 -22110,2023-06-03 13:00:00,0.0,9.0 -22111,2023-06-03 13:10:00,0.0,9.0 -22112,2023-06-03 13:20:00,0.0,9.0 -22113,2023-06-03 13:30:00,0.0,9.0 -22114,2023-06-03 13:40:00,0.0,9.0 -22115,2023-06-03 13:50:00,0.0,9.0 -22116,2023-06-03 14:00:00,0.0,9.0 -22117,2023-06-03 14:10:00,0.0,9.0 -22118,2023-06-03 14:20:00,0.0,9.0 -22119,2023-06-03 14:30:00,0.0,9.0 -22120,2023-06-03 14:40:00,0.0,9.0 -22121,2023-06-03 14:50:00,0.0,9.0 -22122,2023-06-03 15:00:00,0.0,9.0 -22123,2023-06-03 15:10:00,0.0,9.0 -22124,2023-06-03 15:20:00,0.0,9.0 -22125,2023-06-03 15:30:00,0.0,9.0 -22126,2023-06-03 15:40:00,0.0,9.0 -22127,2023-06-03 15:50:00,0.0,9.0 -22128,2023-06-03 16:00:00,0.0,7.0 -22129,2023-06-03 16:10:00,0.0,7.0 -22130,2023-06-03 16:20:00,0.0,7.0 -22131,2023-06-03 16:30:00,0.0,7.0 -22132,2023-06-03 16:40:00,0.0,7.0 -22133,2023-06-03 16:50:00,0.0,7.0 -22134,2023-06-03 17:00:00,0.0,9.0 -22135,2023-06-03 17:10:00,0.0,9.0 -22136,2023-06-03 17:20:00,0.0,9.0 -22137,2023-06-03 17:30:00,0.0,9.0 -22138,2023-06-03 17:40:00,0.0,9.0 -22139,2023-06-03 17:50:00,0.0,9.0 -22140,2023-06-03 18:00:00,0.0,7.0 -22141,2023-06-03 18:10:00,0.0,7.0 -22142,2023-06-03 18:20:00,0.0,7.0 -22143,2023-06-03 18:30:00,0.0,7.0 -22144,2023-06-03 18:40:00,0.0,7.0 -22145,2023-06-03 18:50:00,0.0,7.0 -22146,2023-06-03 19:00:00,0.0,7.0 -22147,2023-06-03 19:10:00,0.0,7.0 -22148,2023-06-03 19:20:00,0.0,7.0 -22149,2023-06-03 19:30:00,0.0,7.0 -22150,2023-06-03 19:40:00,0.0,7.0 -22151,2023-06-03 19:50:00,0.0,7.0 -22152,2023-06-03 20:00:00,0.0,5.0 -22153,2023-06-03 20:10:00,0.0,5.0 -22154,2023-06-03 20:20:00,0.0,5.0 -22155,2023-06-03 20:30:00,0.0,5.0 -22156,2023-06-03 20:40:00,0.0,5.0 -22157,2023-06-03 20:50:00,0.0,5.0 -22158,2023-06-03 21:00:00,0.0,5.0 -22159,2023-06-03 21:10:00,0.0,5.0 -22160,2023-06-03 21:20:00,0.0,5.0 -22161,2023-06-03 21:30:00,0.0,5.0 -22162,2023-06-03 21:40:00,0.0,5.0 -22163,2023-06-03 21:50:00,0.0,5.0 -22164,2023-06-03 22:00:00,0.0,5.0 -22165,2023-06-03 22:10:00,0.0,5.0 -22166,2023-06-03 22:20:00,0.0,5.0 -22167,2023-06-03 22:30:00,0.0,5.0 -22168,2023-06-03 22:40:00,0.0,5.0 -22169,2023-06-03 22:50:00,0.0,5.0 -22176,2023-06-04 00:00:00,0.0,3.0 -22177,2023-06-04 00:10:00,0.0,3.0 -22178,2023-06-04 00:20:00,0.0,3.0 -22179,2023-06-04 00:30:00,0.0,3.0 -22180,2023-06-04 00:40:00,0.0,3.0 -22181,2023-06-04 00:50:00,0.0,3.0 -22182,2023-06-04 01:00:00,0.0,5.0 -22183,2023-06-04 01:10:00,0.0,5.0 -22184,2023-06-04 01:20:00,0.0,5.0 -22185,2023-06-04 01:30:00,0.0,5.0 -22186,2023-06-04 01:40:00,0.0,5.0 -22187,2023-06-04 01:50:00,0.0,5.0 -22188,2023-06-04 02:00:00,0.0,3.0 -22189,2023-06-04 02:10:00,0.0,3.0 -22190,2023-06-04 02:20:00,0.0,3.0 -22191,2023-06-04 02:30:00,0.0,3.0 -22192,2023-06-04 02:40:00,0.0,3.0 -22193,2023-06-04 02:50:00,0.0,3.0 -22194,2023-06-04 03:00:00,0.0,5.0 -22195,2023-06-04 03:10:00,0.0,5.0 -22196,2023-06-04 03:20:00,0.0,5.0 -22197,2023-06-04 03:30:00,0.0,5.0 -22198,2023-06-04 03:40:00,0.0,5.0 -22199,2023-06-04 03:50:00,0.0,5.0 -22212,2023-06-04 06:00:00,0.0,5.0 -22213,2023-06-04 06:10:00,0.0,5.0 -22214,2023-06-04 06:20:00,0.0,5.0 -22215,2023-06-04 06:30:00,0.0,5.0 -22216,2023-06-04 06:40:00,0.0,5.0 -22217,2023-06-04 06:50:00,0.0,5.0 -22230,2023-06-04 09:00:00,0.0,9.0 -22231,2023-06-04 09:10:00,0.0,9.0 -22232,2023-06-04 09:20:00,0.0,9.0 -22233,2023-06-04 09:30:00,0.0,9.0 -22234,2023-06-04 09:40:00,0.0,9.0 -22235,2023-06-04 09:50:00,0.0,9.0 -22242,2023-06-04 11:00:00,0.0,7.0 -22243,2023-06-04 11:10:00,0.0,7.0 -22244,2023-06-04 11:20:00,0.0,7.0 -22245,2023-06-04 11:30:00,0.0,7.0 -22246,2023-06-04 11:40:00,0.0,7.0 -22247,2023-06-04 11:50:00,0.0,7.0 -22260,2023-06-04 14:00:00,0.0,9.0 -22261,2023-06-04 14:10:00,0.0,9.0 -22262,2023-06-04 14:20:00,0.0,9.0 -22263,2023-06-04 14:30:00,0.0,9.0 -22264,2023-06-04 14:40:00,0.0,9.0 -22265,2023-06-04 14:50:00,0.0,9.0 -22266,2023-06-04 15:00:00,0.0,9.0 -22267,2023-06-04 15:10:00,0.0,9.0 -22268,2023-06-04 15:20:00,0.0,9.0 -22269,2023-06-04 15:30:00,0.0,9.0 -22270,2023-06-04 15:40:00,0.0,9.0 -22271,2023-06-04 15:50:00,0.0,9.0 -22272,2023-06-04 16:00:00,0.0,7.0 -22273,2023-06-04 16:10:00,0.0,7.0 -22274,2023-06-04 16:20:00,0.0,7.0 -22275,2023-06-04 16:30:00,0.0,7.0 -22276,2023-06-04 16:40:00,0.0,7.0 -22277,2023-06-04 16:50:00,0.0,7.0 -22296,2023-06-04 20:00:00,0.0,5.0 -22297,2023-06-04 20:10:00,0.0,5.0 -22298,2023-06-04 20:20:00,0.0,5.0 -22299,2023-06-04 20:30:00,0.0,5.0 -22300,2023-06-04 20:40:00,0.0,5.0 -22301,2023-06-04 20:50:00,0.0,5.0 -22308,2023-06-04 22:00:00,0.0,5.0 -22309,2023-06-04 22:10:00,0.0,5.0 -22310,2023-06-04 22:20:00,0.0,5.0 -22311,2023-06-04 22:30:00,0.0,5.0 -22312,2023-06-04 22:40:00,0.0,5.0 -22313,2023-06-04 22:50:00,0.0,5.0 -22332,2023-06-05 02:00:00,0.0,3.0 -22333,2023-06-05 02:10:00,0.0,3.0 -22334,2023-06-05 02:20:00,0.0,3.0 -22335,2023-06-05 02:30:00,0.0,3.0 -22336,2023-06-05 02:40:00,0.0,3.0 -22337,2023-06-05 02:50:00,0.0,3.0 -22344,2023-06-05 04:00:00,0.0,5.0 -22345,2023-06-05 04:10:00,0.0,5.0 -22346,2023-06-05 04:20:00,0.0,5.0 -22347,2023-06-05 04:30:00,0.0,5.0 -22348,2023-06-05 04:40:00,0.0,5.0 -22349,2023-06-05 04:50:00,0.0,5.0 -22350,2023-06-05 05:00:00,0.0,5.0 -22351,2023-06-05 05:10:00,0.0,5.0 -22352,2023-06-05 05:20:00,0.0,5.0 -22353,2023-06-05 05:30:00,0.0,5.0 -22354,2023-06-05 05:40:00,0.0,5.0 -22355,2023-06-05 05:50:00,0.0,5.0 -22356,2023-06-05 06:00:00,0.0,5.0 -22357,2023-06-05 06:10:00,0.0,5.0 -22358,2023-06-05 06:20:00,0.0,5.0 -22359,2023-06-05 06:30:00,0.0,5.0 -22360,2023-06-05 06:40:00,0.0,5.0 -22361,2023-06-05 06:50:00,0.0,5.0 -22362,2023-06-05 07:00:00,0.0,7.0 -22363,2023-06-05 07:10:00,0.0,7.0 -22364,2023-06-05 07:20:00,0.0,7.0 -22365,2023-06-05 07:30:00,0.0,7.0 -22366,2023-06-05 07:40:00,0.0,7.0 -22367,2023-06-05 07:50:00,0.0,7.0 -22380,2023-06-05 10:00:00,0.0,7.0 -22381,2023-06-05 10:10:00,0.0,7.0 -22382,2023-06-05 10:20:00,0.0,7.0 -22383,2023-06-05 10:30:00,0.0,7.0 -22384,2023-06-05 10:40:00,0.0,7.0 -22385,2023-06-05 10:50:00,0.0,7.0 -22386,2023-06-05 11:00:00,0.0,7.0 -22387,2023-06-05 11:10:00,0.0,7.0 -22388,2023-06-05 11:20:00,0.0,7.0 -22389,2023-06-05 11:30:00,0.0,7.0 -22390,2023-06-05 11:40:00,0.0,7.0 -22391,2023-06-05 11:50:00,0.0,7.0 -22398,2023-06-05 13:00:00,0.0,5.0 -22399,2023-06-05 13:10:00,0.0,5.0 -22400,2023-06-05 13:20:00,0.0,5.0 -22401,2023-06-05 13:30:00,0.0,5.0 -22402,2023-06-05 13:40:00,0.0,5.0 -22403,2023-06-05 13:50:00,0.0,5.0 -22404,2023-06-05 14:00:00,0.0,9.0 -22405,2023-06-05 14:10:00,0.0,9.0 -22406,2023-06-05 14:20:00,0.0,9.0 -22407,2023-06-05 14:30:00,0.0,9.0 -22408,2023-06-05 14:40:00,0.0,9.0 -22409,2023-06-05 14:50:00,0.0,9.0 -22416,2023-06-05 16:00:00,0.0,7.0 -22417,2023-06-05 16:10:00,0.0,7.0 -22418,2023-06-05 16:20:00,0.0,7.0 -22419,2023-06-05 16:30:00,0.0,7.0 -22420,2023-06-05 16:40:00,0.0,7.0 -22421,2023-06-05 16:50:00,0.0,7.0 -22422,2023-06-05 17:00:00,0.0,5.0 -22423,2023-06-05 17:10:00,0.0,5.0 -22424,2023-06-05 17:20:00,0.0,5.0 -22425,2023-06-05 17:30:00,0.0,5.0 -22426,2023-06-05 17:40:00,0.0,5.0 -22427,2023-06-05 17:50:00,0.0,5.0 -22446,2023-06-05 21:00:00,0.0,5.0 -22447,2023-06-05 21:10:00,0.0,5.0 -22448,2023-06-05 21:20:00,0.0,5.0 -22449,2023-06-05 21:30:00,0.0,5.0 -22450,2023-06-05 21:40:00,0.0,5.0 -22451,2023-06-05 21:50:00,0.0,5.0