Python 类型错误:';int';对象不可编辑//numpy

Python 类型错误:';int';对象不可编辑//numpy,python,arrays,numpy,Python,Arrays,Numpy,以下是我的功能: import numpy as np def calc_mean(): return np.loadtxt('GOOG.csv', skiprows=1, usecols=(6)).mean(axis=0) 这是我的GOOG.csv: Date Open High Low Close Volume Adj Close # <-- column that I need 2013-09-27 874.82 877.5

以下是我的功能:

import numpy as np
def calc_mean():
    return np.loadtxt('GOOG.csv', skiprows=1, usecols=(6)).mean(axis=0)
这是我的
GOOG.csv

Date        Open    High    Low     Close   Volume     Adj Close # <-- column that I need
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
.............................................................
end of file:
.............................................................
2012-06-29  574.96  58013   572.20  580.07  2519500    580.07
2012-06-28  565.90  566.23  557.21  564.31  1920900    564.31
2012-06-27  567.70  573.99  566.02  569.30  1692300    569.30
2012-06-26  562.76  566.60  559.48  564.68  1350200    564.68
2012-06-25  567.33  568.09  557.35  560.70  1581600    560.70
谢谢


注意:google.csv
中的所有数据都是
字符串
参数
usecols
应该是可编辑的:

usecols=(5,) # or [5]

请注意,
(5)
不是一个单元素元组。它等于
5
(逗号)在构建元组时非常重要。

使用
(5)
不会创建任何类型的元组或iterable。您必须在
usecols
参数中使用
(5,)
[5]

下次请发布整个回溯,而不仅仅是最后一行。如果你的代码长得多,没有回溯,你的打字错误将很难找到。在上一次回溯中,很明显你没有修改代码。
(5)
仍然存在。您的
GOOG.csv
文件中是否有一个空行(可能在文件末尾)?这个新错误意味着您的GOOG.csv文件没有6列……我无法重现您的错误。@MichaelVayvala,正如我对您的问题的评论,如果你不发布回溯,很难理解发生了什么。事实上,我无法重现你的问题。复制示例数据并使用代码不会产生任何
索引器
。请用您现在使用的代码更新问题。@MichaelVayvala我无法复制
索引器。事实上,如果您想选择
Adj Close
列,您应该使用
6
作为列索引(并且它没有提供
索引器
)。@Bakuriu-->usecols:读取哪些列,0是第一个。例如,usecols=(1,4,5)将提取第2、第5和第6列
Traceback (most recent call last):
  File "/home/misha/Documents/finance/finance.py", line 164, in <module>
    security_mean(file_list)
  File "/home/misha/Documents/finance/finance.py", line 125, in security_mean
    return np.loadtxt('GOOG.csv', skiprows=1, usecols=([6])).mean(axis=0)
  File "/usr/lib/python2.7/site-packages/numpy/lib/npyio.py", line 825, in loadtxt
    vals = [vals[i] for i in usecols]
IndexError: list index out of range
usecols=(5,) # or [5]