Сложный запрос в PyTables с использованием table.where

Как я могу сделать так: (если возможно)

options = {'topLimit': 22.3, 'downLimit': 9}

for row in tab.where('value < options['topLimit']'):
    #whatever
    ...
    ...

Можем ли мы поставить что-то вроде options['topLimit'] или что-то подобное внутри where состояние??

Если нет, как это можно сделать?

PD: Обратите внимание, что это очень простой пример.... Я знаю, что решение для этого случая:

for row in tab.where('value < 22.3'):

Я думаю о гораздо более сложных ситуациях.

1 ответ

Решение

Передайте параметры в качестве аргумента condvars куда:

options = {'topLimit': 22.3, 'downLimit': 9}

for row in tab.where('value < topLimit', options):
    #whatever

Смотрите документацию для более подробной информации [1].

  1. http://pytables.github.io/usersguide/libref/structured_storage.html?highlight=where
Другие вопросы по тегам