Как вернуть среднее значение одного столбца по группам из нескольких столбцов - PullRequest
0 голосов
/ 26 ноября 2018

У меня есть фрейм данных, который выглядит следующим образом:

Type  Time  Node  Bytes
 A     1     0     11         
 A     1     0     12
 B     1     0     13
 B     1     1     14

Я хочу сгруппировать фрейм данных по типу, времени и узлу и обозначить данные на основе типа.Результирующий фрейм данных должен выглядеть следующим образом:

 Mean_A     Mean_B
  11.5      13.5

Будучи новичком в фрейме данных pandas, я написал код, который просто группирует по значению.

total_kilobytes = data.groupby(['Time','Node','Type'])['KilobytesRaw'].sum().mean().

Это возвращает среднее значение для всехтипы, но я хочу индивидуальное среднее для каждого типа и сохранить результат в виде кадра данных, а не серии.

Ответы [ 2 ]

0 голосов
/ 26 ноября 2018

Использование pd.pivot_table:

res = pd.pivot_table(df, columns='Type', values=['Bytes']).add_prefix('Mean_')

print(res)

Type   Mean_A  Mean_B
Bytes    11.5    13.5
0 голосов
/ 26 ноября 2018

Я считаю, что вам нужно:

total_kilobytes = data.groupby('Type')['Bytes'].mean().to_frame().T.add_prefix('Mean_')
print (total_kilobytes)
Type   Mean_A  Mean_B
Bytes    11.5    13.5
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...