IndexError:列表索引超出范围// numpy?

时间:2013-09-28 13:01:37

标签: python arrays 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()

我有以下错误:

IndexError: list index out of range

我该如何解决?

感谢。

注意:每日退货公式:(x - y)/ y (x / y) - 1 ;其中x =今天Adj close,y =昨天Adj close

1 个答案:

答案 0 :(得分:0)

检查您的* .csv文件,最后一行没有Adj Close列的值。从Google财经下载的这些库存历史数据中的最后一行代表数据集中的第一个日。根据您的每日回报公式,第一天没有价值。