Это мой кадр данных:группы строк и вычислить среднее значение и подсчет
df =
UD QTY GRADE TIME_1 TIME_2
1 20 5 22.5 16.1
1 20 5 26.2 19.5
1 20 5 30.0 14.0
1 20 4 20.0 18.5
2 25 4 23.3 19.9
Мне нужно рассчитать средние значения TIME_1
и TIME_2
в каждой комбинации UD
и QTY
. Затем я хочу добавить новый столбец GRADE_COUNT
, который будет хранить общее количество строк в группе. Например, в приведенных выше данных установлено существует 4 строки в каждой группе, определенной UD
= 1 и QTY
= 20.
Результат должен быть такой:
df =
UD QTY MEAN_TIME_1 MEAN_TIME_2 COUNT
1 20 24.67 17.02 4
2 25 23.3 19.9 1
Я написал этот код, какие группы строк, вычисляет средние значения и значения count.
groupby_object = df[['UD', 'QTY', 'GRADE', 'TIME_1', 'TIME_2']].groupby(['TIME_1', 'TIME_2])
df = groupby_object.agg('mean').rename(columns = lambda x: x + ' mean').join(pd.DataFrame(groupby_object.size(),columns=['counts'])).reset_index()
Но вместо расчета средних времен, он вычисляет значит QTY
и GRADE
, также столбец UD
исчезает.
'df.groupby ([ 'УД', 'КОЛ']) [[ 'TIME_1', 'TIME_2' ]].mean() '- это то, что вы хотите? – MaxU
@MaxU: см. Мое обновление. Я опубликовал ожидаемый результат. – Dinosaurius
@DavidZ: Я использую последнюю версию панд: 0.19.1 – Dinosaurius