Как создать массивы, которые являются подгруппами большего родительского массива на основе значений выбранного столбца в родительском массиве? - PullRequest
1 голос
/ 30 апреля 2019

Я очень плохо знаком с Python и программированием в целом. Мне нужно организовать большой массив необработанных данных для построения графика. Таблица данных имеет 3 столбца: идентификатор устройства, напряжение, ток. В первом столбце много повторяющихся элементов, потому что в каждом «идентификаторе устройства» измеряется много напряжений и токов, поэтому есть только часть строк с уникальным «идентификатором устройства». Моя цель - отобразить ID каждого устройства в отдельной серии. Теперь, на мой взгляд, мне нужно разделить массив на меньшие массивы, чтобы использовать типичные команды построения графиков matplotlib. Как я могу сказать python выяснить, где в столбце идентификатора устройства появляется новое значение, и либо поместить его в новый массив?

Я поиграл с numpy.unique, но теперь я думаю, что мне нужен цикл, чтобы проверить каждую строку и сравнить ее с предыдущей строкой, что-то вроде:

for row a in Device ID column:
    is row n = n-1?
    if true then continue populating new array with all columns for this row
    if false then start new array with all columns for this row

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

сортировка данных по Dev ID (2-й столбец в необработанных данных)

data_sorted_bydev_id = data[ data[:,1].argsort() ]

Просто ищите совета, если подход «по циклу» - лучший путь отсюда.

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