Вот еще один подход, использующий duplicated()
df[~df['TEXT'].str.split().str[-1].duplicated()]
Или:
df[~df['TEXT'].str.split(expand=True).ffill(1).iloc[:,-1].duplicated()]
Или:
df[~df['TEXT'].str.split(expand=True).ffill(1).duplicated([1])]
TEXT TYPE
0 Barrack Obama PERSON
2 Don Beyer PERSON
3 Doug Wilson PERSON
5 Thomas PERSON