Сначала отфильтруйте свои данные, а затем вы можете использовать itertools.Counter
from collections import Counter
# I think your data is just a list. So image you have
data = ['the', 'box', 'and', 'the','cat', 'are', 'in', 'that', 'other', 'box']
# List the words we don't like
bad_words = ['the','to', 'a', 'and']
# Filter these words out
words = [word for word in data if word not in bad_words]
# Get the counts
counter = Counter(words)
Результат (который вы можете просто преобразовать в обычный dict, если необходимо)
Counter({'box': 2, 'cat': 1, 'are': 1, 'in': 1, 'that': 1, 'other': 1})
Наконец, вы делаете Ваш фильтр по количеству слов (который в данном случае пуст)
{word: count for word,count in counter.items() if count>=30}