Pandas|appendで警告が出るのでconcatとinsertで対応|Python
appendで以下の警告が出ます。
FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version.
Use pandas.concat instead.
Use pandas.concat instead.
困りました。
pandasをよくわからないまま使用しているので対応の仕方が分かりません。
取り敢えず動けばいいかなと思い試してみました。
ターミナルを使ってpandasのバージョンを確認
python3 -c "import pandas as pd; print(pd.__version__)" 1.4.3
appendからconcatへ
#の部分がappend使用で、その真下がconcat使用です。
from janome.tokenizer import Tokenizer from janome.analyzer import Analyzer from janome.tokenfilter import * import pandas as pd text_file=open("ファイル名.txt").read() a = Analyzer(token_filters=[CompoundNounFilter()]) partofspeech_pd=pd.DataFrame() for token in a.analyze(text_file): str_token=str(token).replace("\t",",") token_list=str_token.split(",") #partofspeech_pd= partofspeech_pd.append(pd.Series(token_list),ignore_index=True) partofspeech_pd= pd.concat([partofspeech_pd,pd.DataFrame([token_list])],ignore_index=True) partofspeech_pd.columns = ["単語","品詞","品詞細分類1","品詞細分類2","品詞細分類3","活用型","活用形","原形","読み","発音"] print(partofspeech_pd) partofspeech_pd.to_csv('ファイル名.csv', sep='\t')
appendからinsertへ
#の部分がappend使用、その真下がinsert使用です。
from janome.tokenizer import Tokenizer from janome.analyzer import Analyzer from janome.tokenfilter import * import pandas as pd my=open("ファイル名.txt").read() a = Analyzer(token_filters=[CompoundNounFilter()]) book=[] corpus=[] for token in a.analyze(my): tab_list=token.base_form #book.append(tab_list) book.insert(-1,tab_list) if token.part_of_speech.split(',')[1]=="複合": #corpus.append(token.base_form) corpus.insert(-1,token.base_form) hon=[] meisi=[] yomi=[] for tuika in corpus: #hon.append("tuika") hon.insert(-1,tuika) #meisi.append("名詞") meisi.insert(-1,"名詞") #yomi.append("読み") yomi.insert(-1,"読み") df1 = pd.DataFrame(hon) df2 = pd.DataFrame(meisi) df3 = pd.DataFrame(yomi) df1['B'] = df2 df1['C'] = df3 df1.to_csv("ファイル名.csv",header=False, index=False)
もう無理やり感がすごいです・・・
insert使わなくても上手くできそうですが頭が回りません。
一応エラーが出なくなったので忘備録として残します。