Muszę grupować i zastosować pandas DF z następnymi rzędami


['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']

Następnie stosuję grupę i obliczę średnią z każdego pola i przekazując nowe DF

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

I sprawdź nowe pola DF,

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

Problem polega na tym, że chcę wykreślić histogram pokazujący "żądany_cmsdataset" i odpowiednie średnie wartości każdego wiersza, ale nie pozwala mi tak długo, jak w nowym dataframe ten wiersz znikną.

Czy jest jakiś sposób, aby wykonać tę samą operację bez utraty zgrupowanego wiersza?

0
Carlos P.Dengra 14 październik 2020, 23:30

1 odpowiedź

Najlepsza odpowiedź

Myślę (jestem na mobilnym rn), jeśli agregujesz w ten sposób kolumna grupy staje się indeksem nowego DF. Spróbuj uruchomić df = df.reset_index(). Myślę, że dodanie as_index=False w Groupby również działa. Potwierdzi jutro i edytuj odpowiedź. Możesz także spiskować df.index, jeśli chcesz to zachować

0
cripcate 14 październik 2020, 21:08