ValueError: could not convert string to float solution

ValueError: could not convert string to float solution

我有一个包含数据的文本文件。在这种情况下,数据只是数字“0.049371 0.049371 0.000000”。

我有密码

import numpy as np
import matplotlib.pyplot as plt
data = np.loadtxt("/path/to/file", delimiter=",")

plt.figure()

plt.plot(range(len(data)), data, color='blue')
plt.xlim(0, 100)
plt.ylim(0, 50)
plt.xlabel('t / t₀', fontstyle = 'italic')
plt.ylabel('Speed', fontstyle = 'italic')



plt.show()

但我收到错误消息 'ValueError: could not convert string to float'。有没有办法将文本文件中的所有值转换为浮点数?

谢谢

在行 data = np.loadtxt("/path/to/file", delimiter=",") 中,您指定了 "," 作为分隔符。如果您的文件包含 0.049371,0.049371,0.000000.

,这将给出正确的结果

由于数字实际上是用空格分隔的,所以使用:

data = np.loadtxt("/path/to/file", delimiter=" ")

或者只是:

data = np.loadtxt("/path/to/file")

numpy.loadtext returns 一个数组,所以你可以使用 fdata = data.astype(np.float)

How to convert an array of strings to an array of floats in numpy?