NumPy 완벽 마스터

NumPy의 핵심 개념과 실전 활용법

Python중급
6시간
3개 항목
학습 진행률0 / 3 (0%)

학습 항목

1. Python
중급
Data|Science|기초부터|심화까지
퀴즈튜토리얼
2. Python
고급
NumPy|최신|기능|완벽|가이드
퀴즈튜토리얼
3. Python
중급
NumPy|트러블슈팅|가이드|완벽|정복
퀴즈튜토리얼
1 / 3

이미지 로딩 중...

Data Science 기초부터 심화까지 - 슬라이드 1/11

Data Science 기초부터 심화까지

데이터 과학의 핵심 개념과 실전 기법을 배웁니다. Pandas, NumPy, Matplotlib을 활용한 데이터 분석과 시각화, 머신러닝 기초까지 다룹니다.


카테고리:Python
언어:Python
난이도:intermediate
메인 태그:#Python
서브 태그:
#Pandas#NumPy#DataAnalysis#MachineLearning

들어가며

이 글에서는 Data Science 기초부터 심화까지에 대해 상세히 알아보겠습니다. 총 10가지 주요 개념을 다루며, 각각의 개념에 대한 설명과 실제 코드 예제를 함께 제공합니다.

목차

  1. Pandas_DataFrame_기초
  2. NumPy_배열_연산
  3. 데이터_필터링과_정렬
  4. 데이터_그룹화와_집계
  5. Matplotlib_기본_시각화
  6. 결측치_처리
  7. CSV_파일_읽기와_저장
  8. 데이터_병합하기
  9. 데이터_피벗_테이블
  10. 선형_회귀_기초

1. Pandas_DataFrame_기초

개요

Pandas의 DataFrame은 데이터를 테이블 형태로 다루는 핵심 자료구조입니다. 행과 열로 구성되어 있으며 다양한 데이터 분석 작업을 수행할 수 있습니다.

코드 예제

import pandas as pd

data = {'이름': ['김철수', '이영희', '박민수'],
        '나이': [25, 30, 35],
        '직업': ['개발자', '디자이너', '기획자']}
df = pd.DataFrame(data)
print(df)
print(f"\n평균 나이: {df['나이'].mean()}")

설명

DataFrame을 생성하고 기본 정보를 출력합니다. mean() 함수로 나이의 평균을 쉽게 계산할 수 있습니다.


2. NumPy_배열_연산

개요

NumPy는 고성능 수치 계산을 위한 라이브러리입니다. 배열 단위 연산으로 반복문 없이 빠르게 계산할 수 있습니다.

코드 예제

import numpy as np

scores = np.array([85, 90, 78, 92, 88])
normalized = (scores - scores.mean()) / scores.std()
print(f"원본 점수: {scores}")
print(f"표준화 점수: {normalized}")
print(f"90점 이상: {scores[scores >= 90]}")

설명

NumPy 배열로 표준화(정규화) 계산과 조건 필터링을 한 줄로 처리합니다. 벡터화 연산으로 성능이 뛰어납니다.


3. 데이터_필터링과_정렬

개요

Pandas로 조건에 맞는 데이터를 필터링하고 정렬할 수 있습니다. 복잡한 조건도 쉽게 표현 가능합니다.

코드 예제

import pandas as pd

df = pd.DataFrame({
    '제품': ['A', 'B', 'C', 'D'],
    '가격': [10000, 25000, 15000, 30000],
    '재고': [50, 30, 0, 20]
})
expensive = df[(df['가격'] >= 20000) & (df['재고'] > 0)]
print(expensive.sort_values('가격', ascending=False))

설명

2만원 이상이면서 재고가 있는 제품만 필터링하고, 가격 내림차순으로 정렬합니다.


4. 데이터_그룹화와_집계

개요

groupby()로 데이터를 그룹화하고 각 그룹별 통계를 계산합니다. SQL의 GROUP BY와 유사한 기능입니다.

코드 예제

import pandas as pd

sales = pd.DataFrame({
    '지역': ['서울', '서울', '부산', '부산', '서울'],
    '매출': [100, 150, 80, 90, 120]
})
regional_stats = sales.groupby('지역')['매출'].agg(['sum', 'mean', 'count'])
print(regional_stats)

설명

지역별로 데이터를 그룹화하여 총합, 평균, 개수를 한 번에 계산합니다.


5. Matplotlib_기본_시각화

개요

Matplotlib으로 데이터를 시각화할 수 있습니다. 선 그래프, 막대 그래프 등 다양한 차트를 그릴 수 있습니다.

코드 예제

import matplotlib.pyplot as plt

months = ['1월', '2월', '3월', '4월']
sales = [120, 150, 180, 160]

plt.figure(figsize=(8, 5))
plt.plot(months, sales, marker='o', linewidth=2)
plt.title('월별 매출 추이')
plt.ylabel('매출(만원)')
plt.grid(True)
plt.show()

설명

월별 매출 데이터를 선 그래프로 시각화합니다. marker로 데이터 포인트를 표시하고 그리드를 추가했습니다.


6. 결측치_처리

개요

실제 데이터에는 빠진 값(NaN)이 자주 있습니다. 결측치를 찾고 적절히 처리하는 것이 중요합니다.

코드 예제

import pandas as pd
import numpy as np

df = pd.DataFrame({
    '이름': ['A', 'B', 'C', 'D'],
    '점수': [85, np.nan, 90, 78]
})
print(f"결측치 개수: {df['점수'].isna().sum()}")
df['점수'].fillna(df['점수'].mean(), inplace=True)
print(df)

설명

결측치를 확인하고 평균값으로 채웁니다. isna()로 결측치를 찾고 fillna()로 대체합니다.


7. CSV_파일_읽기와_저장

개요

CSV 파일은 가장 흔한 데이터 포맷입니다. Pandas로 쉽게 읽고 쓸 수 있습니다.

코드 예제

import pandas as pd

# CSV 읽기
df = pd.read_csv('data.csv', encoding='utf-8')
print(df.head())  # 처음 5행 출력

# 데이터 처리 후 저장
df_filtered = df[df['price'] > 1000]
df_filtered.to_csv('filtered_data.csv', index=False)

설명

read_csv()로 파일을 읽고, 조건으로 필터링한 후 새 파일로 저장합니다. index=False로 인덱스를 제외합니다.


8. 데이터_병합하기

개요

여러 데이터셋을 합치는 작업은 데이터 분석에서 매우 중요합니다. SQL의 JOIN과 유사한 기능입니다.

코드 예제

import pandas as pd

users = pd.DataFrame({'id': [1, 2, 3], '이름': ['김', '이', '박']})
orders = pd.DataFrame({'id': [1, 2, 4], '금액': [10000, 20000, 15000]})

merged = pd.merge(users, orders, on='id', how='inner')
print(merged)

설명

두 DataFrame을 id 컬럼 기준으로 내부 조인합니다. how 파라미터로 조인 방식(inner, outer, left, right)을 지정합니다.


9. 데이터_피벗_테이블

개요

피벗 테이블로 데이터를 재구조화하고 다차원 분석을 수행할 수 있습니다. Excel의 피벗 테이블과 같은 기능입니다.

코드 예제

import pandas as pd

sales = pd.DataFrame({
    '날짜': ['2024-01', '2024-01', '2024-02', '2024-02'],
    '제품': ['A', 'B', 'A', 'B'],
    '매출': [100, 150, 120, 180]
})
pivot = sales.pivot_table(values='매출', index='날짜', columns='제품')
print(pivot)

설명

날짜를 행, 제품을 열로 하는 피벗 테이블을 생성합니다. 데이터를 2차원 표로 재구조화합니다.


10. 선형_회귀_기초

개요

머신러닝의 가장 기본적인 알고리즘인 선형 회귀로 데이터의 패턴을 학습하고 예측합니다.

코드 예제

from sklearn.linear_model import LinearRegression
import numpy as np

X = np.array([[1], [2], [3], [4], [5]])  # 공부 시간
y = np.array([2, 4, 5, 4, 5])  # 시험 점수

model = LinearRegression()
model.fit(X, y)
print(f"6시간 공부 시 예상 점수: {model.predict([[6]])[0]:.1f}")

설명

공부 시간과 점수의 관계를 학습하여 새로운 값을 예측합니다. fit()으로 학습하고 predict()로 예측합니다.


마치며

이번 글에서는 Data Science 기초부터 심화까지에 대해 알아보았습니다. 총 10가지 개념을 다루었으며, 각각의 사용법과 예제를 살펴보았습니다.

관련 태그

#Python #Pandas #NumPy #DataAnalysis #MachineLearning

#Python#Pandas#NumPy#DataAnalysis#MachineLearning