J'ai rencontré un problème en remplissant un vecteur de date numérique en utilisant la version actuelle de pandas. Le même code fonctionne avec une version antérieure. Ce qui suit montre mon problème:pandas Erreur DataFrame "index tuple hors plage"
L'ancienne version (0.7.3) fonctionne
C:\WINDOWS\system32>pip show pandas
Name: pandas
Version: 0.7.3
Summary: Powerful data structures for data analysis and statistics
Home-page: http://pandas.pydata.org
Author: The PyData Development Team
Author-email: [email protected]
License: BSD
Location: c:\program files\python\python27\lib\site-packages
Requires: python-dateutil, numpy
C:\WINDOWS\system32>python
Python 2.7.12 (v2.7.12:d33e0cf91556, Jun 27 2016, 15:24:40) [MSC v.1500 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>
>>> d=np.array([None, None, None, None, dt.now(), None])
>>> b = DataFrame(d)
>>> b.fillna(method='backfill')
0
0 2017-04-02 12:21:18.175000
1 2017-04-02 12:21:18.175000
2 2017-04-02 12:21:18.175000
3 2017-04-02 12:21:18.175000
4 2017-04-02 12:21:18.175000
5 None
>>>
La vesion actuelle (0.19.2) ne fonctionne pas:
C:\WINDOWS\system32>pip show pandas
Name: pandas
Version: 0.19.2
Summary: Powerful data structures for data analysis, time series,and statistics
Home-page: http://pandas.pydata.org
Author: The PyData Development Team
Author-email: [email protected]
License: BSD
Location: c:\program files\python\python27\lib\site-packages
Requires: pytz, python-dateutil, numpy
C:\WINDOWS\system32>python
Python 2.7.12 (v2.7.12:d33e0cf91556, Jun 27 2016, 15:24:40) [MSC v.1500 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> from datetime import datetime as dt
>>> import numpy as np
>>> from pandas import DataFrame
>>> d=np.array([None, None, None, None, dt.now(), None])
>>> b = DataFrame(d)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\Program Files\Python\Python27\lib\site-packages\pandas\core\frame.py", line 297, in __init__
copy=copy)
File "C:\Program Files\Python\Python27\lib\site-packages\pandas\core\frame.py", line 474, in _init_ndarray
return create_block_manager_from_blocks([values], [columns, index])
File "C:\Program Files\Python\Python27\lib\site-packages\pandas\core\internals.py", line 4256, in create_block_manager_from_blocks
construction_error(tot_items, blocks[0].shape[1:], axes, e)
File "C:\Program Files\Python\Python27\lib\site-packages\pandas\core\internals.py", line 4230, in construction_error
if block_shape[0] == 0:
IndexError: tuple index out of range
>>>
Suis-je faire quelque chose mal ou est-ce, comme je pense, un bug chez les pandas? Si c'est un bug, comment puis-je signaler cela?
EDIT: Ceci a été déposé comme un rapport de bogue avec Pandas et sera corrigé dans la prochaine relase mineur (0.19.3)
Merci pour cette réponse. Êtes-vous en mesure de me dire où signaler cela? Pouvez-vous également expliquer ce qui se passe dans votre test. Pourquoi l'un fonctionne-t-il et l'autre non? –
@RichardB: Le traqueur de problème de Pandas est ici: https://github.com/pandas-dev/pandas/issues –