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?
我有一个包含数据的文本文件。在这种情况下,数据只是数字“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?