devra rétablir le décorateur xfail dans: https://github.com/pandas-dev/pandas/pull/25517 lorsque cela sera corrigé
Je reçois tout d'un coup cette erreur, une idée?
# Your code here
input_df = pd.read_hdf(path_or_buf='x.hdf5',key='/x',mode='r')
Traceback:
`
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 : Merci d'avoir signalé cela! Un certain nombre de choses:
pandas.show_versions
?Je reçois tout d'un coup cette erreur, une idée?
pandas
. Quand ce code a-t-il fonctionné pour la dernière fois? Quelle version utilisez-vous actuellement (liée à la première question)?cc @jreback
Lorsque j'utilise numpy = 1.16.0 j'obtiens cette erreur, lorsque je rétrograde numpy = 1.15.4, le problème est parti
@gfyoung Bien sûr, voici les versions:
`` pandas.show_versions
'dépendances':
{'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 ': Aucun,' xarray ': Aucun,' IPython ':' 6.5.0 ',' sphinx ': Aucun,' patsy ' : '0.5.0', 'dateutil': '2.7.5', 'pytz': '2018.7', 'blosc': None, 'bottleneck': '1.2.1', 'tables': '3.4.4' , 'numexpr': '2.6.8', 'feather': Aucun, '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': Aucun, 'fastparquet' : Aucun, 'pandas_gbq': Aucun, 'pandas_datareader': '0.7.0'}
''
Malheureusement, je ne peux pas partager le fichier mais je pense que les problèmes viennent en effet de numpy, comme @vvvlc l'a dit, voici un autre problème sur leur git:
https://github.com/nipy/nibabel/issues/697
PS: just downgraded to numpy=1.15.4 and indeed it resolves the issue
Y a-t-il quelque chose que les pandas peuvent faire en attendant? Ou attendez juste le prochain
publication de pytables?
Le lundi 21 janvier 2019 à 5 h 34, macd2 [email protected] a écrit:
@gfyoung https://github.com/gfyoung Bien sûr, voici les versions:
'dépendances':
{'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 ': Aucun,' xarray ': Aucun,' IPython ':' 6.5.0 ',' sphinx ': Aucun,' patsy ' : '0.5.0', 'dateutil': '2.7.5', 'pytz': '2018.7', 'blosc': None, 'bottleneck': '1.2.1', 'tables': '3.4.4' , 'numexpr': '2.6.8', 'feather': Aucun, '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': Aucun, 'fastparquet' : Aucun, 'pandas_gbq': Aucun, 'pandas_datareader': '0.7.0'}malheureusement, je ne peux pas partager le fichier mais je pense que les problèmes viennent en effet
de numpy comme @vvvlc https://github.com/vvvlc dit voici un autre
problème sur leur git:nipy / nibabel # 697 https://github.com/nipy/nibabel/issues/697
-
Vous recevez ceci parce que vous êtes abonné à ce fil.
Répondez directement à cet e-mail, affichez-le sur GitHub
https://github.com/pandas-dev/pandas/issues/24839#issuecomment-456043488 ,
ou couper le fil
https://github.com/notifications/unsubscribe-auth/ABQHIqiIyuE-lmMlN2Ep-4htyMrTBdefks5vFaWqgaJpZM4aJQqs
.
Pour moi, pip install numpy==1.15.4
résout également ce problème.
@TomAugspurger, ce problème survient sur Google en tête (du moins pour moi) et il semble que le remède soit simple, alors peut-être suffit-il d'attendre un correctif en amont. Vraiment génial que vous demanderiez :)
pip3 install numpy==1.15.4
également résolu pour moi.
Cependant, lorsque j'ai rétrogradé numpy, j'ai continué à recevoir cette erreur ImportError: No module named 'numpy.core._multiarray_umath'
. J'ai finalement compris que cela se produisait parce que j'avais stocké le fichier .h5 avec numpy 1.16 installé et qu'il ne rouvrirait pas avec le numpy rétrogradé ...
vous pouvez éviter l'erreur:
ValueError: cannot set WRITEABLE flag to True of this array
en passant format='table'
à HDFStore.append
ou HDFStore.put
lorsque vous enregistrez des données avec des pandas.
Cela résoudra probablement votre problème, testé avec pandas 0.24 et numpy 1.16+
@ dev72
ok mais qu'en est-il des anciens fichiers HDF qui existent déjà?
Je pense que la meilleure façon de lire les anciens fichiers hdf est de rétrograder votre version pandas + numpy, de lire toutes les données et de les écrire dans un nouveau magasin hdf avec format='table'
.
Ensuite, cela devrait fonctionner avec les nouvelles versions de numpy et pandas.
@ dev72 oui, je
oui, la même chose est venue de google, merci d'avoir signalé ce problème
Donc, après avoir parcouru quelques problèmes soumis à numpy
et PyTables
cet article de @avalentino suggérerait que ce problème est résolu dans PyTables
master mais pas encore dans une version.
https://github.com/PyTables/PyTables/issues/719#issuecomment -455612656
Quelqu'un a-t-il essayé d'utiliser PyTables
master w / numpy >= 0.16
?
Je l'ai fait fonctionner en utilisant ça
HDF5_DIR={HDF5_PATH} pip install -e git+https://github.com/PyTables/PyTables@492ee2f#egg=tables
pip install numpy==1.16.0
Assurez-vous que cython et hdf5 sont installés.
Quelles versions de pytables et numpy reproduisent cela? Est-ce spécifique aux données?
avec
pandas: 0.24.1
numpy: 1.16.2
tables: 3.4.4
cela ne soulève pas,
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
Pour info, pytables 3.5.0 et 3.5.1 sont sur PyPI avec le correctif du côté pytables.
La mise à niveau vers pytables 3.5.1 résout le problème pour moi également avec numpy 1.16.2
traitant de tf 2.0.0 besoin de numpy (au moins) 1.16.0. la rétrogradation de numpy vers la version précédente ne fonctionnera pas sur tf 2.0.0
Commentaire le plus utile
Lorsque j'utilise numpy = 1.16.0 j'obtiens cette erreur, lorsque je rétrograde numpy = 1.15.4, le problème est parti