Bootcamp/Pandas & python

[Python] python 기본 문법 & 자료구조 & 흐름제어

K_Hyul 2023. 9. 26. 12:09
728x90

Python 기본 문법 & 자료 구조& 흐름제어

(본인은 C++ 를 베이스로 공부를 해왔기에 지식적으론 알지만 python으로는 처음과 같다)

================================

오늘 시작은 python_basic folder 를 만들어

가상환경을 만들고

안에 .py를 만들어서 가상환경에서 실행이 되었는지 체크를 하고

python -m pip install --upgrade pip
으로 pip 업그레이드를 해준다.

그 후 

pip install jupyter
pip install numpy
pip install pandas

3개의 library를 설치해준다.

jupyter 같은 경우 개발 도구 중 하나이며 데이터 분석할 때 쓰기 편리하다.

코드 설명을 하기 쉽고 문서 작성을 편리하게 할 수 있는 웹 응용프로그램임.

numpy 는 행렬과 같이 수학적 자료가 필요할 때 사용한다.

pandas는 도표처럼 수학적 통계를 보는데 사용한다.

 

확인을 할 때 

import numpy as np
import pandas as pd

as np, pd인건 활용할 때 np.함수 이렇게 쓴다는 뜻

 

================================

기본 문법

import numpy as np
import pandas as pd
import sys

kk = 1 # int 변수
name = 'python' # string 변수
print(kk)
print(name)
print(type(kk)) # type은 이 변수의 자료형을 알려준다.
print(type(name)) 


for a in range(0,9,1): # range 같은 경우 0부터 시작해 9-1 = 8 만큼 돌아가고 a의 상승이 1임을 알려준다.
    print(a)
  
my_list = ['치킨','피자','스파게티','아몰랑']
for a in range(0,len(my_list),1): # a를 숫자로 받고 len(my_list)의 크기만큼 가져온다.
    print(my_list[a])

for b in my_list: #c++과 다른점으로 바로 my_list에 있는 것들을 하나씩 불러온다.
    print(b)
    
    
import enum  # 열거형을 의미, 열거형이란 특정 값들의 집합을 나타내는 자료형, 상수 정의를 내린다 생각하면 될 듯

class RAINBOW(enum.Enum):
    RED = (enum.auto(), 0)
    ORANGE = (enum.auto(), 1)
    YELLOW = (enum.auto(), 2)
    GREEN = (enum.auto(), 3)
    BLUE = (enum.auto(), 4)
    NAVY = (enum.auto(), 5)
    PURPLE = (enum.auto(), 6)

print(RAINBOW.RED.name)
print(RAINBOW.RED.value[1])
# RAINBOW.RED.name = 'GREEN' # 상수 취급이라 변경시 에러가 뜸
print(RAINBOW.RED.name)

 

 

개인적으로 기본적인 연산, 문자열에 대해선 생략하겠다. 

 

================================

자료구조 List를 확인해보면 

1) List 

python 같은 경우 List를 기본으로 제공한다.

my_list = [1,2,3,'Hello', True]
my_list.append(5)
print(my_list)

C++과 다르게 list를 만들 때 자료형 선언을 할 필요가 없어 위와 같이 선언하면 된다.

 

 

2) Tuple

튜플은 리스트와 비슷하지만 안에 값들을 변경할 수 없다. 

C++에서 const 선언을 하는 것과 비슷하다고 생각하면 될 듯하다.

my_tuple = (1, 2, 3, 'Hello', True)

print(my_tuple[1])

출력으론 2 가 나온다.

 

 

3) Dictionary

Dictionary 같은 경우 키-값을 쌍으로 저장하는 데이터 구조로 키를 사용해서 값을 출력할 수 있다.

my_dict = {'name' : 'John', 'age' : 30, 'city' : 'New York'}

print (my_dict['name'])

출력은 John이 나온다.

 

4) Linked List

5) Stack

stack 같은 경우 LIFO로 제일 늦게 들어온게 제일 빨리 나가는 것으로 구현을 한다면

stack_list = [0,1,2,3,4,5]
stack_list.append(6)
print(stack_list)
stack_list.pop()
print(stack_list)

6) Queue

Queue 같은 경우 FIFO로 제일 먼저 들어온게 제일 빨리 나가는 것으로 구현을 한다면

import queue

q = queue.Queue()
for i in range(0,9):
    q.put(i)
print(q.qsize())
print(q.get())  # pop을 하는거와 같다.
print(q.qsize())

 

7) Deque

8) Heap

9) Graph

10) Tree

728x90