моя проблема тесно связана с Групповой подсчет только тогда, когда определенное значение присутствует в одном из столбцов в pandas.
Допустим, у меня есть фрейм данных, отсортированный по not_unique_id
и date_of_call
.
rng = pd.date_range('2015-02-24', periods=8, freq='D')
df = pd.DataFrame(
{
"unique_id": ["K0", "K1", "K2", "K3", "K4", "K5", "K6","K7"],
"not_unique_id": ["A000", "A111", "A222", "A222", "A222", "A222", "A222","A333"],
"date_of_call": rng,
"customer_reached": [1,0,0,1,1,1,1,1],
}
)
df.sort_values(['not_unique_id','date_of_call'], inplace=True, ascending=False)
df.reset_index(drop=True, inplace=True) # reset index
df.head(10)
Теперь я хочу добавить новый столбец, который сообщает мне, как часто клиенту звонили успешно в прошлом. Другими словами: подсчитайте, сколько раз клиент был достигнут в прошлом, и сохраните результат в новом столбце. Для приведенного примера это будет результат:
Как бы вы это сделали?