У меня есть фрейм данных, в котором используются бинарные индикаторы, чтобы отразить, жив ли клиент в течение определенного месяца.Если клиент активен, то есть 1, а если нет, то 0. Кадр данных выглядит следующим образом:
Customer A B C D E F G H I J
11/30/2015 1 0 1 0 0 1 1 0 0 0
12/31/2015 0 1 0 1 0 1 1 0 0 1
1/31/2016 0 0 0 0 0 1 1 0 0 1
2/29/2016 1 1 1 1 1 1 0 1 1 1
3/31/2016 1 1 0 1 1 0 1 1 0 1
4/30/2016 0 1 1 1 0 1 1 1 0 1
5/31/2016 1 1 1 1 1 1 0 1 0 1
Когда клиент впервые становится активным, он получает 1 за конкретный месяц.Поэтому, когда у конкретного клиента есть его первая 1, это месяц, в котором они являются «новыми».
Я хочу добавить столбец в конце информационного кадра, который подсчитывает количество «новых» клиентов.
Я думаю, что наиболее эффективным способом сделать это было бы суммирование значений от строки 0 до строки i и подсчет количества раз, когда сумма равна 1. Когда эта сумма больше 1, тогда клиентбудет жить в течение 2 месяцев и не будет новым клиентом в данном месяце.
Я рассчитал это в Excel, используя этот метод, но мне не ясно, как это сделать в Python.
Результирующий кадр данных будет выглядеть так:
Customer A B C D E F G H I J New_Customers
11/30/2015 1 0 1 0 0 1 1 0 0 0 4
12/31/2015 0 1 0 1 0 1 1 0 0 1 3
1/31/2016 0 0 0 0 0 1 1 0 0 1 0
2/29/2016 1 1 1 1 1 1 0 1 1 1 3
3/31/2016 1 1 0 1 1 0 1 1 0 1 0
4/30/2016 0 1 1 1 0 1 1 1 0 1 0
5/31/2016 1 1 1 1 1 1 0 1 0 1 0