Python: не удалось преобразовать строку в число с плавающей точкой: - PullRequest
0 голосов
/ 09 апреля 2020

Когда я запускаю приведенный ниже код, я получаю сообщение об ошибке «ValueError: не удалось преобразовать строку в float:». Я просмотрел свой файл 1.CSV, чтобы увидеть, есть ли в столбцах данные типа строкового типа, если я удалил эти столбцы. У меня вопрос, что мне не хватает в этой проблеме?

import numpy as np
import matplotlib.pyplot as plt

data = np.loadtxt('1.csv', skiprows=2, delimiter=',')
time = data[:, 6]
HTR1_Volts = data[:, 24]
HTR2_Volts = data[:, 25]

plt.plot(time, HTR1_Volts, color='red', label="HTR1_Volts")
plt.plot(time, HTR2_Volts, color='blue', label="HTR2_Volts")
plt.ylabel("CO2 (ppm)")
plt.xlabel("Time (sec)")
plt.title('Interesting Graph\nCheck it out')
plt.grid(color='black', linestyle='-', linewidth=0.5)
legend_x = 1
legend_y = 0.5
plt.legend(["HTR1_Volts", "HTR2_Volts"], loc='center left', bbox_to_anchor=(legend_x, legend_y))

plt.savefig('PLOT1.PNG', dpi=600, bbox_inches="tight")

plt.show()

1 Ответ

0 голосов
/ 09 апреля 2020

Поскольку вы используете буквальную запятую в качестве разделителя, велика вероятность того, что ваши данные где-то перепутались и сместились. Если это так, другое поле теперь на вашем пути.

Проверьте, все ли значения с плавающей запятой ограничены точкой. Проверьте, есть ли запятая во всех других полях. Если это так, либо экранируйте, либо удалите запятую.

Рекомендуется использовать точку с запятой в качестве разделителя в файлах csv.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...