Команда ReQL: avg
Синтаксис команды
sequence.avg([field | function]) → number r.avg(sequence, [field | function]) → number
Описание
Вычисляет среднее значение всех элементов последовательности. Если используется имя поля, вычисляет среднее значение всех значений этого поля в последовательности, пропускает элементы последовательности, у которых отсутствует это поле. Если используется функция, применяет эту функцию к каждому элементу последовательности и вычисляет среднее значение результатов, пропускает элементы последовательности, где эта функция возвращает None или ошибку отсутствия значения.
Возвращает ошибку отсутствия значения, если последовательность пустая. Вы можете обработать этот случай с помощью default.
Пример: Каково среднее значение 3, 5 и 7?
r.expr([3, 5, 7]).avg().run(conn)
Пример: Каково среднее количество очков, набранных в игре?
r.table('games').avg('points').run(conn)
Пример: Каково среднее количество очков, набранных в игре, включая бонусные очки?
r.table('games').avg(lambda game:
game['points'] + game['bonus_points']
).run(conn)
Пример: Каково среднее количество очков, набранных в игре? (Но верните None вместо повышения ошибки, если нет игр, в которых набраны очки.)
r.table('games').avg('points').default(None).run(conn)
© RethinkDB contributors
Licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License.
https://rethinkdb.com/api/python/avg/