Я присваиваю целое число различным группам в pandas
df
.В настоящее время я использую pd.factorize
для этого.Тем не менее, я надеюсь учесть только текущие значения.
Например, используя df
ниже, уникальное целое число присваивается Member
.Это накапливается на основе каждого уникального значения, которое появляется.Но я надеюсь учесть только текущие значения.Например, если значение в Member
больше не появляется, присвойте это целое число следующему новому значению в Member
.Поскольку C2 больше не появляется в df, я хочу передать это целое число следующему уникальному значению в Member
.
df = pd.DataFrame({
'Period' : [1,1,1,2,2,2,3,3,3,3],
'Member' : ['C1','C2','C4','C1','C2','C4','C1','C3','C4','C5'],
})
df['Area'] = (pd.factorize(df['Member'])[0] + 1)
Out:
Period Member Area
0 1 C1 1
1 1 C2 2
2 1 C4 3
3 2 C1 1
4 2 C2 2
5 2 C4 3
6 3 C1 1
7 3 C3 4
8 3 C4 3
9 3 C5 5
Предназначено:
Period Member Area
0 1 C1 1
1 1 C2 2
2 1 C4 3
3 2 C1 1
4 2 C2 2
5 2 C4 3
6 3 C1 1
7 3 C3 2
8 3 C4 3
9 3 C5 4
Этот вывод предполагает, что C1,C3,C4,C5
все появляются в следующие периоды