我有一个数据框。我想找出哪些单词在整个语料库中恰好出现了五次。我还需要弄清楚如何从数据框中删除所有这些单词/删除列。
我用了这个代码
df.drop([col for col in df.columns if col.endswith('_y')],axis=1,inplace=True)
删除任何以 y 结尾的单词,但我不知道如何调整代码以查找恰好等于 5 的单词。
假设列名称中的单词由空格分隔...
str.split()
和 Counter
来计数单词。'|'
df.columns.str.contains
的列from collections import Counter
# Example DataFrame
df = pd.DataFrame(columns = ["hello", "hello world", "hello goodbye", "hello hello", "foo", "foo foo foo foo foo"])
word_count = Counter(' '.join(df.columns).split())
remove_words = [word for word in word_count if word_count[word] == 5]
columns_to_drop = df.columns[df.columns.str.contains('|'.join(remove_words))]
df.drop(columns = columns_to_drop)