#pandas #jupyter-notebook
#pandas #jupyter-notebook
Вопрос:
У меня есть фрейм данных:-
col count
0 B 1
1 B 2
2 A 1
3 A 2
4 A 3
5 C 1
6 C 2
7 C 3
8 C 4
wan для создания новой переменной с именем Flag в соответствии с последним появлением B , A в переменной col. ссылка df:-
col count Flag
0 B 1 0
1 B 2 1
2 A 1 0
3 A 2 0
4 A 3 1
5 C 1 0
6 C 2 0
7 C 3 0
8 C 4 1
TIA
Ответ №1:
Используйте Series.duplicated
с numpy.where
:
df['Flag'] = np.where(df['col'].duplicated(keep='last'), 0, 1)
Или Series.view
с инвертирующей маской с помощью ~
:
df['Flag'] = (~df['col'].duplicated(keep='last')).view('i1')
print (df)
col count Flag
0 B 1 0
1 B 2 1
2 A 1 0
3 A 2 0
4 A 3 1
5 C 1 0
6 C 2 0
7 C 3 0
8 C 4 1