У меня есть DataFrame pandas, определенный следующим образом (хотя и с большим количеством строк):
segment time concentration
0 1 1.0 data1
1 2 1.0 data2
2 3 1.0 data3
3 1 2.0 data4
4 2 2.0 data5
5 3 2.0 data6
6 1 3.0 data7
7 2 3.0 data8
8 3 3.0 data9
и, по сути, я хочу реорганизовать это, используя столбец сегмента в качестве новых заголовков для DataFrame (а время может быть или не быть индексом, я не думаю, что для меня это имеет значение), чтобы получить что-то вроде следующего:
time 1 2 3
0 1.0 data1 data2 data3
1 2.0 data4 data5 data6
2 3.0 data7 data8 data9
Размышляя о том, как это сделать, я подумал о том, как можно определить DataFrame со многими парами строк, столбцов и элементов. Может, словарь? Но я не уверен, как это реализовать.
Я также изучал метод pd.melt() и нашел этот вопрос более 6 лет назад, который по сути противоположно тому, что я спрашиваю. Опять же, не знаю, как бы я реализовал pd.melt() и уместно ли это здесь.
Спасибо!
Вот это данные, используемые для определения DataFrames выше (в целях воспроизводимости):
import pandas as pd
df = pd.DataFrame([[1,1.0,'data1'], [2,1.0,'data2'], [3,1.0,'data3'],
[1,2.0,'data4'], [2,2.0,'data5'], [3,2.0,'data6'],
[1,3.0,'data7'], [2,3.0,'data8'], [3,3.0,'data9'],
],
columns = ['segment','time','concentration'])
df_target = pd.DataFrame([[1.0,'data1','data2','data3'],
[2.0,'data4','data5','data6'],
[3.0,'data7','data8','data9'],
],
columns = ['time',1,2,3])
Подробнее здесь: https://stackoverflow.com/questions/786 ... -dataframe