NumPy np.array 마스터하기: 기본부터 고급 데이터 분석까지

1. 소개

Python은 데이터 분석, 머신러닝, 과학 컴퓨팅에 매우 널리 사용되는 프로그래밍 언어입니다. 그 중 numpy(NumPy) 라이브러리는 수치 연산을 효율화하는 강력한 도구입니다. 이 글에서는 Python의 “np.array“에 대해 기본 개념부터 실용적인 활용까지 자세히 설명하고, 수치 데이터를 처리·분석하는 데 유용한 구체적인 기법들을 소개합니다.

Official page

2. numpy란?

numpy는 다차원 배열(ndarray), 행렬 연산, 통계 분석 기능 등을 제공하는 수치 계산 라이브러리로, 데이터 분석의 기반이 됩니다. 다른 Python 라이브러리와 함께 사용하면 복잡한 데이터 처리를 간단하고 빠르게 수행할 수 있습니다.

numpy 설치 방법

numpy 설치는 간단합니다. 아래 명령어를 실행하면 됩니다.

pip install numpy

numpy를 선택해야 하는 이유

numpy의 빠르고 효율적인 데이터 처리 능력은 과학 컴퓨팅 및 데이터 과학에 필수적입니다. numpy에 대한 자세한 내용은 공식 문서를 참고하세요.

Why NumPy? Powerful n-dimensional arrays. Numerical computin…

侍エンジニア塾

3. np.array 기본

Python의 np.arraynumpy의 핵심 데이터 구조이며, 수치 데이터를 효율적으로 다루는 기능을 제공합니다. 예를 들어, 1차원 배열을 만드는 방법은 다음과 같습니다.

import numpy as np
array_1d = np.array([1, 2, 3, 4, 5])
print(array_1d)

Tip: np.array의 데이터 타입을 지정하면 메모리 효율성을 높일 수 있습니다. dtype 인자를 사용해 정수 타입(int32 등)이나 부동소수점 타입을 지정하세요.

4. 다차원 배열 만들기

np.array는 다차원 배열도 지원합니다. 예를 들어, 다음 코드는 2차원 배열을 생성합니다.

array_2d = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
print(array_2d)

FAQ Q: 3차원 이상 배열은 어떻게 만들나요? A: np.array에 더 깊은 중첩 리스트를 전달하면 만들 수 있습니다.

年収訴求

5. 배열 연산

np.array는 인덱싱과 슬라이싱을 통해 요소를 조회하고 부분 연산을 수행할 수 있습니다. 아래는 인덱싱의 기본 예시입니다.

array_2d = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
print(array_2d[1, 2])  # Output: 6

슬라이싱을 사용하면 특정 행이나 열을 손쉽게 추출할 수 있습니다.

6. 배열 형태 변환

데이터 분석에서는 배열의 형태를 바꿔야 할 경우가 많으며, reshape 메서드를 사용하면 효율적으로 형태를 변환할 수 있습니다.

array_1d = np.array([1, 2, 3, 4, 5, 6])
array_2d = array_1d.reshape(2, 3)
print(array_2d)

Tip: resize 메서드로도 형태를 변환할 수 있지만, 원본 배열을 직접 수정하므로 주의가 필요합니다.

7. 배열 연산

numpy의 산술 연산 기능을 활용하면 배열 간 연산이 간단해집니다. 아래 예시는 두 배열을 요소별로 더하는 방법을 보여줍니다.

array1 = np.array([1, 2, 3])
array2 = np.array([4, 5, 6])
print(array1 + array2)  # Output: [5 7 9]

FAQ Q: 배열의 형태가 다르면 연산을 할 수 있나요? A: numpy의 브로드캐스팅 기능을 이용하면 형태가 다른 배열 간에도 올바르게 연산할 수 있습니다.

8. 통계 함수 활용

데이터 분석에서는 배열의 평균, 최대·최소값, 분산 등 통계 지표를 확인하는 것이 중요합니다. 예를 들어, 아래는 배열의 평균을 계산하는 방법입니다.

array = np.array([1, 2, 3, 4, 5])
print(array.mean())  # Output: 3.0

9. 실전 예제: 데이터 분석 적용

여기서는 가상의 매출 데이터를 활용해 매출 성장률을 분석하고 월별 매출 추이를 살펴보겠습니다.

import numpy as np
import matplotlib.pyplot as plt

sales_data = np.array([120, 150, 170, 200, 220, 180, 190, 210, 230, 250, 240, 260])

# Monthly sales growth rate
growth_rate = (sales_data[1:] - sales_data[:-1]) / sales_data[:-1] * 100
print("Monthly growth rate:", growth_rate)

# Plotting the sales data
plt.plot(range(1, 13), sales_data, marker='o')
plt.title("Monthly Sales Trend")
plt.xlabel("Month")
plt.ylabel("Sales (thousands)")
plt.grid(True)
plt.show()

: 데이터를 시각화하면 성장 피크와 추세를 직관적으로 파악하기 쉬워져 비즈니스 분석에 도움이 됩니다.

10. 요약

이 문서는 Python에서 np.array를 사용하는 기본과 데이터 분석에의 적용에 대해 설명했습니다. 주요 내용은 다음과 같습니다.

  1. 기본 사용법 : np.array 생성 및 데이터 타입 지정.
  2. 다차원 배열 : 2차원 및 3차원 배열 생성 및 조작.
  3. 리쉐이핑 : reshapeflatten을 사용한 형태 변환 방법.
  4. 연산 및 통계 : 요소별 연산 및 통계 측정값 계산.
  5. 실용 예시 : 성장률 계산 및 판매 데이터 시각화.

이러한 개념은 데이터 분석 및 머신러닝 프로젝트의 기반을 형성하므로 꼭 활용하시기 바랍니다. 이해를 심화하고 싶다면 공식 numpy 문서와 기타 관련 주제도 참고하세요.