Мне нужно создать новый столбец, который сообщает, является ли клиент новым или повторяющимся.
Для этого я хочу проверить, для каждого уникального значения в телефоне, есть ли одна или несколько дат, связанных с столбцы Дата.
Phone Date
0 a 1
1 a 1
2 a 2
3 b 2
4 b 2
5 c 3
6 c 2
7 c 1
Новые пользователи - это те, для кого существует только одна уникальная пара (Телефон, Дата) с одним и тем же телефоном. Результат, который я хочу, выглядит следующим образом:
Phone Date User_type
0 a 1 recurrent
1 a 1 recurrent
2 a 2 recurrent
3 b 2 new
4 b 2 new
5 c 3 recurrent
6 c 2 recurrent
7 c 1 recurrent
Мне удается сделать это в нескольких строках кода с помощью python, но мой начальник хочет настаивать, чтобы я делал это в Таблице.
I знаю, что мне нужно использовать вычисляемое поле, но это все.
Если это может помочь, вот мой код python, который делает то же самое:
import numpy as np
import pandas as pd
for item in set(data.Phone):
if len(set(data[data.Phone == item]['Date'])) == 1:
data.loc[data.Phone == item, 'type_user'] = 'new'
elif len(set(data[tata.Phone == item]['Date'])) > 1:
data.loc[data.Phone == item, 'type_user'] = 'recurrent'
else:
data.loc[data.Phone == item, 'type_user'] = np.nan