2015-11-12 5 views
0

В соответствии с документацией на странице Pandas нам разрешено передавать список значений функции quantile в серии Pandas.Получение ошибки при использовании Pandas.Series.quantile()

>>> s = Series([1, 2, 3, 4]) 
>>> s.quantile(.5) 
    2.5 
>>> s.quantile([.25, .5, .75]) 
0.25 1.75 
0.50 2.50 
0.75 3.25 

dtype: float64 

При попытке выполнить то же самое в своей системе, я получаю следующее сообщение об ошибке.

>>> import pandas as pd 
>>> s = pd.Series([1, 2, 3, 4]) 
>>> s 
0 1 
1 2 
2 3 
3 4 
dtype: int64 
>>> s.quantile(0.5) 
2.5 
>>> s.quantile([0.25, 0.5, 0.75]) 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
    File "/usr/lib/python2.7/dist-packages/pandas/core/series.py", line 1324, in quantile 
    result = _quantile(valid_values, q * 100) 
    File "/usr/lib/python2.7/dist-packages/pandas/compat/scipy.py", line 66, in scoreatpercentile 
    idx = per/100. * (values.shape[0] - 1) 
TypeError: unsupported operand type(s) for /: 'list' and 'float' 

Заранее спасибо.

+0

Для меня это работает в Python 2.7.6 и pandas 0.17.0. – agold

ответ

1

Я думаю, что есть проблема с версией SciPy, которую вы используете. Просто проверьте, какая версия SciPy, ваша текущая версия панд зависит и соответственно обновляет библиотеку SciPy.

Смежные вопросы