2017-02-07 3 views
0

私はエクセルファイルにデータを書き込むためにパンダを使用しています。 1つのシートにデータをダンプしたいのですが、2番目のシートにはソートされた方法でデータが必要です。レイヤーはキーで重みはディクショナリの値です。pythonを使用して辞書からexcelに並べ替えられましたPandas

シート1は、(ソートされていない)、以下のような表を持っている必要があります。

Unsorted entries

とSheet2のエントリをソートしておく必要があります。

enter image description here

を私はすでに問題がある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 

任意の提案? :)ありがとう!

+0

画像の代わりに質問にコピー可能なデータを常に持ち込むことができます。 – Zero

+0

ありがとうございました!私は質問を更新しました。区切られた値 – blackbug

+0

「OrderedDict」は挿入の順番を記憶していますが、ソートされていません(少なくとも直感的ではありません)。 'OrderedDict'を最初に作成し、ソートされた方法で次々とアイテムを挿入することができます。私。 'OrderedDict(dict_weights)'の代わりに 'sorted_dict = OrderedDict();ソートされたキー(dict_weights):sorted_dict [key] = dict_weights [key] '。 –

答えて

2

IIUICの場合、カラムでsort_valuesを使用する必要があります。

In [503]: writer = pd.ExcelWriter('file.xlsx') 

In [504]: df.to_excel(writer, 'sheet1') 

In [505]: df.sort_values(by='Layers', ascending=True).to_excel(writer, 'sheet2') 

In [506]: writer.save() 

インデックスを必要としない場合は、Excelに書き込むときにindex=Falseを使用してください。リストや使用に

+0

私は、提案されたソリューションに関する更新とクエリを持っています。それはソートを行いますが、出力は予想とは少し異なります: 'T1_max_pool | T2_max_pool | activation_2 | activation_9 |マージ2 | sum_9'となる。それは資本と小さなアルファベットで何かをしなければならないのでしょうか? – blackbug

1

変更のdict:

df1 = pd.DataFrame({'weights': list2}, index=list1) 
df2 = df1.sort_index() 

Dictは、キーをソートするための独自のロジックを持っており、あなたがprintそれをしている場合、あなたはそれを期待するとして、それが印刷されていない参照のでしょう。

関連する問題