可以在熊猫中连接单词吗?我有一个单词列表,我正在尝试将它们再次变成短语
数据
0 [hello, she, can, seem, to, form, something, like, a, coherent,...
1 [not, any, more,...
2 [it, is, unclear, if, any, better, deal,...
3 [but, few, in, her, party, seem, inclined ...
4 [it, is, unclear, if, the, basic, conditions, for, any,...
Name: Data, dtype: object
stop_words = set(stopwords.words('english'))
#new words
new_stopwords = {'hello'}
new_list = stop_words.union(new_stopwords)
#remove from NLTK stop list
not_stopwords = {'no', 'not, 'any'}
stopwords_list = set([word for word in new_list if word not in not_stopwords])
df['Data'] = df['Data'].' '.join([wrd for wrd in Data if wrd not in stopwords_list])
输出:
File "<ipython-input-281-498b9daa386f>", line 1
df['Description_pretraites'] = df['Description_pretraites'].' '.join([wrd for wrd in replace_hour_token if wrd not in stopwords_list])
^
SyntaxError: invalid syntax
良好的输出
0 [can seem form something like coherent...
1 [not any more...
2 [is unclear any better deal...
3 [few party seem inclined ...
4 [is unclear basic conditions any...
Name: Data, dtype: object
据我所知,在熊猫中,连接用于连接列。但是是否可以在一列中进行联接?
将.apply
与生成器一起使用:
df['Data']=df['Data'].apply(lambda x: ' '.join(wrd for wrd in x if wrd not in stopwords_list))
或嵌套列表理解:
df['Data'] = [' '.join(wrd for wrd in x if wrd not in stopwords_list) for x in df['Data']]
示例:
d = {'Data':[['hello', 'she', 'can'],
['not', 'no', 'more', 'to']]}
df = pd.DataFrame(data=d)
print (df)
Data
0 [hello, she, can]
1 [not, no, more, to]
stopwords_list = set(['no','not'])
df['Data'] = [' '.join(wrd for wrd in x if wrd not in stopwords_list) for x in df['Data']]
print (df)
Data
0 hello she can
1 more to