Вот как я это сделаю:
import pandas as pd
# Partial dataframe
df = pd.DataFrame({'Mix_id':[1234567, 1234567, 1234567, 1234567, 1234567],
'Title':['Hello its me', 'Music', 'Evolve', 'Evolve', 'Signs'],
'Artist':['Martin', 'Ones and Twos', 'Julian', 'Julian', 'Julian'],
'Album':["", "", "", "Evolve", ""]})
Исходный кадр данных:
df = df.groupby(['Mix_id', 'Title', 'Artist'], as_index=False).apply(lambda x : x[x.Album.str.len() == x.Album.str.len().max()])
df.reset_index(level=0, drop=True, inplace=True)
df.sort_index()
Выход: