I have customers duplicates with different status because there is a row for each customer subscription/product. I want to generate a new_status
for the customer and for it to be 'canceled', every subscription status must be 'canceled' together.
I used:
df['duplicated'] = df.groupby('customer', as_index=False)['customer'].cumcount()
to separate every duplicated in a index to indicate the duplicated values
Customer | Status | new_status | duplicated
X |canceled| | 0
X |canceled| | 1
X |active | | 2
Y |canceled| | 0
A |canceled| | 0
A |canceled| | 1
B |active | | 0
B |canceled| | 1
Thus, I'd like to use .apply and/or .loc to generate:
Customer | Status | new_status | duplicated
X |canceled| | 0
X |canceled| | 1
X |active | | 2
Y |canceled| | 0
A |canceled| canceled | 0
A |canceled| canceled | 1
B |active | | 0
B |canceled| | 1