Построение сгруппированных полей в функции groupby pandas

#python #pandas #dataframe

#python #pandas #фрейм данных

Вопрос:

Мне нужно сгруппировать и применить pandas df со следующими строками

 
['CpuEff',
 'my_remote_host',
 'GLIDEIN_CMSSite',
 'BytesRecvd',
 'BytesSent',
 'CMSPrimaryPrimaryDataset',
 'CMSPrimaryDataTier',
 'DESIRED_CMSDataset',
 'DESIRED_CMSPileups',
 'type_prefix',
 'CMS_Jobtype',
 'CMS_Type',
 'CommittedTime',
 'CommittedSlotTime',
 'CpusProvisioned',
 'CpuTimeHr',
 'JobRunCount',
 'LastRemoteHost']

  

Затем я применяю group by и вычисляю среднее значение для каждого поля и перехожу в новый df

 grouped = df.groupby(['DESIRED_CMSDataset'])
df_mean=grouped.mean()
df_mean

  

И проверьте новые поля df,

 list(df_mean.columns) 
  
 ['CpuEff',
 'BytesRecvd',
 'BytesSent',
 'CommittedTime',
 'CommittedSlotTime',
 'CpusProvisioned',
 'CpuTimeHr',
 'JobRunCount']
  

Проблема в том, что я хочу построить гистограмму, показывающую ‘DESIRED_CMSDataset’ и соответствующие средние значения каждой строки, но это не позволяет мне, пока в новом фрейме данных эта строка исчезает.

Есть ли какой-либо способ выполнить ту же операцию без потери нащупанной строки?

Ответ №1:

Я думаю (я нахожусь на мобильном rn), если вы агрегируете таким образом, столбец вашей группы становится индексом нового df. Попробуйте запустить df = df.reset_index() . Я думаю, что добавление as_index=False во время groupby также работает. Подтвердит и отредактирует ответ завтра. Вы также можете построить график df.index , если хотите сохранить его таким образом