Boto3 и DynamoDB — как имитировать агрегацию [closed]

У меня есть таблица в DynamoDB в следующем формате:
Я извлекаю данные из этой таблицы с помощью boto3 и хочу создать новый пользовательский ввод таблицы (DeviceId, Date Range). Эта таблица будет содержать данные по сенсорному типу — макс., Мин. И сред., Сгруппированные по минутам.

Я делаю базовую ошибку, из-за которой агрегация разваливается … не могу понять. Это приводит к сбою всего агрегирования .. Я хочу сгруппировать по DeviceId, затем по SensorType, а затем агрегировать по минутам.

введите описание изображения здесь

items_by_minute = sorted(col, key=lambda x: (x["SensorDataType"],x["CurrentTime"][:16]) )
items_by_minute = itertools.groupby(col, key=lambda x: (x["SensorDataType"],x["CurrentTime"][:16]))


for minute, items in items_by_minute:
        values_per_minute = [item["SensorValue"] for item in items]

        avg = statistics.mean(values_per_minute)
        avg = round (avg,2)
        min_value = min(values_per_minute)
        max_value = max(values_per_minute)

        print(f" Stype: {minute[0]}/ Minute: {minute[1]}/ Average {avg} / Min {min_value} / Max {max_value}")

0

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *