import pandas as pd s = pd.Series([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]) n = 2 # replace all values except the top 2 most frequent top_n_values = s.value_counts().index[:n] s = s.apply(lambda x: x if x in top_n_values else -1) print(s)