Python pandas read_hdf ГДЕ термин не работает должным образом

Я пытаюсь сделать простой фильтр для таблицы в формате HDF5, используя Python панд. Работает нормально, когда я запрашиваю только по столбцу "subject":

> df_test = pd.read_hdf(result_file, where=['subject==andrew'])
> print(df_test)

Который дает вывод:

        subject condition        time  pupil_diam  luminance   gaze_x  gaze_y
 ...        ...       ...         ...         ...        ...      ...     ...
 180519  andrew     light  5885480250        2.50   0.768958  1723.85  267.11
 180520  andrew     light  5885482247        2.50   0.769088  1723.33  266.81
 180521  andrew     light  5885484249        2.51   0.769405  1718.93  267.91

Также работает, когда я запрашиваю только по столбцу "яркость":

> df_test = pd.read_hdf(params['result_file'], where=['luminance>0'])
> print(df_test)


        subject condition        time  pupil_diam  luminance  gaze_x  gaze_y
 79005     mary     light  3813968998        3.22   0.225418  257.11  761.28
 79006     mary     light  3813970992        3.22   0.227119  256.38  761.13
 79007     mary     light  3813972992        3.21   0.227119  256.13  760.53
 ...        ...       ...         ...         ...        ...      ...     ...

Но сложение их вместе с "&" дает пустой результат (как вы можете видеть выше, определенно есть строки, в которых оба условия выполняются):

> df_test = pd.read_hdf(params['result_file'], where=['subject==andrew & luminance>0'])
> print(df_test)

Empty DataFrame
Columns: [subject, condition, time, pupil_diam, luminance, gaze_x, gaze_y]
Index: []

Хотя этот запрос работает, когда я использую:

> df_test = pd.read_hdf(params['result_file'], where=['subject==mary & luminance>0'])
> print(df_test)

       subject condition        time  pupil_diam  luminance  gaze_x  gaze_y
79005     mary     light  3813968998        3.22   0.225418  257.11  761.28
79006     mary     light  3813970992        3.22   0.227119  256.38  761.13
79007     mary     light  3813972992        3.21   0.227119  256.13  760.53
...        ...       ...         ...         ...        ...      ...     ...

Новичок в пандах, так что, может быть, я чего-то упускаю синтаксис, но еще не нашел достойного решения / объяснения в документах или онлайн форумах...

0 ответов

Другие вопросы по тегам