سوف تحتاج إلى إعادة مصمم xfail في: https://github.com/pandas-dev/pandas/pull/25517 عندما يتم إصلاح ذلك
أتلقى فجأة هذا الخطأ ، أي فكرة؟
# Your code here
input_df = pd.read_hdf(path_or_buf='x.hdf5',key='/x',mode='r')
تتبع الأثر :
`
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 : شكرًا على الإبلاغ عن هذا! شيئين:
pandas.show_versions
؟أتلقى فجأة هذا الخطأ ، أي فكرة؟
pandas
. متى آخر مرة عمل هذا الرمز بالنسبة لك؟ ما هو الإصدار الذي تستخدمه الآن (المتعلق بالسؤال الأول)؟ccjreback
عند استخدام numpy = 1.16.0 أحصل على هذا الخطأ ، عند الرجوع إلى إصدار سابق numpy = 1.15.4 اختفت المشكلة
gfyoung بالتأكيد
"" عرض الباندا
"التبعيات":
{'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 ': None،' xarray ': None،' IPython ':' 6.5.0 '،' sphinx ': None،' patsy ' : '0.5.0'، 'dateutil': '2.7.5'، 'pytz': '2018.7'، 'blosc': بلا، 'bottleneck': '1.2.1'، 'table': '3.4.4' ، 'numexpr': '2.6.8'، 'feather': بدون، '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': لا شيء، 'fastparquet' : لا شيء ، "pandas_gbq": لا شيء ، "pandas_datareader": "0.7.0"}
""
لسوء الحظ ، لا يمكنني مشاركة الملف ولكني أعتقد أن المشكلات تأتي بالفعل من numpy كما قال vvvlc هنا مشكلة أخرى في بوابةهم:
https://github.com/nipy/nibabel/issues/697
PS: just downgraded to numpy=1.15.4 and indeed it resolves the issue
هل هناك أي شيء يمكن للباندا فعله في هذه الأثناء؟ أو فقط انتظر التالي
الافراج عن pytables؟
يوم الاثنين ، 21 يناير 2019 ، الساعة 5:34 صباحًا ، كتب macd2 [email protected] :
gfyoung @ https://github.com/gfyoung بالتأكيد ها هي الإصدارات:
"التبعيات":
{'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 ': None،' xarray ': None،' IPython ':' 6.5.0 '،' sphinx ': None،' patsy ' : '0.5.0'، 'dateutil': '2.7.5'، 'pytz': '2018.7'، 'blosc': بلا، 'bottleneck': '1.2.1'، 'table': '3.4.4' ، 'numexpr': '2.6.8'، 'feather': بدون، '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': لا شيء، 'fastparquet' : لا شيء ، "pandas_gbq": لا شيء ، "pandas_datareader": "0.7.0"}للأسف لا يمكنني مشاركة الملف ولكن أعتقد أن المشكلات تأتي بالفعل
من numpy كما قال vvvlc https://github.com/vvvlc هنا آخر
قضية على بوابة بهم:nipy / nibabel # 697 https://github.com/nipy/nibabel/issues/697
-
أنت تتلقى هذا لأنك مشترك في هذا الموضوع.
قم بالرد على هذا البريد الإلكتروني مباشرة ، وقم بعرضه على GitHub
https://github.com/pandas-dev/pandas/issues/24839#issuecomment-456043488 ،
أو كتم الخيط
https://github.com/notifications/unsubscribe-auth/ABQHIqiIyuE-lmMlN2Ep-4htyMrTBdefks5vFaWqgaJpZM4aJQqs
.
بالنسبة لي ، يعمل pip install numpy==1.15.4
أيضًا على حل هذه المشكلة.
TomAugspurger ، تظهر هذه المشكلة على Google في المقدمة (على الأقل بالنسبة لي) ويبدو أن العلاج بسيط ، لذلك ربما يكفي انتظار الإصلاح الأولي. من الرائع حقًا أن تسأل :)
pip3 install numpy==1.15.4
حلها أيضًا بالنسبة لي ..
ومع ذلك ، عندما رجعت إلى إصدار أقدم ، ظللت أتلقى هذا الخطأ ImportError: No module named 'numpy.core._multiarray_umath'
. اكتشفت أخيرًا أنه كان يحدث لأنني قمت بتخزين ملف .h5 مع تثبيت 1.16 numpy ولن يتم إعادة فتحه باستخدام numpy الذي تم إرجاعه إلى إصدار أقدم ...
يمكنك تجنب الخطأ:
ValueError: cannot set WRITEABLE flag to True of this array
تمرير format='table'
إلى HDFStore.append
أو HDFStore.put
عند حفظ البيانات باستخدام الباندا.
من المحتمل أن يحل هذا مشكلتك ، تم اختباره باستخدام الباندا 0.24 و numpy 1.16+
@ dev72
طيب ولكن ماذا عن ملفات HDF القديمة الموجودة بالفعل؟
أعتقد أن أفضل طريقة لقراءة ملفات hdf القديمة هي تقليل إصدار pandas + numpy وقراءة جميع البيانات وكتابتها في متجر hdf جديد format='table'
.
ثم يجب أن تعمل مع أحدث إصدارات numpy و pandas.
@ dev72 نعم أنا في نفس النقطة ، لكن بدلاً من التمسك بالرجوع إلى إصدار أقدم حتى يتم إصلاح ذلك بشكل صحيح
نعم نفس الشيء جاء من google ، شكرًا لتقديم هذه المشكلة @ macd2
لذلك ، بعد متابعة بعض المشكلات التي تم إرسالها عند numpy
و PyTables
تقترح هذه المشاركة من avalentino أن هذه المشكلة قد تم إصلاحها في PyTables
master ولكن ليس في الإصدار بعد.
https://github.com/PyTables/PyTables/issues/719#issuecomment -455612656
هل حاول أي شخص استخدام PyTables
master w / numpy >= 0.16
؟
حصلت عليه للعمل باستخدام هذا
HDF5_DIR={HDF5_PATH} pip install -e git+https://github.com/PyTables/PyTables@492ee2f#egg=tables
pip install numpy==1.16.0
تأكد من تثبيت cython و hdf5.
ما هي إصدارات pytables و numpy إعادة إنتاج هذا؟ هل هي خاصة بالبيانات؟
مع
pandas: 0.24.1
numpy: 1.16.2
tables: 3.4.4
هذا لا يرفع ،
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
FYI و pytables 3.5.0 و 3.5.1 موجودة على PyPI مع الإصلاح من جانب pytables.
تعمل الترقية إلى pytables 3.5.1 على إصلاح المشكلة بالنسبة لي أيضًا مع numpy 1.16.2
التعامل مع tf 2.0.0 يحتاج إلى عدد (على الأقل) 1.16.0. لن يعمل الرجوع إلى إصدار سابق numpy إلى الإصدار السابق على tf 2.0.0
التعليق الأكثر فائدة
عند استخدام numpy = 1.16.0 أحصل على هذا الخطأ ، عند الرجوع إلى إصدار سابق numpy = 1.15.4 اختفت المشكلة