В Python я хотел бы искать по всем строкам в фрейме данных с двумя возможными путями (фрейм данных заполняется из CSV-файлов). Если столбец «Группа» для данной строки равен нулю, переместите данные этой строки в следующую строку нового фрейма данных, используя столбцы «Канал_1» и «Данные_1». Если столбец «Группа» для данной строки не равен нулю, то получите все три строки с одинаковым значением столбца «Группа» (также идентифицируемым в столбце «подгруппа» как 1, 2 или 3) и добавьте к следующему строка нового кадра данных.
Код для генерации кадра данных из CSV-файла:
for name in glob.glob(search_string):
r_file = pd.read_csv(name)
Текущий формат данных:
Channel_Num Group Sub_Group Data
1000 1 1 100
1001 1 2 105
1002 1 3 110
1003 0 0 200
1004 2 1 400
1005 2 2 405
1006 2 3 410
1007 0 0 500
Желаемый формат данных:
Group Channel_1 Data_1 Channel_2 Data_2 Channel_3 Data_3
1 1000 100 1001 105 1002 110
0 1003 200 NaN NaN NaN NaN
2 1004 400 1005 405 1006 410
0 1007 500 NaN NaN NaN NaN
Я пробовал методы GroupBy и pivot_table, но безуспешно. После того, как данные представлены в нужном формате, существуют другие вычисления, которые необходимо выполнить для вновь организованных данных, но ключом является получение их в нужном формате.