如何从文本

时间:2017-11-07 18:44:22

标签: python list pandas dataframe

我尝试使用以下代码从数据框中删除停用词。它不会产生错误,但不会从数据帧中删除停用词。

def stop_words(df):

    stop_words = set(["a", "acaba", "altı","alti", "ama", "ancak","bir"])

    df['text'] = [word for word in df['text'] if word not in stop_words]
    return df.text

df.text = stop_words(df)
例如,df.text [2]是“gel sen necektigimi bir de bana sor”。它不会删除“bir”字。我怎么解决这个问题?

1 个答案:

答案 0 :(得分:1)

df['text']是一列字符串。迭代它,你迭代每个句子。你有什么期望?

您需要拆分每个单词并对其进行迭代。您可以使用列表理解。您也可以使用apply

def f(x):
    return [w for w in x if w not in stop_words]

df['text'] = df['text'].str.split().apply(f).str.join(' ')