2016-05-25 9 views
3

ステミング私はプログラミングPythonの間、以下のような問題点に来た:私は(SnowballStemmerを使用して)茎する必要がある単語を含むパンダのデータフレームを使用しています。私は、ステムテキストと非ステムテキストの結果を調べるために言葉を茎にしたいと思います。このために、私は分類子を使用します。私はステマのために次のコードを使用します。Pythonは(パンダのデータフレームで)

from nltk.stem.snowball import SnowballStemmer 
stemmer = SnowballStemmer("dutch") 

私は順序を残り、すべての値を持つすべてのキーを維持しながら、リスト内のすべての別々の単語を幹にしたいです。私はこのような何かを考え

The content of the pandas frame

for w in data[["stemmed"]]: 
stemmer.stem(w) 

しかし、それぞれ別々の幹なかった、それを実行した後、これは私がすべての別の単語を表示したいからパンダのデータフレームから列が茎でありますワード。次のように

The data after running the code above

データが区切られている:あなたが行7を見たとき、あなたは実際には「アムステルダム」に茎のことをsuppostedされそこに単語「amsterdamse」を見ることができます

data['stemmed']=data['stemmed'].str.replace(","," ") 
data['stemmed']=data['stemmed'].str.replace("_"," ") 
+0

を動作するはず?文字列(=文)、または文字列(=単語)の配列?一度に一つの言葉にすることはできません。 –

答えて

5

各語に語幹を適用し、それを「抜粋」列に格納する必要があります。例えば

EDIT

In [23]: data 
Out[23]: 
         stemmed 
0  [amsterdamse, and , yes] 
1 [marathon, hello, verbazing] 

そこで以下では、この列の*タイプ*は何

data['stemmed'] = data["stemmed"].apply(lambda x: [stemmer.stem(y) for y in x]) 

Out[25]: 
0  [amsterdam, and, yes] 
1 [marathon, hello, verbaz] 
Name: stemmed, dtype: object 
+0

どのようなエラーが表示されますか? – arthur

+0

は、私は次のエラーを取得します。http:私は少しnoobishだ場合//imgur.com/GqPF6qk – Chiel

+0

申し訳ありませんが、私は、Pythonだけでなく、スタックオーバーフローにちょっと新しいです。 – Chiel

関連する問題