мне это кажется странным.У меня есть скрипт, который запускает текстовые файлы и по большей части работает нормально, но несколько файлов заставляют скрипт выдавать ошибку.Данные в файле выглядят так:
start time = 0.016000
Time. Col1. Col2
0.000000. 0.00000 0.000000
0.016000. -0.40000. -0.500000
0.031000. -8.40000. -8.900000
0.047000. -8.72000. -8.770000
0.062000. -8.730000. -8.970000
Одна из вещей, которые необходимо выполнить сценарию, - найти время начала и вернуть значение в Col2.
Я нахожу время начала с помощью регулярного выражения и проверяю оператором печати, который всегда верен, поэтому я доволен этой частью.
start = float(reg expression...)
print (start)
Затем мне нужно найти индекс началавремя, чтобы получить значение из col2
data_start = df[df['Time'] == start].index.item()
Что я заметил, это то, что (используя данные выше), если мое время начала находится в позициях 0-3 (то есть 0,0000, 0,016000, 0,031000 или 0,047000) Iполучить следующую ошибку
data_start = df[df['Time (s)'] == start].index.item()
File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/pandas/core/base.py", line 719, in item
return self.values.item()
ValueError: can only convert an array of size 1 to a Python scalar
Но если время начала находится в позиции 4 того же сценария (например, 0,062000 в этом случае), то возвращается индекс и сценарий выполняется отлично.Я подтвердил это, отредактировав время начала вручную в нескольких текстовых файлах данных.На самом деле не имеет значения, какое значение этих первых позиций имеет значение ValueError.
Действительно в тупик, поэтому любая помощь приветствуется!