Я пытаюсь определить процедуру, которая вычисляет среднее значение дневных доходностей для каждой ценной бумаги:IndexError: индекс индекса вне диапазона // numpy?
def Adj_mean():
return np.loadtxt('my_file.csv', skiprows=1, usecols=(1,2,3,4,5,6)).mean(axis=0)
Вот my_file.csv
:
Date Open High Low Close Volume Adj Close
2013-09-27 874.82 877.52 871.31 876.39 1258800 876.39
2013-09-26 878.3 882.75 875 878.17 1259900 878.17
2013-09-25 886.55 886.55 875.6 877.23 1649000 877.23
2013-09-24 886.5 890.1 881.4 886.84 1467000 886.84
2013-09-23 896.15 901.59 885.2 886.5 1777400 886.5
2013-09-20 898.39 904.13 895.62 903.11 4345300 903.11
2013-09-19 905.99 905.99 895.4 898.39 1597900 898.39
2013-09-18 886.35 903.97 883.07 903.32 1934700 903.32
2013-09-17 887.41 888.39 881 886.11 1259400 886.11
2013-09-16 896.2 897 884.87 887.76 1336500 887.76
Когда я запустить его:
print Adj_mean()
I имеют следующую ошибку:
IndexError: list index out of range
Как это исправить?
Спасибо.
Примечание: в день возврата формула: (х - у)/г или (х/у) - 1; где x = сегодня Adj close, и y = вчера Adj close
Может ли это, что cols начинается с индекса 0, а не 1? – zenpoy
Код запускается и дает 'array ([8.89666000e + 02, 8.93799000e + 02, 8.82847000e + 02, 8.88382000e + 02, 1.78859000e + 06, 8.88382000e + 02])'. Дайте нам воспроизводимый образец. – Veedrac
да - этот код работает для меня и дает: [8.89666000e + 02 8.93799000e + 02 8.82847000e + 02 8.88382000e + 02 1.78859000e + 06 8.88382000e + 02] – zenpoy