pro*_*off 6 python string tokenize nltk pandas
我有一个 pandas 数据框 raw_df,有 2 列、ID 和句子。我需要将每个句子转换为字符串。下面的代码不会产生错误,并表示规则的数据类型是“对象”。
raw_df['sentences'] = raw_df.sentences.astype(str)
raw.df.sentences.dtypes
Run Code Online (Sandbox Code Playgroud)
输出:dtype('O')
然后,我尝试对句子进行标记并得到一个 TypeError ,该错误表明该方法需要一个字符串或类似字节的对象。我究竟做错了什么?
raw_sentences=tokenizer.tokenize(raw_df)
Run Code Online (Sandbox Code Playgroud)
相同类型错误
raw_sentences = nltk.word_tokenize(raw_df)
Run Code Online (Sandbox Code Playgroud)
我假设这是一个 NLTK 分词器。我相信这些通过将句子作为输入并返回标记化单词作为输出来工作。
你传递的是raw_df- 一个pd.DataFrame对象,而不是str. 您不能期望它在不告诉您自己的情况下按行应用该函数。有一个函数需apply要这样做。
raw_df['tokenized_sentences'] = raw_df['sentences'].apply(tokenizer.tokenize)
Run Code Online (Sandbox Code Playgroud)
假设这一切顺利,tokenized_sentences将是一列列表。
由于您正在 DataFrames 上执行文本处理,因此我建议您查看我的另一个答案:Applying NLTK-based text pre-processing on a pandas dataframe
| 归档时间: |
|
| 查看次数: |
10071 次 |
| 最近记录: |