Pandas 분할 적용 결합
이 기사에서는 Pandas 분할 적용 결합 전략에 대해 설명합니다. 이 전략은 모든 데이터를 한 번에 분석하기 어려울 수 있으므로 대규모 데이터 세트로 작업할 때 유용합니다.
분할 적용 결합 전략
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
분할 적용 결합 전략을 사용하려면 다음이 필요합니다.
- 데이터를 그룹으로 나눕니다.
- 각 그룹에 기능을 적용합니다.
- 결과를 결합합니다.
데이터를 그룹으로 나누기
결합된 방법을 사용하려면 먼저 데이터를 그룹으로 분할해야 합니다. 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 is a detail oriented software engineer that helps companies and individuals make their lives and easier with software solutions.
LinkedIn