Добавление столбцов, основанных на общем поле Python - PullRequest
0 голосов
/ 25 сентября 2018

Мне интересно, есть ли способ добавить столбцы на основе общего поля в пандах.Это мой исходный набор данных

      load       mapping      freq      99th        energy
61  175.0k     5CN0-5CN1   1.20GHz  0.937662  18952.056063
19  175.0k     5CN0-5CN1   2.10GHz  0.391280  19051.052048

Я хочу добавить следующие столбцы 99th-1.20GHz energy-1.20GHz 99th-2.10GHz и energy-2.10GHz, исходя из предположения, что load и mapping одинаковы.

Это желаемый вывод

load    mapping 99th-1.20Ghz    99th-2.10GHz    energy-1.20GHz  energy-2.10GHz
175.0K  5CN0-5CN1   0.937662    0.39128 18952.05606 19051.05205

1 Ответ

0 голосов
/ 25 сентября 2018

Я предлагаю вам использовать для этого MultiIndex столбцы, например, через pd.pivot_table.Вы можете сгладить столбцы как отдельный шаг, хотя ваши данные потеряют структуру.

res = pd.pivot_table(df, index=['load', 'mapping'], columns='freq',
                     values=['99th', 'energy'], aggfunc='first')

Результат:

                      99th                 energy              
freq               1.20GHz  2.10GHz       1.20GHz       2.10GHz
load   mapping                                                 
175.0k 5CN0-5CN1  0.937662  0.39128  18952.056063  19051.052048
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...