반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- 분산 식별자
- 무화과
- 주말농장
- 치비
- Tendermint
- PKI
- 애플 달팽이
- 물생활
- 가재
- did
- golang 강좌
- Feign
- 텐더민트
- 반복문
- for
- 분산 신원
- rust 소개
- 구피
- rust
- rust 강좌
- 쌈채소
- MSSQL
- 기본문법
- 카디날
- RSA
- Python 강좌
- 조건문
- MSA
- 체리새우
- Config server
Archives
- Today
- Total
comnic's Dev&Life
[Python] 4. NumPy와 Pandas 본문
반응형
4. NumPy와 Pandas
4.1 NumPy
NumPy는 Numerical Python의 약자로, 과학 계산을 위한 강력한 패키지로 널리 사용되고 있습니다. 주로 배열과 행렬 연산에 중점을 둔 다차원 배열을 제공하며, 수학적 함수들을 제공하여 효과적인 데이터 분석과 처리를 가능케 합니다. NumPy는 많은 데이터 과학 및 머신러닝 라이브러리의 기반이 되기도 합니다.
NumPy의 주요 특징:
- 다차원 배열(N-dimensional array): NumPy는 다차원 배열인 ndarray를 제공하며, 이는 동일한 데이터 타입의 원소들이 격자 형태로 있는 배열입니다.
- 브로드캐스팅(Broadcasting): 서로 다른 크기의 배열 간에도 산술 연산이 가능하도록 하는 기능으로, 코드를 간결하게 작성할 수 있게 합니다.
- 효율적인 연산: NumPy는 C로 구현되어 있어, 배열에 대한 연산이 효율적으로 이루어집니다. 벡터화된 연산을 통해 반복문을 사용하지 않고도 간결한 코드로 다양한 수학적 연산을 수행할 수 있습니다.
- 수학 및 통계 함수 제공: 다양한 수학 및 통계 함수를 제공하여 과학적 계산을 지원합니다.
- 인덱싱과 슬라이싱: NumPy 배열의 요소에 접근하고 조작하기 위한 강력한 인덱싱과 슬라이싱 기능을 제공합니다.
다음은 NumPy의 기본적인 사용 예제입니다.
# NumPy 라이브러리 임포트
import numpy as np
# 1차원 배열 생성
arr_1d = np.array([1, 2, 3, 4, 5])
print("1D Array:", arr_1d)
# 2차원 배열 생성
arr_2d = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
print("2D Array:\n", arr_2d)
# 배열의 크기 확인
print("Shape of arr_2d:", arr_2d.shape)
# 배열의 차원 수 확인
print("Number of dimensions of arr_2d:", arr_2d.ndim)
# 배열의 데이터 타입 확인
print("Data type of arr_2d:", arr_2d.dtype)
# 행렬 곱셈
matrix_product = np.dot(arr_2d, arr_2d)
print("Matrix Product:\n", matrix_product)
# 브로드캐스팅
arr_broadcast = arr_2d * 2
print("Broadcasting Result:\n", arr_broadcast)
# 통계 함수
mean_value = np.mean(arr_2d)
print("Mean Value:", mean_value)
이 예제에서는 NumPy 배열의 생성, 크기 및 차원 확인, 행렬 곱셈, 브로드캐스팅, 통계 함수 등 다양한 기능을 사용하는 방법을 보여줍니다. NumPy를 활용하면 배열 기반의 과학적 계산이 훨씬 간편하고 효율적으로 수행됩니다.
4.2 Pandas
Pandas는 데이터 조작 및 분석을 위한 라이브러리로, 표 형식의 데이터를 다루는 데에 특히 유용합니다. 주로 데이터프레임(DataFrame)이라는 자료구조를 제공하며, 엑셀의 스프레드시트와 유사한 형태의 2차원 테이블로 데이터를 표현합니다. Pandas는 NumPy에 기반하며, 데이터 조작 및 처리를 더 편리하게 할 수 있도록 다양한 기능을 제공합니다.
Pandas의 주요 구성 요소:
- DataFrame: 엑셀 스프레드시트와 유사한 2차원 데이터 구조로, 행과 열로 이루어진 테이블을 제공합니다.
- Series: 1차원 배열과 유사한 자료구조로, 인덱스를 가지는 열 형태의 데이터를 표현합니다.
- Index: 데이터프레임이나 시리즈에서 각 행과 열에 대한 이름을 지정하는 데 사용됩니다.
다음은 Pandas의 기본적인 사용 예제입니다.
# Pandas 라이브러리 임포트
import pandas as pd
# 데이터프레임 생성
data = {'Name': ['Alice', 'Bob', 'Charlie'],
'Age': [25, 30, 35],
'City': ['New York', 'San Francisco', 'Los Angeles']}
df = pd.DataFrame(data)
print("DataFrame:\n", df)
# 데이터프레임 정보 확인
print("\nInfo:")
print(df.info())
# 특정 열 선택
ages = df['Age']
print("\nSelected Column 'Age':\n", ages)
# 행 선택
row = df.loc[1]
print("\nSelected Row at index 1:\n", row)
# 새로운 열 추가
df['Salary'] = [50000, 60000, 70000]
print("\nDataFrame with New Column 'Salary':\n", df)
# 통계 정보 확인
print("\nStatistics:")
print(df.describe())
이 예제에서는 Pandas의 데이터프레임을 생성하고 다양한 조작을 수행하는 방법을 보여줍니다. 데이터프레임을 통해 데이터를 효율적으로 조작하고 분석할 수 있습니다. Pandas는 데이터 전처리, 탐색적 데이터 분석, 통계 분석 등 다양한 데이터 관련 작업에서 활용됩니다.
반응형
'Python' 카테고리의 다른 글
[Python] 3. 기본 문법 (0) | 2024.01.12 |
---|---|
[Python] 2. 개발환경 설정 (0) | 2024.01.12 |
[Python] 1. Python 소개 및 장단점 (0) | 2024.01.10 |
Comments