联接列中的字词列表



可以在熊猫中连接单词吗?我有一个单词列表,我正在尝试将它们再次变成短语

数据

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

最新更新