nltk.word_tokenize returns (n,2) 形大向量(数据帧)中没有任何内容

nltk.word_tokenize returns nothing in (n,2) shaped large vector (dataframe)

我有一个基本数据集,其中包含一个名为 'comment' 的对象,一个名为 'toxicity' 的浮点数。我的数据集的形状是 (1999516, 2)

我正在尝试使用 nltk 的词标记化方法添加一个名为 'tokenized' 的新列,并创建这样的词袋:

dataset = pd.read_csv('toxic_comment_classification_dataset.csv')

dataset['tokenized'] = dataset['comment'].apply(nltk.word_tokenize)

如“IN [22]”中所述

我没有收到错误消息,直到我等了大约 5 分钟才收到此错误消息:

TypeError: 应为字符串或类似字节的对象

如何在我的矢量(数据框)中添加标记化评论作为新列?

这取决于您评论栏中的数据。看起来不是所有都是字符串类型的。您只能处理字符串数据,并保持其他类型不变

dataset['tokenized'] = dataset['comment'].apply(lambda x: nltk.word_tokenize(x) if isinstance(x,str) else x)

nltk.word_tokenize(x)是一个耗费资源的函数。如果您需要并行化您的 Pandas 代码,可以使用特殊的库,例如 Dask. See .