numpy错误:无法对灵活类型进行归约,从列表读取数据时出现此问题
我正在尝试通过读取csv文件中的列来进行简单的回归分析,并使用numpy和stats来完成这个分析。我的代码在打印x或y的时候都能正常运行,但在最后一行代码时出现了错误。
line 62, in _mean
ret = um.add.reduce(arr, axis=axis, dtype=dtype, out=out, keepdims=keepdims)
TypeError: cannot perform reduce with flexible type
我觉得错误出在我把一个列表放进了asarray函数里。如果我手动把数据放进asarray函数,代码就能正常工作,但我想直接从csv文件中读取数据。
这是我的代码:
from scipy import stats
import numpy as np
import pylab
import csv
import sys
cr = csv.reader(open(sys.argv[1],"rU").readlines()[2:])
off_signups=[]
off_cost=[]
for row in cr:
off_signups.append(row[1])
off_cost.append(row[2])
x=np.asarray(off_signups)
y=np.asarray(off_cost)
print x
print y
slope, intercept, r_value, p_value, slope_std_error = stats.linregress(x, y)
1 个回答
1
我对Python还很陌生,所以不是专家……
但是我试了一下
a = np.asarray([1, 4, 5, 8], float)
这对我帮助很大。