パンダ 分割 適用 結合

Zeeshan Afridi 2023年6月21日
  1. 分割適用結合戦略
  2. 分割を使用する 適用する 結合戦略を使用する
  3. まとめ
パンダ 分割 適用 結合

この記事では、パンダの分割適用結合戦略について説明します。 一度にすべてのデータを分析するのは難しい場合があるため、この戦略は大規模なデータ セットを操作する場合に役立ちます。

分割適用結合戦略

pandas の分割適用結合戦略は、データセットをグループに分割し、各グループに関数を使用して結果を結合する強力なデータ分析手法です。 この戦略では、データの集計、統計の計算、パターンの検索など、さまざまなデータ分析タスクを実行できます。

split-apply-combine 戦略を使用する場合は、次の点に注意してください。

  1. まず、データに適用する適切な関数を選択することが不可欠です。
  2. 第二に、分析結果はデータのグループ化方法に影響されます。 たとえば、情報が年別にグループ化されている場合、データが国別にグループ化されている場合とは結果が異なります。

変数間の関係を理解し、データ全体を見ると見つけにくいパターンを確認するのに役立ちます。

分割を使用する 適用する 結合戦略を使用する

分割適用結合戦略を使用して、次のようなさまざまなタイプの質問に答えることができます。

  1. 各州の平均年齢は?
  2. 各州の総人口は?
  3. 各州の人々の平均収入は?

まず、次のコードのような一連のデータを取得します。

import numpy as np
import pandas as pd

df = pd.DataFrame(
    {
        "A": ["one", "two", "three", "four", "five", "six", "seven", "eight"],
        "B": ["AB", "BC", "CD", "DE", "EF", "FG", "GH", "HI"],
        "C": np.random.randn(8),
        "D": np.random.randn(8),
    }
)
print(df)

出力:

    A       B       C           D
0   one     AB  -1.178015   -0.718776
1   two     BC  -0.149049   0.557202
2   three   CD  -0.486704   1.491223
3   four    DE  0.143172    1.669733
4   five    EF  -0.627370   0.825338
5   six     FG  2.105268    -0.239559
6   seven   GH  1.203344    0.592531
7   eight   HI  1.756920    1.164611

分割適用結合戦略を使用するには、次のことを行う必要があります。

  1. データをグループに分割します。
  2. 各グループに関数を適用します。
  3. 結果を結合します。

データをグループに分割する

組み合わせた方法を使用するには、最初にデータをグループに分割する必要があります。 これは、パンダの groupby 関数を使用して行うことができます。

データをグループに分割するには、グループ化する変数を決定する必要があります。 この変数は、データをグループに分割する方法を決定します。

grouped = df.groupby(["A", "B"])

各グループに関数を適用する

データがグループ化されたら、各グループに関数を適用できます。 これは任意の関数にすることができますが、データのグループを操作できる必要があります。

df2 = df.set_index(["A", "B"])

結果を組み合わせる

最後に、pandas concat 関数を使用して、適用ステップの結果を単一の dataframe に結合できます。 これにより、各グループの適用ステップの結果を含む単一の dataframe が得られます。

これは、答えようとしている質問に応じて、さまざまな方法で実行できます。

grouped.sum()

上記の各ステートメントを組み合わせて、それがどのように機能するかを見てみましょう。

コード例:

import numpy as np
import pandas as pd

df = pd.DataFrame(
    {
        "A": ["one", "two", "three", "four", "five", "six", "seven", "eight"],
        "B": ["AB", "BC", "CD", "DE", "EF", "FG", "GH", "HI"],
        "C": np.random.randn(8),
        "D": np.random.randn(8),
    }
)
# split the data
grouped = df.groupby(["A", "B"])

# apply a function to each group
df2 = df.set_index(["A", "B"])

# combine the group
grouded_data = grouped.sum()

print(grouded_data)

出力:

                 C         D
A     B
eight HI -0.398241 -1.145102
five  EF  0.439858 -0.923552
four  DE -1.150551 -1.466125
one   AB  0.882921  0.078129
seven GH -1.750068 -0.568044
six   FG -1.335543  0.562349
three CD -0.876180  1.007510
two   BC  1.275738  0.136052

まとめ

分割適用結合戦略は、データ サイエンスで最もよく使用される戦略の 1つです。 これは、データをグループに分割し、それらのグループに関数を適用して、結果を結合するための柔軟で簡潔な方法です。

SAC プロセスは Pandas のライブラリの重要な部分であり、データ サイエンティストによって広く使用されています。 パンダ分割適用結合戦略の多くのユースケースがあります。 詳しく知りたい方はブログを読んで試してみてください。

著者: Zeeshan Afridi
Zeeshan Afridi avatar Zeeshan Afridi avatar

Zeeshan is a detail oriented software engineer that helps companies and individuals make their lives and easier with software solutions.

LinkedIn

関連記事 - Pandas DataFrame