python - 在 Pandas 数据框中使用 RegexpTokenizer

标签 python pandas nltk

我正在尝试在数据框的列中应用 RegexpTokenizer。

数据框:

    all_cols
0   who is your hero and why
1   what do you do to relax
2   can't stop to eat
4   how many hours of sleep do you get a night
5   describe the last time you were relax

脚本:

import re
import nltk
import pandas as pd
from nltk import RegexpTokenizer

#tokenization of data and suppression of None (NA)
df['all_cols'].dropna(inplace=True)

tokenizer = RegexpTokenizer("[\w']+")
df['all_cols'] = df['all_cols'].apply(tokenizer)

错误:

TypeError: 'RegexpTokenizer' object is not callable

但是我不明白。当我使用其他 nltk 标记化模式 word_tokenize 时,它​​工作得很好......

最佳答案

请注意,调用 RegexpTokenizer 时,您只是使用一组参数创建类的实例(调用其 __init__ 方法)。 为了使用指定的模式实际标记数据框列,您必须调用其 RegexpTokenizer.tokenize方法:

tokenizer = RegexpTokenizer("[\w']+")
df['all_cols'] = df['all_cols'].map(tokenizer.tokenize)

       all_cols
0  [who, is, your, hero, and, why]
1   [what, do, you, do, to, relax]
...

关于python - 在 Pandas 数据框中使用 RegexpTokenizer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57039945/

相关文章:

python - 我想将数据框转换为列表列表,其中包含第一个列表中的列名和其他列表中的数据

python - 从文件中读取不同格式的日期并对它们进行排序

Python - NLTK 中的三元组概率分布平滑技术 (Kneser Ney) 返回零

python - python3 nltk word_tokenize() 有字符串长度限制吗?

python - 我怎样才能找到平均水平最好的州

python - 如何测试 Python 中缺少特定库的情况

python - 根据列中的值重复行

python - Rails 和 NLTK 部署到 Heroku

python - Pandas - 函数 get_dummies() 中参数 dummy_na 的好处/用例是什么?

python - 在grinder中跨代理、跨进程共享资源