gpt4 book ai didi

Python - 从标记列表到词袋

转载 作者:行者123 更新时间:2023-11-28 22:21:14 25 4
gpt4 key购买 nike

我正在努力计算词袋。我有一个带有文本列的 Pandas 数据框,我正确地对其进行了标记化、删除停用词和词干。最后,对于每个文档,我都有一个字符串列表。

我的最终目标是为本专栏计算词袋,我已经看到 scikit-learn 有一个函数可以做到这一点,但它适用于字符串,而不是字符串列表。

我自己正在使用 NLTK 进行预处理,并希望保持这种状态...

有没有一种方法可以根据标记列表计算词袋?例如,类似的东西:

["hello", "world"]
["hello", "stackoverflow", "hello"]

应该转换成

[1, 1, 0]
[2, 0, 1]

词汇:

["hello", "world", "stackoverflow"]

最佳答案

您可以通过使用Counter过滤创建DataFrame,然后转换为list:

from collections import Counter

df = pd.DataFrame({'text':[["hello", "world"],
["hello", "stackoverflow", "hello"]]})

L = ["hello", "world", "stackoverflow"]

f = lambda x: Counter([y for y in x if y in L])
df['new'] = (pd.DataFrame(df['text'].apply(f).values.tolist())
.fillna(0)
.astype(int)
.reindex(columns=L)
.values
.tolist())
print (df)

text new
0 [hello, world] [1, 1, 0]
1 [hello, stackoverflow, hello] [2, 0, 1]

关于Python - 从标记列表到词袋,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48474442/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com