Der xfail-Dekorator muss in https://github.com/pandas-dev/pandas/pull/25517 zurückgesetzt werden, wenn dies behoben ist
Ich bekomme plötzlich diesen Fehler, eine Idee?
# Your code here
input_df = pd.read_hdf(path_or_buf='x.hdf5',key='/x',mode='r')
Zurück verfolgen :
`
Traceback (most recent call last):
File "...", line 115, in <module>
input_df = pd.read_hdf(path_or_buf='x.hdf5',key='/x',mode='r')
File "/usr/local/lib/python3.6/dist-packages/pandas/io/pytables.py", line 394, in read_hdf
return store.select(key, auto_close=auto_close, **kwargs)
File "/usr/local/lib/python3.6/dist-packages/pandas/io/pytables.py", line 741, in select
return it.get_result()
File "/usr/local/lib/python3.6/dist-packages/pandas/io/pytables.py", line 1483, in get_result
results = self.func(self.start, self.stop, where)
File "/usr/local/lib/python3.6/dist-packages/pandas/io/pytables.py", line 734, in func
columns=columns)
File "/usr/local/lib/python3.6/dist-packages/pandas/io/pytables.py", line 2937, in read
start=_start, stop=_stop)
File "/usr/local/lib/python3.6/dist-packages/pandas/io/pytables.py", line 2489, in read_array
ret = node[0][start:stop]
File "/usr/local/lib/python3.6/dist-packages/tables/vlarray.py", line 681, in __getitem__
return self.read(start, stop, step)[0]
File "/usr/local/lib/python3.6/dist-packages/tables/vlarray.py", line 821, in read
listarr = self._read_array(start, stop, step)
File "tables/hdf5extension.pyx", line 2155, in tables.hdf5extension.VLArray._read_array
ValueError: cannot set WRITEABLE flag to True of this array
@ macd2 : Danke, dass hast ! Ein paar Dinge:
pandas.show_versions
angeben?Ich bekomme plötzlich diesen Fehler, eine Idee?
pandas
für Sie funktioniert. Wann hat dieser Code zuletzt für Sie funktioniert? Welche Version verwenden Sie gerade (bezogen auf die erste Frage)?cc @jreback
Bei Verwendung von numpy = 1.16.0 wird dieser Fehler angezeigt, beim Downgrade von numpy = 1.15.4 ist das Problem behoben
@gfyoung Sicher, hier sind die Versionen:
`` `pandas.show_versions
'Abhängigkeiten':
{'pandas': '0.23.4', 'pytest': '3.4.0', 'pip': '18 .1 ',' setuptools ': '40 .6.3', 'Cython': '0.29.3', ' numpy ':' 1.16.0 ',' scipy ':' 1.2.0 ',' pyarrow ': Keine,' xarray ': Keine,' IPython ':' 6.5.0 ',' sphinx ': Keine,' patsy ' : '0.5.0', 'dateutil': '2.7.5', 'pytz': '2018.7', 'blosc': Keine, 'Engpass': '1.2.1', 'Tabellen': '3.4.4' , 'numexpr': '2.6.8', 'fed': Keine, 'matplotlib': '3.0.2', 'openpyxl': '2.5.12', 'xlrd': '1.1.0', 'xlwt' : '1.3.0', 'xlsxwriter': '0.7.3', 'lxml': '4.1.1', 'bs4': '4.4.1', 'html5lib': '1.0b8', 'sqlalchemy': '1.2.15', 'pymysql': '0.9.2', 'psycopg2': '2.7.6.1 (dt dec pq3 ext lo64)', 'jinja2': '2.10', 's3fs': Keine, 'fastparquet' : Keine, 'pandas_gbq': Keine, 'pandas_datareader': '0.7.0'}
`` `
Leider kann ich die Datei nicht teilen, aber ich denke, die Probleme kommen tatsächlich von numpy, wie @vvvlc sagte, hier ist ein anderes Problem auf ihrem Git:
https://github.com/nipy/nibabel/issues/697
PS: just downgraded to numpy=1.15.4 and indeed it resolves the issue
Können Pandas in der Zwischenzeit etwas tun? Oder warten Sie einfach auf den nächsten
pytables freigeben?
Am Montag, den 21. Januar 2019 um 05:34 Uhr schrieb macd2 [email protected] :
@gfyoung https://github.com/gfyoung Sicher, hier sind die Versionen:
'Abhängigkeiten':
{'pandas': '0.23.4', 'pytest': '3.4.0', 'pip': '18 .1 ',' setuptools ': '40 .6.3', 'Cython': '0.29.3', ' numpy ':' 1.16.0 ',' scipy ':' 1.2.0 ',' pyarrow ': Keine,' xarray ': Keine,' IPython ':' 6.5.0 ',' sphinx ': Keine,' patsy ' : '0.5.0', 'dateutil': '2.7.5', 'pytz': '2018.7', 'blosc': Keine, 'Engpass': '1.2.1', 'Tabellen': '3.4.4' , 'numexpr': '2.6.8', 'fed': Keine, 'matplotlib': '3.0.2', 'openpyxl': '2.5.12', 'xlrd': '1.1.0', 'xlwt' : '1.3.0', 'xlsxwriter': '0.7.3', 'lxml': '4.1.1', 'bs4': '4.4.1', 'html5lib': '1.0b8', 'sqlalchemy': '1.2.15', 'pymysql': '0.9.2', 'psycopg2': '2.7.6.1 (dt dec pq3 ext lo64)', 'jinja2': '2.10', 's3fs': Keine, 'fastparquet' : Keine, 'pandas_gbq': Keine, 'pandas_datareader': '0.7.0'}Leider kann ich die Datei nicht teilen, aber ich denke, die Probleme kommen tatsächlich
von numpy als @vvvlc https://github.com/vvvlc sagte, hier ist eine andere
Problem auf ihrem Git:nipy / nibabel # 697 https://github.com/nipy/nibabel/issues/697
- -
Sie erhalten dies, weil Sie diesen Thread abonniert haben.
Antworte direkt auf diese E-Mail und sieh sie dir auf GitHub an
https://github.com/pandas-dev/pandas/issues/24839#issuecomment-456043488 ,
oder schalten Sie den Thread stumm
https://github.com/notifications/unsubscribe-auth/ABQHIqiIyuE-lmMlN2Ep-4htyMrTBdefks5vFaWqgaJpZM4aJQqs
.
Für mich löst pip install numpy==1.15.4
auch dieses Problem.
@ TomAugspurger Dieses Problem tritt bei Google ganz oben auf (zumindest für mich) und es scheint, dass das Mittel einfach ist. Vielleicht reicht es also aus, nur auf eine vorgelagerte Lösung zu warten. Wirklich toll, dass du fragen würdest :)
pip3 install numpy==1.15.4
auch für mich gelöst ..
Als ich jedoch numpy herabgestuft habe, bekam ich immer wieder den Fehler ImportError: No module named 'numpy.core._multiarray_umath'
. Endlich habe ich herausgefunden, dass es passiert ist, weil ich die .h5-Datei mit installiertem numpy 1.16 gespeichert habe und sie mit dem herabgestuften numpy nicht wieder geöffnet werden würde ...
Sie können den Fehler vermeiden:
ValueError: cannot set WRITEABLE flag to True of this array
Übergeben von format='table'
an HDFStore.append
oder HDFStore.put
wenn Sie Daten mit Pandas speichern.
Dies wird wahrscheinlich Ihr Problem lösen, getestet mit Pandas 0.24 und Numpy 1.16+
@ dev72
ok aber wie wäre es mit alten HDF-Dateien, die bereits existieren?
Ich denke, der beste Weg, alte HDF-Dateien zu lesen, besteht darin, Ihre Pandas + Numpy-Version herunterzustufen, alle Daten zu lesen und sie in einen neuen HDF-Speicher mit format='table'
schreiben.
Dann sollte es mit neueren Numpy- und Pandas-Versionen funktionieren.
@ dev72 ja richtig bleibe ich lieber beim Downgrade, bis dies richtig behoben ist
Ja, das gleiche kam von Google. Vielen Dank, dass Sie dieses Problem
Nachdem wir ein paar Probleme verfolgt haben, die bei numpy
und PyTables
eingereicht wurden, würde dieser Beitrag von PyTables
master behoben ist, aber noch nicht in einer Veröffentlichung.
https://github.com/PyTables/PyTables/issues/719#issuecomment -455612656
Hat jemand versucht, PyTables
master mit numpy >= 0.16
?
Ich habe es damit zum Laufen gebracht
HDF5_DIR={HDF5_PATH} pip install -e git+https://github.com/PyTables/PyTables@492ee2f#egg=tables
pip install numpy==1.16.0
Stellen Sie sicher, dass cython und hdf5 installiert sind.
Welche Versionen von pytables und numpy reproduzieren dies? Ist es spezifisch für die Daten?
mit
pandas: 0.24.1
numpy: 1.16.2
tables: 3.4.4
das erhöht nicht,
In [8]: df = pd.DataFrame({"A": [1, 2]})
In [9]: df.to_hdf('x.hdf5', key='x')
In [10]: pd.read_hdf('x.hdf5', 'x', mode='r')
Out[10]:
A
0 1
1 2
Zu Ihrer Information, Pytables 3.5.0 und 3.5.1 befinden sich auf PyPI mit dem Fix von der Pytables-Seite.
Ein Upgrade auf pytables 3.5.1 behebt das Problem für mich auch mit numpy 1.16.2
Umgang mit tf 2.0.0 benötigen numpy (mindestens) 1.16.0. Ein Downgrade von numpy auf die vorherige Version funktioniert unter tf 2.0.0 nicht
Hilfreichster Kommentar
Bei Verwendung von numpy = 1.16.0 wird dieser Fehler angezeigt, beim Downgrade von numpy = 1.15.4 ist das Problem behoben