ホームページ >バックエンド開発 >Python チュートリアル >Pandas GroupBy.apply が最初の行を重複しているように見えるのはなぜですか?

Pandas GroupBy.apply が最初の行を重複しているように見えるのはなぜですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-10-29 19:12:30684ブラウズ

Why Does Pandas GroupBy.apply Seem to Duplicate the First Row?

Pandas GroupBy.apply が最初のグループを重複する: 動作を理解する

Pandas で groupby 関数を使用する場合、apply メソッドが関数を最初のグループに 2 回適用しているように見える場合があります。データフレームの行。この動作は予期しないように見えますが、仕様によるものです。

二重アプリケーションの目的

適用関数は、結合するデータの形状を決定する必要があります。これを実現するために、指定された関数 (この場合は checkit) を 2 回呼び出します。最初の呼び出しは出力の形状を推測するのに役立ち、2 番目の呼び出しはグループに対して操作を実行します。

二重効果の回避

ユースケースに応じて、代替手段を使用して二重適用を回避できます。関数:

  • aggregate: 戻り値が平均や合計などの要約統計であることが必要です。
  • transform:戻り値は、入力グループと同じ形状である必要があります。
  • filter: 戻り値は、保持する行を示すブール型インデックスである必要があります。

これらの関数は戻り値に特定の形状を強制するため、二重適用の必要がなくなります。

副作用の考慮事項

適用している関数に副作用がない場合、つまり、元のデータ フレームは変更されません。その場合、二重適用は問題にならない可能性があります。ただし、関数がデータ操作を実行する場合、最初の行に二重適用すると、意図しない結果が生じる可能性があります。

以上がPandas GroupBy.apply が最初の行を重複しているように見えるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。