私はエクセルファイルにデータを書き込むためにパンダを使用しています。 1つのシートにデータをダンプしたいのですが、2番目のシートにはソートされた方法でデータが必要です。レイヤーはキーで重みはディクショナリの値です。pythonを使用して辞書からexcelに並べ替えられましたPandas
シート1は、(ソートされていない)、以下のような表を持っている必要があります。
とSheet2のエントリをソートしておく必要があります。
を私はすでに問題があるOrderedDict
df1 = pd.DataFrame.from_dict(dict_weights, orient="index")
df1.columns = ['weights']
df2 = pd.DataFrame.from_dict(collections.OrderedDict(dict_weights), orient="index")
df2.columns = ['weights']
df1.to_excel(writer, sheet_name='sheet1')
df2.to_excel(writer, sheet_name='sheet2', startcol=3)
writer = pd.ExcelWriter(filename, engine='xlsxwriter')
writer.save()
を試してみましたそれはソートを行いますが、両方のシートで行います。私はちょうどデータがsheet2でソートされることを望み、sheet1ではソートされていないはずです。出力期待
:
Sheet1の
Layer; weights
T1_max_pool; 4
activation_9; 1
sum_9; 3
Merge_2; 4
activation_2; 1
T2_max_pool; 4
Sheet2の
Layer; weights
activation_2; 1
activation_9; 1
Merge_2; 4
sum_9; 3
T1_max_pool; 4
T2_max_pool; 4
任意の提案? :)ありがとう!
画像の代わりに質問にコピー可能なデータを常に持ち込むことができます。 – Zero
ありがとうございました!私は質問を更新しました。区切られた値 – blackbug
「OrderedDict」は挿入の順番を記憶していますが、ソートされていません(少なくとも直感的ではありません)。 'OrderedDict'を最初に作成し、ソートされた方法で次々とアイテムを挿入することができます。私。 'OrderedDict(dict_weights)'の代わりに 'sorted_dict = OrderedDict();ソートされたキー(dict_weights):sorted_dict [key] = dict_weights [key] '。 –