Pandas 분할 적용 결합

Zeeshan Afridi 2023년6월21일
  1. 분할 적용 결합 전략
  2. 분할 적용 결합 전략 사용
  3. 결론
Pandas 분할 적용 결합

이 기사에서는 Pandas 분할 적용 결합 전략에 대해 설명합니다. 이 전략은 모든 데이터를 한 번에 분석하기 어려울 수 있으므로 대규모 데이터 세트로 작업할 때 유용합니다.

분할 적용 결합 전략

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. 결과를 결합합니다.

데이터를 그룹으로 나누기

결합된 방법을 사용하려면 먼저 데이터를 그룹으로 분할해야 합니다. pandas groupby 기능을 사용하여 이를 수행할 수 있습니다.

데이터를 그룹으로 나누려면 그룹화할 변수를 결정해야 합니다. 이 변수는 데이터를 그룹으로 나누는 방법을 결정합니다.

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

각 그룹에 기능 적용

데이터가 그룹화되면 각 그룹에 함수를 적용할 수 있습니다. 원하는 모든 기능이 될 수 있지만 데이터 그룹에서 작동할 수 있어야 합니다.

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

결과 결합

마지막으로 pandas concat 기능을 사용하여 적용 단계의 결과를 단일 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

결론

분할 적용 결합 전략은 데이터 과학에서 가장 많이 사용되는 전략 중 하나입니다. 데이터를 그룹으로 분할하고 해당 그룹에 함수를 적용한 다음 결과를 결합하는 유연하고 간결한 방법입니다.

SAC 프로세스는 Pandas 라이브러리의 핵심 부분이며 데이터 과학자들이 광범위하게 사용합니다. Pandas 분할 적용 결합 전략의 많은 사용 사례가 있습니다. 더 알고 싶다면 블로그를 읽고 사용해보십시오.

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