読み込んだCSVから形態素解析の分かち書きを出力したいがList index out of rangeが出た
List index out of rangeが出た原因が分からない
現在CSVを読み込みんだデータから形態素解析を行い、分かち書き結果を新しく列を作り、出力を行うと思っています。1行ずつの文章から形態素解析を行い、結果を出力することが出来たのですが、複数行や行が空いているような文字列を形態素解析を行うとしたところ、list index out of rangeというエラーが返されました。1行や行間がないデータでは出来たので、複数行という点に問題がありそうな予感がしていますが、いまいち原因が分かりません。
コードは以下の通りになっています。
python
1def leaving_space_between_words_column(text): 2 splitted = ' '.join([x.split('\t')[0] for x in tagger.parse(text).splitlines()[:-1] if x.split('\t')[1].split(',')[0] not in ['連体詞','助詞', '助動詞', '接続詞', '記号','動詞', '副詞','形容詞']]) 3 return splitted 4 5review_df['lsbw'] = review_df['Text'].map(leaving_space_between_words_column) 6review_df.head(20)
エラーは以下の様な形です。
--------------------------------------------------------------------------- IndexError Traceback (most recent call last) <ipython-input-25-d0e90c8f3540> in <module> 4 5 # 分かち書きしたカラムをdfに追加する ----> 6 review_df['lsbw'] = review_df['text'].map(leaving_space_between_words_column) 7 review_df.head(20) ~/opt/anaconda3/lib/python3.8/site-packages/pandas/core/series.py in map(self, arg, na_action) 3968 dtype: object 3969 """ -> 3970 new_values = super()._map_values(arg, na_action=na_action) 3971 return self._constructor(new_values, index=self.index).__finalize__( 3972 self, method="map" ~/opt/anaconda3/lib/python3.8/site-packages/pandas/core/base.py in _map_values(self, mapper, na_action) 1158 1159 # mapper is a function -> 1160 new_values = map_f(values, mapper) 1161 1162 return new_values pandas/_libs/lib.pyx in pandas._libs.lib.map_infer() <ipython-input-25-d0e90c8f3540> in leaving_space_between_words_column(text) 1 def leaving_space_between_words_column(text): ----> 2 splitted = ' '.join([x.split('\t')[0] for x in tagger.parse(text).splitlines()[:-1] if x.split('\t')[1].split(',')[0] not in ['連体詞','助詞', '助動詞', '接続詞', '記号','動詞', '副詞','形容詞']]) 3 return splitted 4 5 # 分かち書きしたカラムをdfに追加する <ipython-input-25-d0e90c8f3540> in <listcomp>(.0) 1 def leaving_space_between_words_column(text): ----> 2 splitted = ' '.join([x.split('\t')[0] for x in tagger.parse(text).splitlines()[:-1] if x.split('\t')[1].split(',')[0] not in ['連体詞','助詞', '助動詞', '接続詞', '記号','動詞', '副詞','形容詞']]) 3 return splitted 4 5 # 分かち書きしたカラムをdfに追加する IndexError: list index out of range
データの形はCSVで、以下の通りとなっています。
何卒、ご助力を宜しくお願い申し上げます。