2013-02-03 88 views
1

我對python非常陌生,我只需要它就可以分析一些生物數據。
請我如何解決以下錯誤幫助,
could not convert string to float
我想要繪製(時間,距離)無法將字符串轉換爲浮點數

下面是一些樣本數據:

Nematode No. 1   1    2   2 
No. of jumps Time (sec) Distance (mm) Time  Distance 
1    0.195781141 0.893988392 1.25388 0.56569 
2    2.386623538 1.073359412 3.5848484 1.55656 
3    2.915538343 1.227371636 4.284848 2.34454545 
4    4.993603286 0.653631116 6.4545454 3.65445 
5    8.002735854 0.986036142 2.35554 0.2548545 
6    10.84267517 0.939671599 4.245454 0.5484848 

我的代碼( )

from mmap import mmap,ACCESS_READ 

from xlrd import open_workbook 
from pylab import * 
from xlrd import open_workbook,XL_CELL_TEXT 
import csv 
from scipy import stats 

values = csv.reader(open('simple.csv', 'rb'), delimiter=',',skipinitialspace=True) 

for column in values: 
    print column[1],column[2] 

Time = column[1] 
Distance = column[2] 

plot(Time,Distance) 
show() 
+2

要麼示例數據或代碼是關閉的,測試數據具有定界符空間,而代碼需要逗號,並且您的代碼正在訪問第2列和第3列,而示例數據只有2列。 –

+0

你好...你是什麼意思它訪問列2和3?我該如何改變? – Blake43

+0

我得到這個錯誤:Traceback(最近調用最後一次): 文件「C:/ Python27/jkjk」,第29行,在 plot(Time,Distance) 文件「C:\ Python27 \ lib \ packages \ matplotlib \ pyplot.py「,第2817行,在圖 ret = ax.plot(* args,** kwargs) 文件」C:\ Python27 \ lib \ site-packages \ matplotlib \ axes.py「,行3997,在情節 self.add_line(線) 文件 「C:\ Python27 \ LIB \站點包\ matplotlib \ axes.py」,線1507,在add_line ValueError異常:無法將字符串轉換爲float: – Blake43

回答

2
import numpy as np 
import matplotlib.pyplot as plt 

x, y = np.loadtxt("simple.csv", skiprows=1, unpack=True) 
plt.plot(x, y) 
plt.show() 

第一行包含列名稱,不能轉換爲浮點數,因爲它們不是開頭的數字,所以在嘗試繪製數據時應該跳過第一行。

對於更新的數據:跳過第一2行與頭和繪製第二,第三列:

x, y = np.loadtxt("simple.csv", skiprows=2, usecols=[1, 2], unpack=True) 
+0

我改變了它,但它看起來很奇怪,當我複製粘貼它希望它是有道理的......所以基本上我的第一行是線蟲否,我的第一列是沒有跳躍然後對於下一列我有每個線蟲的時間和距離 – Blake43

+0

請幫我寫一個代碼,可以爲每個線蟲繪製獨立的時間和距離圖表 – Blake43

+0

@ Mel19:我更新了loadtxt()調用新數據 – jfs

相關問題