#python #pandas #group-by #transform #reshape
#python #pandas #группировка по #преобразовать #изменить
Вопрос:
У меня есть следующий фрейм данных, который я хочу изменить:
year control Counts_annee_control
0 2014.0 0 81.0
1 2016.0 1 147.0
2 2016.0 0 168.0
3 2015.0 1 90.0
4 2016.0 1 147.0
Я хочу control
, чтобы столбец был новым индексом, поэтому у меня будет только два столбца. year
Значениями должны быть новые столбцы фрейма данных, и, наконец Counts_annee_control
, столбец заполнит фрейм данных.
Я пытался использовать groupby
и transform
, но я не думаю, что делаю это правильно.
Комментарии:
1.
control
не может быть индексом, потому что он содержит повторяющиеся значения2. Вы пробовали
df = df.set_index("control")
?
Ответ №1:
Вы, вероятно, ищете pivot_table
.
Если df
это ваш фрейм данных, то это
modified_df = df.pivot_table(
values='Counts_annee_control', index='control', columns='year'
)
приведет к
year 2014.0 2015.0 2016.0
control
0 81.0 NaN 168.0
1 NaN 90.0 147.0