У меня есть таблица, которая выглядит следующим образом: rev_df
.
pcid date rep rev new_rev diff Period
0 523468 2017-01-01 1127 16.60 0 NaN 1
1 523468 2017-01-02 1127 41.32 0 1 1
2 523468 2017-01-03 4568 52.39 0 1 1
3 523468 2017-01-04 4568 47.31 0 1 2
Эта строка кода вызывает некоторые ПРОБЛЕМЫ ™.
rev_df_period = rev_df.groupby(['pcid', 'Period']).agg({'date': [np.min,np.max],
'rev':np.sum,
'new_prod_rev':np.sum,
'historical_sales_rep': lambda x: x.unique()
})
The lambda x: x.unique()
вызывает следующую ошибку:
ValueError: Function does not reduce
В ходе тестирования я обнаружил, что если я изменю последнюю лямбда-функцию agg на.nunique()
, это не выдает ошибку.Но мне нужен список уникальных rep
значений, а не число значений.
Любые идеи?
Вывод должен выглядеть следующим образомэто:
new_rev date rev rep
sum amin amax sum unique
pcid Period
523468 1 0 2017-01-01 2017-02-01 1026.94 [1127,4568]
2 0 2017-03-24 2017-03-30 90.00 4568