2

次の構造を持つデータフレームrounds(別のデータフレームから列を削除した結果)があります(写真を投稿できません、申し訳ありません):

----------------------------
|type|N|D|NATC|K|iters|time|
----------------------------
rows of data
----------------------------

groupby次のように、グループの平均を取得できるように使用します。

rounds = results.groupby(['type','N','D','NATC','K','iters'])
results_mean = rounds.mean()

私は望んでいた手段を手に入れましたが、鍵に問題があります。results_meanデータフレームには次の構造があります。

----------------------------
|    | | |    | |     |time|
|type|N|D|NATC|K|iters|    |
----------------------------
rows of data
----------------------------

認識される唯一のキーはtime(実行しましたresults_mean.keys()) です。

私は何を間違えましたか?どうすれば修正できますか?

4

2 に答える 2

7

集計データでtimeは、 が唯一の列です。それ以外は指数です。

groupbyパラメータがありますas_indexドキュメントから

as_index :ブール値、デフォルトは True

集約された出力の場合、インデックスとしてグループ ラベルを持つオブジェクトを返します。DataFrame 入力にのみ関連します。as_index=False は実質的に「SQL スタイル」のグループ化された出力です

したがって、呼び出すことで目的の出力を取得できます

rounds = results.groupby(['type','N','D','NATC','K','iters'], as_index = False)
results_mean = rounds.mean()

または、必要に応じて、 を使用してreset_indexいつでもインデックスをキーに変換できます。使用する

rounds = results.groupby(['type','N','D','NATC','K','iters'])
results_mean = rounds.mean().reset_index()

望ましい効果も得られるはずです。

于 2015-04-14T11:09:50.743 に答える