Подводя итог обсуждению в комментариях: токены не хранятся нигде - они генерируются криптогенератором (не совсем точно о точном процессе генерации) из SecruityStamp, и когда они возвращаются, их можно дешифровать и сравнивать.
Что касается поля EmailConfirmed
- это вам нужно поддерживать и ухаживать. Вам будет необходимо запретить вход для пользователей без подтвержденного письма. И вам нужно будет установить флаг, когда будет получено подтверждение по электронной почте.
Вы можете сравнивать DataFrames поэлементно, а затем проверять те строки, где любой из элементов отличается:
indexes = (raw1 != raw2).any(axis=1)
raw4 = raw2.loc[indexes]
Вывод:
Name Age Height
1 Honey 26 NaN
3 Tree 0 155.0
4 Rot 22 NaN
5 NaN 28 170.0
Обратите внимание, что этот подход выиграл не работает, если оба значения из raw1
и raw2
равны NaN
(NaN
всегда отличается от любого числа, включая NaN
).