ホームページ > バックエンド開発 > Python チュートリアル > Pandas Groupby を使用して各州内のオフィスごとの売上高の割合を計算する方法は?

Pandas Groupby を使用して各州内のオフィスごとの売上高の割合を計算する方法は?

Barbara Streisand
リリース: 2024-12-09 06:40:08
オリジナル
648 人が閲覧しました

How to Calculate the Percentage of Sales per Office within Each State Using Pandas Groupby?

Groupby を使用した合計に対する Pandas の割合

特定の州のオフィスごとの売上の割合の計算は、Pandas の groupby を使用して実行できます。ただし、望ましい結果を達成するには追加の手順が必要です。

州、オフィス ID、売上を表す列を含む CSV ファイルがあるとします。 Pandas をインポートして DataFrame を作成できます:

import pandas as pd

df = pd.DataFrame({'state': ['CA', 'WA', 'CO', 'AZ'] * 3,
                   'office_id': list(range(1, 7)) * 2,
                   'sales': [np.random.randint(100000, 999999)
                             for _ in range(12)]})
ログイン後にコピー

各オフィスと州の総売上高を計算するには、これらの列でグループ化できます:

state_office = df.groupby(['state', 'office_id']).agg({'sales': 'sum'})
ログイン後にコピー

割合を計算するには特定の州のオフィスごとの売上高を表す場合、州ごとにグループ化し、各オフィスの売上を州の合計で割る関数を適用できます。 sales:

state_pcts = state_office.groupby(level=0).apply(lambda x:
                                                 100 * x / float(x.sum()))
ログイン後にコピー

これにより、各オフィスの売上のパーセンテージを含む DataFrame が生成されます:

print(state_pcts)
                     sales
state office_id           
AZ    2          16.981365
      4          19.250033
      6          63.768601
CA    1          19.331879
      3          33.858747
      5          46.809373
CO    1          36.851857
      3          19.874290
      5          43.273852
WA    2          34.707233
      4          35.511259
      6          29.781508
ログイン後にコピー

このメソッドは、特定の州のオフィスごとの売上のパーセンテージを効果的に計算します。 groupby の州レベルまで到達して、州全体の売上を合計します。

以上がPandas Groupby を使用して各州内のオフィスごとの売上高の割合を計算する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート