在列中提取词干
Stemming words within a column
我需要使用词干提取
D Words
0 2020-06-19 excellent
1 2020-06-19 make
2 2020-06-19 many
3 2020-06-19 game
4 2020-06-19 play
... ... ...
3042607 2020-07-28 praised
3042608 2020-07-28 playing
3042609 2020-07-28 made
3042610 2020-07-28 terms
3042611 2020-07-28 bad
我试过使用 Portstemmer 来做如下:
from nltk.stem import PorterStemmer
from nltk.tokenize import word_tokenize
ps = PorterStemmer()
for w in df.Words:
print(w, " : ", ps.stem(w))
但我没有得到想要的输出(词干词)。我需要保留日期 (D) 信息,所以最后我应该有一个类似的数据集,但带有词干词),但我想 运行 通过 Words 列词干词,以便得到类似于此的内容:
D Words
0 2020-06-19 excellent
1 2020-06-19 make
2 2020-06-19 many
3 2020-06-19 game
4 2020-06-19 play
... ... ...
3042607 2020-07-28 praise
3042608 2020-07-28 play
3042609 2020-07-28 make
3042610 2020-07-28 terms
3042611 2020-07-28 bad
欢迎任何提示。
当我运行你的代码
ps = PorterStemmer()
for w in df.Words:
print(w, " : ", ps.stem(w))
它正确地打印了 word : stem
结构(至少根据 PorterStemmer)。
如果您想将词干作为数据框中的一列,您需要通过在整个 Words
列上应用 ps.stem
函数来创建一个新列,如下所示:
df['stem'] = df1.Words.apply(ps.stem)
这会将您的数据框变成这种形式:
D Words stem
0 2020-06-19 excellent excel
1 2020-06-19 make make
2 2020-06-19 many mani
3 2020-06-19 game game
4 2020-06-19 play play
现在您可以使用 stem
列进行任何进一步分析,而无需删除其余数据。
我需要使用词干提取
D Words
0 2020-06-19 excellent
1 2020-06-19 make
2 2020-06-19 many
3 2020-06-19 game
4 2020-06-19 play
... ... ...
3042607 2020-07-28 praised
3042608 2020-07-28 playing
3042609 2020-07-28 made
3042610 2020-07-28 terms
3042611 2020-07-28 bad
我试过使用 Portstemmer 来做如下:
from nltk.stem import PorterStemmer
from nltk.tokenize import word_tokenize
ps = PorterStemmer()
for w in df.Words:
print(w, " : ", ps.stem(w))
但我没有得到想要的输出(词干词)。我需要保留日期 (D) 信息,所以最后我应该有一个类似的数据集,但带有词干词),但我想 运行 通过 Words 列词干词,以便得到类似于此的内容:
D Words
0 2020-06-19 excellent
1 2020-06-19 make
2 2020-06-19 many
3 2020-06-19 game
4 2020-06-19 play
... ... ...
3042607 2020-07-28 praise
3042608 2020-07-28 play
3042609 2020-07-28 make
3042610 2020-07-28 terms
3042611 2020-07-28 bad
欢迎任何提示。
当我运行你的代码
ps = PorterStemmer()
for w in df.Words:
print(w, " : ", ps.stem(w))
它正确地打印了 word : stem
结构(至少根据 PorterStemmer)。
如果您想将词干作为数据框中的一列,您需要通过在整个 Words
列上应用 ps.stem
函数来创建一个新列,如下所示:
df['stem'] = df1.Words.apply(ps.stem)
这会将您的数据框变成这种形式:
D Words stem
0 2020-06-19 excellent excel
1 2020-06-19 make make
2 2020-06-19 many mani
3 2020-06-19 game game
4 2020-06-19 play play
现在您可以使用 stem
列进行任何进一步分析,而无需删除其余数据。