일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |
- chromeextention
- lightsail
- pandas
- ai_캠프
- Github
- seaborn
- 머신러닝
- aws
- 정치기 필기
- finpilot
- django
- 파이썬
- sLLM
- ai캠프
- conda
- mifare
- ai 캠프
- djangorestframework
- Python
- Jupyterlab
- 로컬 런타임
- ML
- ollama
- 티스토리챌린지
- streamlit
- pytorch
- EC2
- 오블완
- mysql
- team_project
- Today
- Total
greatsangho의 이야기
캠프 7일차 - 파이썬 총정리 본문
7일차는 판다스와 넘파이의 기본 사용법과 library에서 책을 입력받고 이를 클래스로 정리하여 CRUD를 할 수 있는 하나의 프로그램을 만들어 보았다. 지금까지 배운 파이썬 문법을 전부 사용하는 경험을 할 수 있었는데 기초적인 개념에 대한 이해와 숙달이 중요하다는 생각이 들었다.
pandas는 csv 및 기타 파일을 객체형태로 관리 모듈(프레임 웍)이다
# !pip install pandas -> colab에서, 이미 설치되어 있어 실행 불필요
# !conda install pandas -> 로컬 가상환경 이용시
설치를 하면 import를 해준다
import pandas as pd
pd.DataFrame() # 빈 데이터 프레임 클래스 초기화
d = {'col1': [1, 2], 'col2': [3, 4]}
df = pd.DataFrame(d)
df # 딕셔너리는 세로로
판다스에서 딕셔너리는 세로로 표시해 준다는 것을 알 수 있다
import random
data = [random.sample(range(1,46),6) for i in range(20)]
df = pd.DataFrame(data)
df # 리스트는 가로로
리스트는 가로로 표기해 준다
판다스는 데이터를 편하게 관리 및 분석할 수 있는 함수를 제공한다
df['name0'] # 시리즈, DataFrame --> 시리즈의 집합
df['name0'].values # 넘파이 배열
df['name0'].index # 인덱스
df['name0'].dtype # 데이터 타입
df['name0'].value_counts() # 빈도수 # 기본이 내림차순으로 출력
df['name0'].unique() # 고유값
df['name0'].nunique() # 고유값 개수
판다스를 이용해 다음과 같이 데이터를 가져올 수 있다.
# https://www.data.go.kr/
df = pd.read_csv('/content/drive/MyDrive/datafile/<파일명>.csv',encoding='ms949')
# 주로 utf8로 표준화 안 해놓음
df.head(2)
다음은 공공데이터포털에서 csv를 가져온 예시이다.
우리나라 데이터는 표준 인코딩이 되어있지 않으므로 ms949로 인코딩 한다
넘파이 - 수학적 계산을 위한 리스트로 파이썬 리스트와 구분을 위해 넘파이 배열로 저장한다
import numpy as np
np.array([1,2,3]) # 리스트 -> 넘파이 배열
# 두개의 리스트의 각각의 요소끼리 사칙연산
a = random.sample(range(1,10),5)
b = random.sample(range(1,10),5)
print(a,b)
print([x+y for x,y in zip(a,b)])
print([x-y for x,y in zip(a,b)])
print([x*y for x,y in zip(a,b)])
print([x/y for x,y in zip(a,b)])
a+b
파이썬 리스트에서는 이와 같이 계산을 해야하지만
a_numpy = np.array(a)
b_numpy = np.array(b)
print(a_numpy+b_numpy)
print(a_numpy-b_numpy)
print(a_numpy*b_numpy)
a_numpy/b_numpy
넘파이는 다음과 같이 바로 계산할 수 있어 편리하다.
파이썬 클래스 실습으로 도서관리 프로그램을 만들었다.
기능 명세서와, 프로그램 설계서가 주어지고, 이를 바탕으로 프로그램을 만들었다.
프로그램을 만들면서 깨달은 점은 구현하고자 하는 것이 명확해야 하며 이를 글로 잘 적어 설계할 수 있어야 한다는 점이었다.
그 다음 배운 내용을 바탕으로 사용할 기능에 대한 정확한 함수나 클래스를 설정하고 적용할 줄 알아야 한다는 점이었다.
특히 일을 하게되면 초반에는 코딩을 많이 하지만 나중에는 설계를 많이 하게 될 것이라 강사님께서 말해주시는데 둘 다 잘할 수 있도록 열심히 공부하도록 해야겠다
https://github.com/greatsangho/python_study/blob/main/20240828_day_7.ipynb
python_study/20240828_day_7.ipynb at main · greatsangho/python_study
Contribute to greatsangho/python_study development by creating an account on GitHub.
github.com
'프로그래밍 > SK AI 캠프' 카테고리의 다른 글
캠프 9일차 - SQL 기본 (0) | 2024.08.30 |
---|---|
캠프 8일차 - MySQL 설치 (3) | 2024.08.30 |
캠프 6일차 - 파이썬 클래스의 추가적인 구문 (0) | 2024.08.27 |
캠프 5일차 - 파이썬 모듈, 클래스 (0) | 2024.08.26 |
SKN AI 캠프 1주차 (0) | 2024.08.23 |