パンダ 分割 適用 結合
この記事では、パンダの分割適用結合戦略について説明します。 一度にすべてのデータを分析するのは難しい場合があるため、この戦略は大規模なデータ セットを操作する場合に役立ちます。
分割適用結合戦略
pandas の分割適用結合戦略は、データセットをグループに分割し、各グループに関数を使用して結果を結合する強力なデータ分析手法です。 この戦略では、データの集計、統計の計算、パターンの検索など、さまざまなデータ分析タスクを実行できます。
split-apply-combine 戦略を使用する場合は、次の点に注意してください。
- まず、データに適用する適切な関数を選択することが不可欠です。
- 第二に、分析結果はデータのグループ化方法に影響されます。 たとえば、情報が年別にグループ化されている場合、データが国別にグループ化されている場合とは結果が異なります。
変数間の関係を理解し、データ全体を見ると見つけにくいパターンを確認するのに役立ちます。
分割を使用する 適用する 結合戦略を使用する
分割適用結合戦略を使用して、次のようなさまざまなタイプの質問に答えることができます。
- 各州の平均年齢は?
- 各州の総人口は?
- 各州の人々の平均収入は?
まず、次のコードのような一連のデータを取得します。
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
分割適用結合戦略を使用するには、次のことを行う必要があります。
- データをグループに分割します。
- 各グループに関数を適用します。
- 結果を結合します。
データをグループに分割する
組み合わせた方法を使用するには、最初にデータをグループに分割する必要があります。 これは、パンダの 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 is a detail oriented software engineer that helps companies and individuals make their lives and easier with software solutions.
LinkedIn