将函数应用于列表的数据框列

Apply function to dataframe column of lists

我有一组文本字符串 (A)。我可以将它们分解为标记 (B)。我想删除一些标记,这样我最终只得到单词 (C)。我试过了:

from nltk.tokenize import word_tokenize

df = pd.DataFrame({'A': ["potato soup, 99", "2 tomato"]})

# Tokenise
df['B'] = df['A'] .apply(word_tokenize)

# Words only
def Words(Token):
    if Token .isalpha():
        return Token
df['C'] = df['B'] .apply(Words)

但是我得到一个错误:

AttributeError: 'list' object has no attribute 'isalpha'

我正在将函数应用于列表,但我想将其应用于列表中的内容。

使用列表理解:

df['C'] = df['B'].apply(lambda x: [y for y in x if y.isalpha()])