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

Pandas を使用して各州内のオフィスごとの売上高の割合を計算するにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-12-06 09:48:11522ブラウズ

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

Pandas の Groupby を使用した合計の割合

州内の各オフィスが寄与する売上の割合を計算するには、Pandas で微妙なアプローチが必要です。 「州」と「office_id」で単純にグループ化すると、各オフィスの売上高の合計が得られますが、州内の寄与率は得られません。

これを実現するには、まず groupby を作成する必要があります。 「state」と「office_id」に基づくオブジェクト。これにより、各オフィスと州の組み合わせの総売上高を含む売上列を含むデータフレームが得られます。

state_office = df.groupby(['state', 'office_id']).agg({'sales': 'sum'})

パーセンテージを計算するには、各オフィスの売上高をその州の総売上高で割ることができます。ただし、groupby 内の各州の総売上高にアクセスするには、「state」に基づいて 2 番目の groupby オブジェクトを作成する必要があります。

state_total = df.groupby('state').agg({'sales': 'sum'})

このオブジェクトを使用すると、次のようにして「state_office」 groupby を拡張できます。各オフィスと州の組み合わせの売上のパーセンテージを含む新しい列:

state_pcts = state_office.groupby(level=0).apply(lambda x:
                                                 100 * x / float(state_total.loc[x.name]))

「groupby」の「level=0」パラメータに注意してください。 「state」と「office_id」の元の groupby によって形成されたマルチレベル インデックスの最上位を指します。

このアプローチにより、各オフィスの売上パーセンテージが、それぞれの州内の総売上高を参照して計算されるようになります。 .

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

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