2017-07-05 6 views
1

にGROUPBYインデックスをリセット*ない*のための使用例はどのようなものがあり、私ははas_index=Falseまたはreset_index()のいずれかを使用していない決してありません。私は実際に何か理由を考えることができませんそうしない理由。私の行動はパンダのデフォルトではないので(実際にはgroupbyのインデックスが存在するため)、私は、パンダの機能をいくつか利用していると考えています。パンダ

誰でも、インデックスをリセットしないと有利な場合を説明できますか?

+0

奇妙な。私はほとんどそれらを使用する... –

答えて

3

groupby/agg操作を実行する場合、結果をgroupbyキーから集計されたスカラー値へのマッピングと考えるのは当然です。単純なPythonを使用していた場合、dictはキーから値へのマッピングを保持する自然なデータ構造になります。我々はパンダを使用しているので、シリーズは自然なデータ構造です。そのインデックスはキーを保持し、Seriesの値は集計されたスカラーになります。各キーに複数の集計値がある場合、使用する自然なデータ構造はDataFrameになります。

キーではなくインデックスにキーを保持する利点は、インデックスラベルに基づいた値の検索はO(1)操作ですが、列の値に基づく値の参照はO(n )操作。

groupby/aggの操作の結果は、groupbyキーをインデックスとしてSeriesまたはDataFrameに自然に適合するため、インデックスには特別な高速ルックアッププロパティがありますので、デフォルトでこのフォームで結果を返す方が効果的です。