Я пытаюсь сделать столбец уникальным, если они дублируются и если дублируются значения другого столбца. В этом наборе данных.
Name Age
0 Tom 20
1 Tom 20
2 Jack 19
3 Terry 18
4 Terry 20
Я хочу, чтобы Том оставался таким же, как Терри, чтобы он был Терри_1 и Терри_2 и так далее, если у нас более 1 терри и если возраст не совпадает. Я пробовал код ниже.
import pandas as pd
import numpy as np
data = {'Name':['Tom', 'Tom', 'Jack', 'Terry','Terry'], 'Age':[20, 20, 19, 18,20]}
df = pd.DataFrame(data)
df.Name=df.Name+df.groupby(['Name','Age']).cumcount().astype(str)
Я получаю:
Name Age
0 Tom0 20
1 Tom1 20
2 Jack0 19
3 Terry0 18
4 Terry0 20
Я хочу:
Name Age
0 Tom 20
1 Tom 20
2 Jack 19
3 Terry_1 18
4 Terry_2 20
Поскольку возраст Тома такой же, поэтому мы знаем У нас тот же Том, но Терри разный в зависимости от возраста.
Спасибо, Сэм