nltk.ConditionalFreqDistによって生成されたテーブルを操作しようとしていますが、テーブルをcsvファイルに書き込むか、他の形式にエクスポートするかについてのドキュメントが見つからないようです。パンダのデータフレームオブジェクトで操作したいのですが、これもcsvへの書き込みが非常に簡単です。私が見つけた唯一のスレッドは、CFDオブジェクトをピクルスにすることをお勧めしますが、これは私の問題を実際には解決しません。
nltk.ConditionalFreqDistオブジェクトをpd.DataFrameに変換するために、次の関数を作成しました。
def nltk_cfd_to_pd_dataframe(cfd):
""" Converts an nltk.ConditionalFreqDist object into a pandas DataFrame object. """
df = pd.DataFrame()
for cond in cfd.conditions():
col = pd.DataFrame(pd.Series(dict(cfd[cond])))
col.columns = [cond]
df = df.join(col, how = 'outer')
df = df.fillna(0)
return df
しかし、それを行う場合は、最初にpd.DataFrameを生成する新しいConditionalFreqDist関数を作成するのが理にかなっているかもしれません。しかし、車輪の再発明を行う前に、NLTKやその他の場所で、ConditionalFreqDistオブジェクトを他の形式と通信させ、最も重要なこととしてcsvファイルにエクスポートするためのトリックがないかどうかを確認したいと思いました。
ありがとう。