問(wèn)題描述
我正在運(yùn)行以下 python 腳本:
I'm running the following python script:
#!/usr/bin/python
import os,sys
from scipy import stats
import numpy as np
f=open('data2.txt', 'r').readlines()
N=len(f)-1
for i in range(0,N):
w=f[i].split()
l1=w[1:8]
l2=w[8:15]
list1=[float(x) for x in l1]
list2=[float(x) for x in l2]
result=stats.ttest_ind(list1,list2)
print result[1]
但是我得到了如下錯(cuò)誤:
However I got the errors like:
ValueError: could not convert string to float: id
我對(duì)此感到困惑.當(dāng)我在交互部分中僅對(duì)一行嘗試此操作時(shí),而不是使用腳本進(jìn)行循環(huán):
I'm confused by this. When I try this for only one line in interactive section, instead of for loop using script:
>>> from scipy import stats
>>> import numpy as np
>>> f=open('data2.txt','r').readlines()
>>> w=f[1].split()
>>> l1=w[1:8]
>>> l2=w[8:15]
>>> list1=[float(x) for x in l1]
>>> list1
[5.3209183842, 4.6422726719, 4.3788135547, 5.9299061614, 5.9331108706, 5.0287087832, 4.57...]
效果很好.
誰(shuí)能解釋一下這個(gè)?謝謝.
Can anyone explain a little bit about this? Thank you.
推薦答案
顯然您的某些行沒(méi)有有效的浮點(diǎn)數(shù)據(jù),特別是某些行包含無(wú)法轉(zhuǎn)換為的文本 id
漂浮.
Obviously some of your lines don't have valid float data, specifically some line have text id
which can't be converted to float.
當(dāng)您在交互式提示中嘗試時(shí),您只嘗試第一行,因此最好的方法是打印出現(xiàn)此錯(cuò)誤的行,您會(huì)知道錯(cuò)誤的行,例如
When you try it in interactive prompt you are trying only first line, so best way is to print the line where you are getting this error and you will know the wrong line e.g.
#!/usr/bin/python
import os,sys
from scipy import stats
import numpy as np
f=open('data2.txt', 'r').readlines()
N=len(f)-1
for i in range(0,N):
w=f[i].split()
l1=w[1:8]
l2=w[8:15]
try:
list1=[float(x) for x in l1]
list2=[float(x) for x in l2]
except ValueError,e:
print "error",e,"on line",i
result=stats.ttest_ind(list1,list2)
print result[1]
這篇關(guān)于ValueError:無(wú)法將字符串轉(zhuǎn)換為浮點(diǎn)數(shù):id的文章就介紹到這了,希望我們推薦的答案對(duì)大家有所幫助,也希望大家多多支持html5模板網(wǎng)!