in getting_started/synth_data.py [0:0]
def synthesize():
# create item list
item_list = []
for dimension_values in itertools.product( *dimensions.values() ):
item = Item( dict( zip( dimensions.keys(), dimension_values ) ) )
item_list.append(item)
# itereate and prepare data
dimension_values_list = []
for i in range( len(dimensions) ):
dimension_values_list.append([])
timestamp_list = []
metric_values_list = []
for i, metric in enumerate(metrics):
metric_values_list.append([])
labels_list = []
for i, metric in enumerate(metrics):
labels_list.append([])
t = period[0]
while t<period[1]:
#print(t)
for item in item_list:
for i, d in enumerate(item.dimension.values()):
#print(i,d)
dimension_values_list[i].append(d)
timestamp_list.append(t)
metric_values, is_anomaly = item.get(t)
for i, metric_value in enumerate(metric_values):
metric_values_list[i].append(metric_value)
labels_list[i].append( int(is_anomaly) )
t += pd.to_timedelta(frequency)
# convert to DataFrame
data = {}
for dimension_name, dimension_values in zip( dimensions.keys(), dimension_values_list ):
data[dimension_name] = dimension_values
data["timestamp"] = timestamp_list
for metric_name, metric_values in zip( metrics, metric_values_list ):
data[metric_name] = metric_values
for metric_name, labels in zip( metrics, labels_list ):
data[metric_name + "_label"] = labels
df = pd.DataFrame(data)
return df