pd.read_hdf throws 'не может установить флаг WRITABLE в True для этого массива'

Хотя я обычно соглашался с тем, что inspect является хорошим ответом, он падает, когда ваш класс (и, следовательно, метод класса) был определен в интерпретаторе.

Если вы используете dill.source.getsource из dill вы можете получить источник функций и лямбда, даже если они определены интерактивно. Он также может получить код для связанных или несвязанных методов и функций класса, определенных в карри ... однако вы не сможете скомпилировать этот код без кода объекта-объекта.

>>> from dill.source import getsource
>>> 
>>> def add(x,y):
...   return x+y
... 
>>> squared = lambda x:x**2
>>> 
>>> print getsource(add)
def add(x,y):
  return x+y

>>> print getsource(squared)
squared = lambda x:x**2

>>> 
>>> class Foo(object):
...   def bar(self, x):
...     return x*x+x
... 
>>> f = Foo()
>>> 
>>> print getsource(f.bar)
def bar(self, x):
    return x*x+x

>>> 

Для builtin, функции dill.source не будут работать ... HOWEVER ...

Вам все равно не придется прибегать к использованию вашего любимого редактора, чтобы открыть файл с исходным кодом (как это предлагается в других ответах) ). Существует новый пакет под названием cinspect , целью которого является просмотр источника для builtins.

10
задан jpobst 6 March 2019 в 19:52
поделиться

1 ответ

Вы используете numpy 1.16? Это несовместимо с последним выпуском pytables (см. https://github.com/PyTables/PyTables/blob/v3.4.4/tables/hdf5extension.pyx#L2155 ), но команда pytables еще не выпустила исправленную версию: https://github.com/PyTables/PyTables/issues/719

Единственный способ, который я нашел, чтобы исправить это, - понизить рейтинг numy.

0
ответ дан Eddie Bell 6 March 2019 в 19:52
поделиться
Другие вопросы по тегам:

Похожие вопросы: