У меня есть два набора данных CSV.Один содержит два столбца (время и логический флаг), а другой набор данных содержит некоторую информацию. У меня есть некоторые графические функции, которые я хотел бы визуально отобразить.Данные отбираются на разных частотах, поэтому количество строк может не совпадать для наборов данных.Как построить отдельные графики для диапазона данных, где булево значение истинно?
Вот как выглядят контактные данные:
INDEX | TIME | CONTACT
0 | 240:18:59:31.750 | 0
1 | 240:18:59:32.000 | 0
2 | 240:18:59:32.250 | 0
........
1421 | 240:19:05:27.000 | 1
1422 | 240:19:05:27.250 | 1
Другие (данные о транспортных средствах) не очень важныно содержит такие значения, как вес, скорость (MPH), положение педали и т. д.
У меня есть много отдельных больших файлов Excel, и поскольку формы не совпадают, я не уверен, как разделить данные на части с помощью флагов времени, поэтому я сделалниже приведена функция для создания диапазонов, но я думаю, что это можно сделать более простым способом.
Вот рабочий код (с выводом ниже).Короче говоря, есть ли более простой способ сделать это?
def determineContactSlices(data):
contactStart = None
contactEnd = None
slices = pd.DataFrame([])
for index, row in data.iterrows():
if row['CONTACT'] == 1:
# begin slice
if contactStart is None:
contactStart = index
continue
else:
# still valid, move onto next
continue
elif row['CONTACT'] == 0:
if contactStart is not None:
contactEnd = index - 1
# create slice and add the df to list
slice = data[contactStart:contactEnd]
print(slice)
slices = slices.append(slice)
# then reset everything
slice = None
contactStart = None
contactEnd = None
continue
else:
# move onto next row
continue
return slices
Вывод: ([15542 строк x 2 столбца])
Index Time CONTACT
1421 240:19:05:27.000 1
1422 240:19:05:27.250 1
1423 240:19:05:27.500 1
1424 240:19:05:27.750 1
1425 240:19:05:28.000 1
1426 240:19:05:28.250 1
... ...
56815 240:22:56:15.500 1
56816 240:22:56:15.750 1
56817 240:22:56:16.000 1
56818 240:22:56:16.250 1
56819 240:22:56:16.500 1
С этим выводом я намерен пройти через каждыйВременной интервал и отображение данных транспортного средства в подзадачах.
Любая помощь или руководство будет высоко ценится (:
ОБНОВЛЕНИЕ:
Я думаю, я могу просто сделать filteredData = vehicleData[contactData['CONTACT'] == 1]
, нозатем я сталкиваюсь с тем, как вести график индивидуально, когда есть разъединение. Например, если есть 7 соединений разного времени и длины, я бы хотел иметь 7 отдельных графиков для графика.