본문 바로가기
Deep Learning

[딥러닝] 밑바닥부터 시작하는 딥러닝 공부 1-1 : 헬로 파이썬

by 단깅수 2024. 1. 1.
728x90

머신러닝, 딥러닝 등 AI를 전공하고 있는 전공생으로서 오늘부터 기술 블로그를 작성하려고 한다.

 

그 첫 시작은 일명 '밑시딥'이라고 불리는 '밑바닥부터 시작하는 딥러닝' 책을 공부하면서 알게 된 내용을 정리, 요약할 예정이다.

 

Chapter 1 헬로 파이썬

1. 파이썬이란?

  • 파이썬(영어Python)은 1991년 네덜란드계 소프트웨어 엔지니어인 귀도 반 로섬이 발표한 고급 프로그래밍 언어로, '인터프리터를 사용하는 객체지향 언어'이자 플랫폼에 독립적인, 동적 타이핑(dynamically typed) 대화형 언어이다. (출처 : 위키백과)
  • 쉽게 설명해서 오픈소스로 제공되는 프로그래밍 언어 중 하나라고 볼 수 있는데 비슷한 기능을 하는 C, 자바에 비해 비교적 쉽게 익힐 수 있는 특징이 있다.
  • 기본적인 패키지나 연산자, 클래스, 함수 등에 대해서 간단히만 볼 예정이다.

2. 자주 사용하는 기능들

  • 산술연산자 정리
# 산술연산자 정리

# 덧셈
print("2 + 10은?", 2+10)

# 뺄셈
print("10 - 2는?", 10-2)

# 곱셈
print("2 * 10은?", 2*10)

# 나눗셈
print("10 / 2는?", 10/2)

# 나머지
print("5 / 2의 나머지는?", 5%2)

# 거듭제곱
print("2의 5 거듭제곱은?", 2**5)

# 파이썬에서는 정수, 실수 등 수에 대해서 산술 연산을 진행할 수 있다.

  • 자료형 정리
# 자료형 정리

# 정수형
print(type(7))

# 실수형
print(type(7.0))

# 문자형
print(type('아이스아메리카노')) # 따옴표를 붙여야만 함
print(type(str(7))) # 숫자도 문자형으로 만들어 줄 수 있음

# Boolean형
print(type(True))
print(type(False))

# 리스트
print(type([1, 2, 3, 4, 5]))

# 튜플
print(type((1, 2, 3, 4, 5)))

# 셋
print(type(set([1, 2, 3, 4, 5])))

# 딕셔너리
print(type({
    '정수' : [1, 2, 3],
    '실수' : [1.0, 2.0 ,3.0]
}))

# 자료형의 종류는 다음과 같고 유의해야 할 점은 숫자도 문자형처럼 만들어 줄 수 있다는 점.
# 리스트와 튜플, 셋은 비슷한 형태를 가지지만 리스트가 가장 기본형이고
# 튜플은 형태를 바꿀 수 없으며 셋은 중복을 포함하지 않는 성질이 있다.
# 딕셔너리는 key와 value값으로 이루어져 있는데 이를 이용해서 데이터프레임으로 자주 만들곤 한다.

  • 가정, 반복문 정리
# 가정, 반복문 정리

num_list = [1, 2, 3, 4, 5, 6, 7, 8]
input_number = int(input('숫자를 입력해주세요:'))

# IF문
if input_number in num_list:
    print(input_number,'은 num_list에 들어 있습니다.')
else:
    print(input_number,'은 num_list에 들어 있지 않습니다.')

# For문
for i in range(len(num_list)):
    print('num_list의', i+1, '번째 요소는:',num_list[i])
    
# if문은 만약 조건식이 참이라면 실행, 거짓이라면 else의 조건식을 실행하는 의미
# for문은 주어진 조건식을 n번 반복 실행하는 의미

  • Numpy 패키지 정리
import numpy as np # numpy 패키지

# 1차원 배열 생성
array = np.array([1, 2, 3, 4, 5])
print(array)
print('array 의 차원은', array.ndim, '차원입니다.')

# 2차원 배열 생성
array_a = np.array([[1, 2], [3, 4]])
array_b = np.array([[5, 6], [7, 8]])
print(array_a)
print(array_b)
print('array_a, array_b 의 차원은', array_a.ndim, '차원입니다.')

# 배열 간 연산
print(array_a + array_b)  # 덧셈
print(array_a * array_b)  # 곱셈

# 0으로 채워진 배열 생성
print(np.zeros((3, 4)))  # 3x4 배열

# 1로 채워진 배열 생성
print(np.ones((2, 3)))  # 2x3 배열

# 특정 값으로 채워진 배열 생성
print(np.full((2, 2), 7))  # 2x2 배열, 값은 7

  • Pandas 패키지 정리
import pandas as pd

# 딕셔너리를 이용한 데이터프레임 생성
data = {'Name': ['손흥민', '황희찬', '이강인', '박지성'],
        'Age': [31, 27, 22, 42],
        'Team': ['Tottenham Hotspur', 'Wolverhampton Wanderers', 'Paris Saint-Germain', 'Manchester United']}

df = pd.DataFrame(data)
df

### 데이터프레임 확인 및 요약 ###
df.head()       # 데이터프레임의 처음 5개 행 출력
df.describe()   # 숫자 열의 요약 통계 정보 출력
df.info()       # 데이터프레임의 구조와 데이터 타입 정보 출력

### 데이터프레임 인덱싱과 슬라이싱 ###
df['Name']      # 'Name' 열 선택
df.loc[0]       # 첫 번째 행 선택
df.iloc[:, 1:3] # 인덱스를 기반으로 열 범위 선택

### 데이터프레임 조작 ###
# 열 추가
df['Dominant foot'] = ['Both', 'Right', 'Left', 'Both']

# 조건에 따른 데이터프레임 필터링
df[df['Age'] > 25]

# 열 삭제
df.drop('Team', axis=1, inplace=True)

# 그룹화 후 통계 계산
df.groupby('Dominant foot')['Age'].mean()  # 'Gender' 열을 기준으로 평균 계산

### 데이터 입출력 ###
# CSV 파일로 데이터프레임 저장
df.to_csv('data.csv', index=False)

# CSV 파일에서 데이터프레임 읽기
new_df = pd.read_csv('data.csv')

 

이번 글은 여기서 내용을 마무리 하려고 한다.

오늘 본 내용은 파이썬에 대해서 산술연산자, 자료형, 가정반복문, numpy 패키지, pandas 패키지 등을 알아보았다.

기본적인 내용이라 가볍게만 짚고 넘어가고 다음 글에는 Matplotlib, Seaborn 패키지를 이용한 시각화 내용을 담아보려고 한다.

 

매일매일 최선을 다하자. 파이팅~!

728x90