无法将字符串转换为浮点数

1 投票
1 回答
8212 浏览
提问于 2025-04-17 14:35

我刚开始学习Python,只是想用它来分析一些生物数据。
请帮我解决下面的错误,
无法将字符串转换为浮点数
我正在尝试绘制(时间,距离)的图表。

这里有一些示例数据:

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()

1 个回答

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()

第一行是你的列名,这些列名本身不是数字,所以不能转换成浮点数。在绘制数据时,你应该跳过第一行。

对于更新后的数据:跳过前两行的标题,然后绘制第二列和第三列的数据:

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

撰写回答