[파이썬][Numpy] 데이터 그룹화 및 집계 예제

Numpy를 사용하여 데이터를 그룹화하고 집계하는 예제를 제공하겠습니다. 데이터 그룹화는 데이터를 특정 조건에 따라 그룹으로 나누는 작업이며, 집계는 그룹 내에서 통계적인 연산을 수행하는 작업입니다.

import numpy as np

# 배열 생성 예제
data = np.array([[1, 'A', 10],
                 [2, 'B', 20],
                 [1, 'A', 15],
                 [2, 'B', 25],
                 [3, 'C', 30]])

# 데이터 그룹화 및 집계
grouped_data = {}

# 첫 번째 열을 기준으로 그룹화
for row in data:
    key = row[0]
    if key in grouped_data:
        grouped_data[key].append(row[2])
    else:
        grouped_data[key] = [row[2]]

# 각 그룹의 평균 계산
grouped_mean = {key: np.mean(values) for key, values in grouped_data.items()}

# 각 그룹의 합계 계산
grouped_sum = {key: np.sum(values) for key, values in grouped_data.items()}

print("데이터 그룹화 결과:")
print(grouped_data)
print("\n각 그룹의 평균:")
print(grouped_mean)
print("\n각 그룹의 합계:")
print(grouped_sum)

위의 코드에서는 다음과 같은 작업을 수행합니다:

  1. data 배열은 다양한 열을 가진 데이터를 나타냅니다. 이 데이터를 첫 번째 열을 기준으로 그룹화하고 집계합니다.

  2. grouped_data 딕셔너리를 사용하여 데이터를 그룹화하고, 각 그룹의 값을 리스트에 추가합니다.

  3. grouped_mean 딕셔너리를 사용하여 각 그룹의 평균을 계산합니다.

  4. grouped_sum 딕셔너리를 사용하여 각 그룹의 합계를 계산합니다.

실행 결과는 다음과 같을 것입니다:

데이터 그룹화 결과:
{1: [10, 15], 2: [20, 25], 3: [30]}

각 그룹의 평균:
{1: 12.5, 2: 22.5, 3: 30.0}

각 그룹의 합계:
{1: 25, 2: 45, 3: 30}

이를 통해 Numpy를 사용하여 데이터를 그룹화하고 집계하는 방법을 이해할 수 있습니다. 데이터 그룹화와 집계는 데이터 분석에서 중요한 단계 중 하나입니다.