Как предотвратить ошибку "https://github.com/pandas-dev/pandas/issues/19195" с десериализованным фреймом данных из pyarrow
Я извлекаю кортеж из dataframes из сжатого буфера, используя pyarrow (pa):
(_, _, df)=pa.deserialize(pa.decompress(zbuf, codec="brotli", decompressed_size=decompresed_size))
После того, как я собираю данные из фрейма данных:
df2=df.groupby("IdTrip").agg({'DeliveryWeight': np.mean})
И ошибка появляется. Трассировка стека имеет те же последние вызовы, которые описаны в выпуске https://github.com/pandas-dev/pandas/issues/19195
Я положил выписку:
transport_1 | return self._python_agg_general(f)
transport_1 | File "/usr/local/lib/python3.6/site-packages/pandas/core/groupby.py", line 939, in _python_agg_general
transport_1 | result, counts = self.grouper.agg_series(obj, f)
transport_1 | File "/usr/local/lib/python3.6/site-packages/pandas/core/groupby.py", line 2359, in agg_series
transport_1 | return self._aggregate_series_pure_python(obj, func)
transport_1 | File "/usr/local/lib/python3.6/site-packages/pandas/core/groupby.py", line 2382, in _aggregate_series_pure_python
transport_1 | group_index, _, ngroups = self.group_info
transport_1 | File "pandas/_libs/properties.pyx", line 38, in pandas._libs.properties.cache_readonly.__get__
transport_1 |
transport_1 | File "/usr/local/lib/python3.6/site-packages/pandas/core/groupby.py", line 2040, in group_info
transport_1 | comp_ids, obs_group_ids = self._get_compressed_labels()
transport_1 | File "/usr/local/lib/python3.6/site-packages/pandas/core/groupby.py", line 2056, in _get_compressed_labels
transport_1 | all_labels = [ping.labels for ping in self.groupings]
transport_1 | File "/usr/local/lib/python3.6/site-packages/pandas/core/groupby.py", line 2056, in <listcomp>
transport_1 | all_labels = [ping.labels for ping in self.groupings]
transport_1 | File "/usr/local/lib/python3.6/site-packages/pandas/core/groupby.py", line 2750, in labels
transport_1 | self._make_labels()
transport_1 | File "/usr/local/lib/python3.6/site-packages/pandas/core/groupby.py", line 2767, in _make_labels
transport_1 | self.grouper, sort=self.sort)
transport_1 | File "/usr/local/lib/python3.6/site-packages/pandas/core/algorithms.py", line 471, in factorize
transport_1 | labels = table.get_labels(values, uniques, 0, na_sentinel, check_nulls)
transport_1 | File "pandas/_libs/hashtable_class_helper.pxi", line 885, in pandas._libs.hashtable.Int64HashTable.get_labels
transport_1 |
transport_1 | File "stringsource", line 646, in View.MemoryView.memoryview_cwrapper
transport_1 |
transport_1 | File "stringsource", line 347, in View.MemoryView.memoryview.__cinit__
Поскольку проблема будет решена в версии 0.23 панд, я должен использовать обходной путь, но я не знаю, что это такое.
Итак, когда я десериализуюсь с pyarrow, возможно ли обойти эту ошибку со стабильными пандами?