-
Python 기초 : Python Library(1)(Pandas, Numpy)BootCamp/FastCampus x Upstage AI Lab 6기 2024. 11. 20. 16:12
파이썬 라이브러리 개요
- 파이썬 라이브러리는 다양한 기능을 제공하여 프로그래밍을 보다 효율적으로 할 수 있도록 돕는 도구이다.
- 파이썬은 뛰어난 확장성과 연계 호환성을 가지고 있어, 다양한 분야에서 활용되고 있다.
- 딥 러닝 프레임워크는 대부분 파이썬 기반으로 작성되어 있으며, 관련 자료도 파이썬으로 제공된다.
수치 계산 라이브러리(NumPy)
- NumPy는 Numerical Python의 약자로, 파이썬 기반의 수치 해석 라이브러리이다.
- 다차원 배열과 배열 연산을 수행하는 다양한 함수를 제공한다.
- 설치 방법: pip install NumPy
- 사용 방법: import NumPy as np
- NumPy에 대한 다양한 설명은 NumPy 공식 웹사이트에서 확인할 수 있다.
NumPy -
Use the interactive shell to try NumPy in the browser
numpy.org
NumPy 기본 개념
- NumPy는 수치 계산을 위한 기본 개념을 제공한다.
- ndarray는 NumPy에서 배열을 나타내는 객체로, 다양한 연산을 지원한다.
- NumPy 배열은 Python list에 비해 문법이 간단하고 성능이 뛰어나다.
- NumPy의 배열은 기본적으로 같은 타입의 값을 가진다.
NumPy 배열과 연산
- NumPy 배열은 ndarray 또는 array로 불리며, 다양한 연산이 가능하다.
- NumPy 배열은 배열 전체에 연산이 가능하지만, Python list는 덧셈만 가능하다.
- NumPy의 배열 생성 방법은 np.array, np.zeros, np.ones, np.empty 등을 사용한다.
NumPy 데이터 생성
- np.arange와 np.linspace를 이용하여 연속적인 데이터를 쉽게 생성할 수 있다.
- np.arange는 N 만큼 차이 나는 숫자를 생성하고, np.linspace는 N 등분한 숫자를 생성한다.
- 이 두 함수는 데이터 생성 시 코드 가독성을 높이는 데 유용하다.
NumPy 기본 연산
- NumPy에서 수치 연산은 기본적으로 element wise 연산이다.
- 차원(축)을 기준으로 행렬 내에서 같은 위치에 있는 원소끼리 연산을 수행한다.
- 다양한 곱셈 연산을 지원하며, 행렬 곱셈은 @ 기호를 사용한다.
# 1. NumPy 배열 생성 및 연산 import numpy as np # 배열 생성 arr = np.array([1, 2, 3, 4, 5]) zeros = np.zeros((2, 3)) ones = np.ones((3, 2)) # 배열 연산 arr_squared = arr ** 2 print("원본 배열:", arr) # 원본 배열: [1 2 3 4 5] print("제곱 연산 결과:", arr_squared) # 제곱 연산 결과: [ 1 4 9 16 25] print("0으로 채워진 배열:\n", zeros) # 0으로 채워진 배열: # [[0. 0. 0.] # [0. 0. 0.]] print("1로 채워진 배열:\n", ones) # 1로 채워진 배열: # [[1. 1.] # [1. 1.] # [1. 1.]]
데이터 처리 라이브러리(Pandas)
- Pandas는 파이썬에서 사용하는 데이터 분석 라이브러리이다.
- 행과 열로 이루어진 2차원 데이터를 효율적으로 가공할 수 있는 다양한 기능을 제공한다.
- 설치 방법: pip install pandas
- 사용 방법: import pandas as pd
- Pandas에 대한 다양한 설명은 Pandas 공식 웹사이트에서 확인할 수 있다.
pandas - Python Data Analysis Library
pandas pandas is a fast, powerful, flexible and easy to use open source data analysis and manipulation tool, built on top of the Python programming language. Install pandas now!
pandas.pydata.org
Pandas 기본 개념
- Pandas는 데이터 분석을 위한 라이브러리로, 시리즈(Series)와 데이터프레임(DataFrame)이라는 구조화된 데이터 형식을 제공한다.
- 데이터프레임은 행과 열로 이루어진 2차원 배열의 형태이다.
- Pandas는 다양한 형태의 외부 파일을 읽어와서 데이터프레임으로 변환하는 기능을 제공한다.
Pandas 데이터 형식
- Pandas는 **시리즈(Series)**와 **데이터프레임(DataFrame)**이라는 두 가지 주요 데이터 형식을 제공한다.
- 시리즈는 1차원 배열의 형태로, index와 value가 일대일 대응 관계를 가진다.
- 데이터프레임은 2차원 배열의 형태로, 각 열은 각각의 시리즈 객체로 구성된다.
Pandas 파일 불러오기
- Pandas는 다양한 형태의 외부 파일을 읽어와서 데이터프레임으로 변환하는 함수를 제공한다.
- CSV, Excel, JSON, SQL, HTML 등 다양한 파일 형식을 지원한다.
- 예를 들어, CSV 파일을 읽어오는 방법은 pd.read_csv("파일경로")이다.
Pandas 데이터 내용 확인
- Pandas는 데이터의 내용을 확인하기 위한 다양한 메서드를 제공한다.
- .columns, .head(), .tail(), .shape, .info() 등을 사용하여 데이터의 구조와 내용을 파악할 수 있다.
Pandas 특정 열 선택
- 특정 열을 선택할 때는 대괄호([]) 안에 열 이름을 입력하여 시리즈 객체를 반환받을 수 있다.
- 여러 개의 열을 선택할 때는 2중 대괄호([[ ]])를 사용하여 데이터프레임 객체를 반환받는다.
Pandas 데이터 필터링
- 불리언 인덱싱을 사용하여 특정 조건을 만족하는 데이터만 추출할 수 있다.
- .isin() 메서드를 사용하여 특정 값이 포함된 행을 선택할 수 있다.
Pandas 결측치 처리
- 결측치는 데이터 분석에서 중요한 부분으로, .dropna() 메서드를 사용하여 결측값이 있는 행이나 열을 삭제할 수 있다.
- 결측값을 처리하는 방법은 데이터의 양에 따라 다르며, 대체하는 방법도 고려해야 한다.
Pandas 행과 열 선택
- .loc[] 메서드를 사용하여 행 이름과 열 이름을 기반으로 특정 데이터를 선택할 수 있다.
- .iloc[] 메서드는 행 번호와 열 번호를 사용하여 데이터를 선택하는 방법이다.
Pandas 데이터 통계
- Pandas는 데이터의 통계량을 계산하기 위한 다양한 메서드를 제공한다.
- .mean(), .median(), .describe(), .agg(), .groupby(), .value_counts() 등을 사용하여 통계 정보를 얻을 수 있다.
Pandas 행과 열 추가 및 삭제
- 행을 추가할 때는 DataFrame.loc['새로운행이름'] = 데이터값을 사용한다.
- 열을 추가할 때는 DataFrame['추가하려는열이름'] = 데이터값을 사용한다.
- 행이나 열을 삭제할 때는 .drop() 메서드를 사용하여 특정 인덱스나 열을 제거할 수 있다.
# 2. Pandas 데이터프레임 기본 사용 import pandas as pd # 데이터프레임 생성 data = {'Name': ['Alice', 'Bob', 'Charlie'], 'Age': [25, 30, 35], 'Score': [90, 85, 88]} df = pd.DataFrame(data) # 데이터 확인 print("데이터프레임:\n", df) # 데이터프레임: # Name Age Score # 0 Alice 25 90 # 1 Bob 30 85 # 2 Charlie 35 88 print("열 이름:", df.columns) # 열 이름: Index(['Name', 'Age', 'Score'], dtype='object') print("첫 2개 행:\n", df.head(2)) # 첫 2개 행: # Name Age Score # 0 Alice 25 90 # 1 Bob 30 85 print("행과 열 개수:", df.shape) # 행과 열 개수: (3, 3) # 특정 열 선택 print("Name 열:\n", df['Name']) # Name 열: # 0 Alice # 1 Bob # 2 Charlie # Name: Name, dtype: object print("Name과 Score 열:\n", df[['Name', 'Score']]) # Name과 Score 열: # Name Score # 0 Alice 90 # 1 Bob 85 # 2 Charlie 88 # 조건 필터링 print("Age가 30 이상인 데이터:\n", df[df['Age'] >= 30]) # Age가 30 이상인 데이터: # Name Age Score # 1 Bob 30 85 # 2 Charlie 35 88
+ Pandas, Numpy로 실습해볼 수 있는 데이터
- Kaggle은 데이터 분석 경진대회를 주최하는 플랫폼으로, 실제 기업 데이터를 다룰 수 있는 기회를 제공한다.
- Titanic 데이터는 Kaggle의 대표적인 데이터 분석 입문용 데이터셋이다.
- 이 데이터의 목표는 타이타닉에서 살아남을 수 있는 승객을 예측하는 것이다.
'BootCamp > FastCampus x Upstage AI Lab 6기' 카테고리의 다른 글
Python 기초 : 크롤링(Crawling), 인코딩(Encoding), 디코딩(Decoding) (0) 2024.11.21 Python 기초 : Python Library(2)(Matplotlib, Seaborn, BeautifulSoup, Scikit-Learn) (1) 2024.11.20 국민내일배움카드 훈련과정 출석 관리용 엑셀 (부트캠프 etc..) (0) 2024.11.19 Python 기초 : 클래스와 모듈 (2) 2024.11.19 Python 기초 : 입출력과 제어문 (2) 2024.11.18