我有一个包含一列和100行的pandas数据框(每个单元格是一个段落)。我想创建一个子列表列表来执行LDA并获取主题。 例如:
S.No Text
0 abc
1 def
2 ghi
3 jkl
4 mno
我希望结果是一个子列表列表
"[[abc]
[def]
[ghi]
[jkl]
[mno]]"
这样我就可以将句子标记为单词并执行LDA
有什么想法吗?
答案 0 :(得分:1)
我认为您不需要将子句列表转换为令牌。你可以这样做(下面)。此外,您可以从这里修改,无论您想要什么输出:
from nltk.tokenize import word_tokenize
# example
df = pd.DataFrame({'text': ['how are you','paris is good','fish is in water','we play tomorrow']})
# tokenize sentences
df['token_text'] = df.text.apply(word_tokenize)
print(df)
text token_text
0 how are you [how, are, you]
1 paris is good [paris, is, good]
2 fish is in water [fish, is, in, water]
3 we play tomorrow [we, play, tomorrow]
答案 1 :(得分:0)
YOLO的回答非常好,我正在寻找你。或者,如果您尝试使用LDA并想要“子列表列表”,那么最好使用适用于任何numpy函数的数组。要做到这一点,你可以只是我们:
df.values
如果您只想要特定的列
df.loc[:, [col1, col2]].values
如果您必须将它们作为列表列表,那么您可以
[list(x) for x in df.values]