ホームページ  >  記事  >  バックエンド開発  >  複数のフィールドを持つパンダでグループ化された差分を計算するにはどうすればよいですか?

複数のフィールドを持つパンダでグループ化された差分を計算するにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-11-01 06:05:31539ブラウズ

How to Calculate Grouped Differences in Pandas with Multiple Fields?

複数のフィールドを持つパンダのグループ化された差分

この状況では、さまざまなサイトと国の組み合わせに対するスコアの差を計算することを目的としています。

これを達成するには、サイト、国、日付に従ってデータフレームを並べ替えることから始めます。

<code class="python">df = df.sort_values(by=['site', 'country', 'date'])</code>

次に、groupby と diff を利用して各サイト内の差異を計算します。および国グループ:

<code class="python">df['diff'] = df.groupby(['site', 'country'])['score'].diff().fillna(0)</code>

これにより、各サイトおよび国グループ内の差異が生成され、欠落している値が 0 で埋められます。

最後に、結果が表示されます:

<code class="python">print(df)

Output:

         date    site country  score  diff
8  2018-01-01      fb      es    100   0.0
9  2018-01-02      fb      gb    100   0.0
5  2018-01-01      fb      us     50   0.0
6  2018-01-02      fb      us     55   5.0
7  2018-01-03      fb      us    100  45.0
1  2018-01-01  google      ch     50   0.0
4  2018-01-02  google      ch     10 -40.0
0  2018-01-01  google      us    100   0.0
2  2018-01-02  google      us     70 -30.0
3  2018-01-03  google      us     60 -10.0</code>

任意の順序による並べ替えは直接サポートされていないことに注意してください。このようなシナリオでは、注文をコレクションに保存し、列をカテゴリにすることを検討してください。こうすることで、sort_values は指定された順序と一致します。

以上が複数のフィールドを持つパンダでグループ化された差分を計算するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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