2017-03-20 23 views
2

しばらくの間、遺伝的アルゴリズムのためのDEAPパッケージを使用する。パンダのデータフレームにDEAP結果を保存する

私はルーチンを知り、有効な結果を得ています。

しかし、私は集団間のフィットネス機能のバリエーションを知りたいと思います。

の統計情報の機能では、平均値、標準偏差などを出力することができます。

マニュアルでは、結果を保存するためにログブックが使用されています。私はそれを学んでいないと私はピクルスに精通していない。

結果を.csv形式またはExcel形式で直接保存する方法はありますか。

答えて

1

ログブックは辞書のリストなので、そのデータをリストの辞書に "転記"する必要があります。

これは、私がパンダを使って多統計学を使ってログブックを作った方法です。

import pandas as pd 
from functools import reduce 
from operator import add, itemgetter 

chapter_keys = logbook.chapters.keys() 
sub_chaper_keys = [c[0].keys() for c in logbook.chapters.values()] 

data = [list(map(itemgetter(*skey), chapter)) for skey, chapter 
      in zip(sub_chaper_keys, logbook.chapters.values())] 
data = np.array([[*a, *b] for a, b in zip(*data)]) 

columns = reduce(add, [["_".join([x, y]) for y in s] 
         for x, s in zip(chapter_keys, sub_chaper_keys)]) 
df = pd.DataFrame(data, columns=columns) 

keys = logbook[0].keys() 
data = [[d[k] for d in logbook] for k in keys] 
for d, k in zip(data, keys): 
    df[k] = d 

まず、統計情報を解析してデータフレームを作成します。次に、統計情報に基づいていない列(genまたはevals)を列としてDFに追加します。 df.to_csvを使用して、データフレームをcsvにエクスポートできます。

関連する問題