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]