#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
, если хотите сохранить его таким образом