Ошибка индекса Python за пределами границPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Ошибка индекса Python за пределами границ

Сообщение Anonymous »

Попробуйте этот код:

Код: Выделить всё

f2 = []
for i in symb_list:
f2.append(earnings_vola(i))
Выдает ошибку: индекс выходит за пределы. Образец symb_list:

Код: Выделить всё

symb_list
Out[143]:
['MTMC',
'ANCI',
'TPLM',
'BERK',
'DGI',
'QLTY',
'GST',
'AGEN',
'NURO',
earnings_vola(i) возвращает плавающую величину

UPD. Извините, я здесь новый пользователь.

Код: Выделить всё

def earnings_vola (symbol):
price_b = marketdata.ext.load_metotron('%s'%symbol)
price = price_b.sort()
d = pickle.load(open('/home/mad/Appr/data_%s.pickle'%(symbol), 'rb'))
df = h.to_df(d)
if df['timetype'][2]=='After Close':
price['VOLA'] = (price.shift(-1)['C']-price['C'])/price['C']*100
else:
price['VOLA'] = (price['C']-price.shift(+1)['C'])/price['C']*100
x1 = pa.Series(sorted(df['Date_p']))
px = price.reindex(x1, method='ffill')
avg_vola = np.mean(px['VOLA'])
return avg_vola
UPD2

Код: Выделить всё

> IndexError                                Traceback (most recent call
> last)  in ()
>       1 f2 = []
>       2 for i in symb_list:
> ----> 3     f2.append(earnings_vola(i))
>
>  in earnings_vola(symbol)
>       4     d = pickle.load(open('/home/mad/Appr/data_%s.pickle'%(symbol), 'rb'))
>       5     df = h.to_df(d)
> ----> 6     if df['timetype'][2]=='After Close':
>       7         price['VOLA'] = (price.shift(-1)['C']-price['C'])/price['C']*100
>       8     else:
>
> /usr/local/lib/python2.7/dist-packages/pandas/core/series.pyc in
> __getitem__(self, key)
>     616     def __getitem__(self, key):
>     617         try:
> --> 618             return self.index.get_value(self, key)
>     619         except InvalidIndexError:
>     620             pass
>
> /usr/local/lib/python2.7/dist-packages/pandas/core/index.pyc in
> get_value(self, series, key)
>     728
>     729             try:
> --> 730                 return tslib.get_value_box(series, key)
>     731             except IndexError:
>     732                 raise
>
> /usr/local/lib/python2.7/dist-packages/pandas/tslib.so in
> pandas.tslib.get_value_box (pandas/tslib.c:8534)()
>
> /usr/local/lib/python2.7/dist-packages/pandas/tslib.so in
> pandas.tslib.get_value_box (pandas/tslib.c:8378)()
>
> IndexError: index out of bounds
**UPD3
Пример результата функцииprofit_vola(symbol):

Код: Выделить всё

earnings_vola(symbol='MSFT')
0.080011249349832989**
Мне нужно перебрать список символов (пример выше) и получить все результаты в списке

Подробнее здесь: https://stackoverflow.com/questions/210 ... unds-error
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»