Python SciPy:链接错误
任务 我想对从CSV文件检索到的数组运行链接函数。以下是我正在使用的脚本:Python SciPy:链接错误,python,numpy,scipy,Python,Numpy,Scipy,任务 我想对从CSV文件检索到的数组运行链接函数。以下是我正在使用的脚本: r = [] with open('D:\ResultsFiles\mainforspecial.csv', 'rb') as csvfile: spamreader = csv.reader(csvfile) for row in spamreader: r.append(row) vals = [line[1:] for line in r[1:]] varl2 = np.array(val
r = []
with open('D:\ResultsFiles\mainforspecial.csv', 'rb') as csvfile:
spamreader = csv.reader(csvfile)
for row in spamreader:
r.append(row)
vals = [line[1:] for line in r[1:]]
varl2 = np.array(vals,dtype=object)
try:
linkage_matrix = linkage(varl2, "single")
except ValueError,e:
print "error",e
然而,当我运行这段代码时,它给了我一个错误“无法将字符串转换为浮点”。我在StAdvExcel中探索了其他问题,并发现要解决这个错误的数据格式需要考虑。p>
val2的格式如下:
[['0' '1' '22','0' '0' '2948']
['0' '1' '16', '0' '1' '2945']
['0' '2' '19' , '0' '0' '2854']
...,
['0' '1' '0' ,'1' '0' '53']
['0' '1' '0' , '1' '0' '3498']
['0' '21' '9' ,'1' '0' '2878']]
好的,我找到了答案供将来参考:
在python中对列表/矩阵的每个项目使用
float()
函数,以获得导致错误的确切项目编号。在我的例子中,只有一行末尾有一个额外的'
好的,我找到了答案供将来参考:
在python中对列表/矩阵的每个项目使用
float()
函数,以获得导致错误的确切项目编号。在我的例子中,只有一行末尾有一个额外的'
它在哪一行引发此错误,请具体说明。几乎所有的行,这是文件中每一行完全包含的格式011211130751010 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 2 71 23 0 1 1 1 1 1 1 1 1 1 1 2 2976 0 2 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 0 1 1 0 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0询问代码,然后调用linkage(varl2,“single”)
linkage\u matrix=linkage(varl2,“single”)
-这一行没有什么意义<代码>链接
的第一个参数是压缩距离矩阵,varI2
不是距离矩阵。值得一提的是,它可以替代地,n维中的m个观测向量的集合可以作为m×n阵列传递。varl2是长度为m、宽度为n的数组?具体来说,它在哪一行引起此错误。几乎所有的行,这是文件中每一行完全包含的格式011211130751010 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 2 71 23 0 1 1 1 1 1 1 1 1 1 1 2 2976 0 2 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 0 1 1 0 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0询问代码,然后调用linkage(varl2,“single”)
linkage\u matrix=linkage(varl2,“single”)
-这一行没有什么意义<代码>链接
的第一个参数是压缩距离矩阵,varI2
不是距离矩阵。值得一提的是,它可以替代地,n维中的m个观测向量的集合可以作为m×n阵列传递。varl2是长度为m、宽度为n的数组?