Ошибка преобразования в numpy.loadtxt () - PullRequest
1 голос
/ 03 апреля 2012

Я пытаюсь построить два столбца из текстового файла, используя python matplotlib, но получаю

ValueError: недопустимый литерал для float (): 148.000000;

Это мой скрипт на питоне

import numpy as np
import matplotlib.pyplot as plt
x,y = np.loadtxt('sharma5.txt')
fig = plt.figure()
ax = fig.add_subplot(111)
ax.plot(x,y)
plt.show()

, а вот часть моего текстового файла

36.000000   61.000000
36.000000   61.000000
36.000000   148.000000;
36.000000   60.000000
36.000000   120.000000
36.000000   77.000000
36.000000   160.000000

Заранее спасибо ..

Ответы [ 2 ]

1 голос
/ 07 апреля 2012

Если вы не хотите исправлять файл данных, вы можете использовать опцию converters для loadtxt, чтобы удалить все лишние точки с запятой. Что-то вроде np.loadtxt("sharma5.txt", converters = {1: lambda s: float(s.strip(";"))}) должно работать.

0 голосов
/ 03 апреля 2012

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

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