Pandas read_hdf показывает ошибку при использовании «где» для извлечения данных? - PullRequest
0 голосов
/ 13 декабря 2018

Я извлекал файл hdf5 с помощью команды where.Для некоторых значений я получаю деление на ноль ошибок.Как я могу исправить эту проблему?Читая весь файл и используя запрос, я могу легко извлечь те же данные.Но чтение целого использует много оперативной памяти.

Я использовал следующую команду для извлечения

data = pd.read_hdf(filename, key='tec', mode='r', format='table',where="Prn == 17")

Только для Prn == 17 показывает эти ошибки.

Часть ошибки приведена ниже

/usr/local/lib/python2.7/dist-packages/pandas/io/pytables.pyc in select(self)
   4774             return self.table.table.read_where(self.condition.format(),
   4775                                                start=self.start,
-> 4776                                                stop=self.stop)
   4777         elif self.coordinates is not None:
   4778             return self.table.table.read_coordinates(self.coordinates)

/usr/lib/python2.7/dist-packages/tables/table.pyc in read_where(self, condition, condvars, field, start, stop, step)
   1598         self._g_check_open()
   1599         coords = [p.nrow for p in
-> 1600                   self._where(condition, condvars, start, stop, step)]
   1601         self._where_condition = None  # reset the conditions
   1602         if len(coords) > 1:

tables/tableextension.pyx in tables.tableextension.Row.__next__ (tables/tableextension.c:10992)()

tables/tableextension.pyx in tables.tableextension.Row.__next__indexed (tables/tableextension.c:11535)()

tables/tableextension.pyx in tables.tableextension.Table._convert_types (tables/tableextension.c:6282)()

tables/tableextension.pyx in tables.tableextension.Table._convert_types (tables/tableextension.c:6152)()

tables/tableextension.pyx in tables.tableextension.Table._convert_time64_ (tables/tableextension.c:5690)()

ZeroDivisionError: integer division or modulo by zero

Я пытался использовать все данные.И использовал запрос, чтобы сделать то же самое, он работал нормально.

Есть ли другой способ сделать это ??.

...