熊猫df列表和子列表

时间:2018-04-09 23:39:09

标签: pandas dataframe reduce

我有一个包含一列和100行的pandas数据框(每个单元格是一个段落)。我想创建一个子列表列表来执行LDA并获取主题。 例如:

    S.No  Text 
    0      abc 
    1      def 
    2      ghi 
    3      jkl 
    4      mno

我希望结果是一个子列表列表

                         "[[abc]
                           [def]
                           [ghi] 
                           [jkl]
                           [mno]]"

这样我就可以将句子标记为单词并执行LDA

有什么想法吗?

2 个答案:

答案 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]