코딩 연습장

<파이썬 라이브러리를 활용한 데이터 분석(2판)> (챕터2-3)

joanne.son 2020. 4. 26. 18:27

챕터 2

 

● p74 문자열의 탬플릿이나 형식 지정

template = '{0: .2f} {1:s} are worth US${2:d}'
template.format(4.5560, 'Argentine Pesos',1)

 

● p78~80 날짜와 시간

from datetime import datetime, date, time
dt = datetime(2011,10,29,20,30,21) #datetime에다가 숫자 6개이면 차례로 Year, month, date, hour, mintue, second 지정됨.

dt.day

dt.minute

dt.date()

dt.time()

dt.strftime('%m/%d/%Y %H:%M') #strftime 매서드는 datetime을 문자열로 만들어줌

datetime.strptime('20091031','%Y%m%d') #문자열을 해석하여 datetime 객체로 만들어줌

** p79에 Datetime 포맷 규칙이 있음

 

● p80~81 if, elif, else의 구성

if x<0:

  print('It is negative')

elif x==0:

  print('Equal to zero')

elif 0<x<5:

  print('Positive but smaller than 5')

else:

  print('Positive and larger than or equal to 5')

 

● p81 for문의 기본 문법

for value in collection:

  if ...

    continue

  if ...

    break

 

● p82 while문의 기본 문법

조건을 명시하여 해당 조건이 False가 되거나 break문을 사용해 명시적으로 반복을 끝날 때까지 블록 내 코드 수행

 

챕터3

 

● p87~ 자료구조와 순차 자료형

1. 튜플: 1차원의 고정된 크기를 가지는 변경 불가능한 순차 자료형

-  쉼표로 구분된 값 대입 / 괄호로 분리하여 값 대입

tup= 4,5,6

tup

(4,5,6)

- 모든 순차 자료형이나 이터레이터는 tuple 매서드를 호출해 튜플로 변환 가능

tuple([4,0,2])

(4,0,2)

tupe = tuple('string')

tup

('s','t','r','i','n','g')

- 튜플의 각 원소는 대괄호 []을 이용해 다른 순차 자료형처럼 접근 가능함

- 튜플에 저장된 객체 자체는 변경 가능하지만 한번 생성되면 각 슬롯에 저장된 객체를 변경하는 것은 불가능함.

 

(*) 중요 사항

(1) 튜플과 같은 표현의 변수에 튜플 대입시 등포 오른쪽에 있는 변수에서 값을 분리함 (즉, 튜플 내 값에 대해 다른 변수로 값을 끼워넣기 가능) p89~91

(2) 튜플 매서드

- count 매서드: 주어진 값과 같은 값이 몇개 있는지 반환

 

2. 리스트: 대괄호 []나 list함수를 사용해 생성 가능하고 튜플과 달리 크기나 내용의 변경이 가능함

- append 매서드를 사용해 새로운 값 추가가능 p92

b_list.append('dwarf')

- insert 매서드를 사용해 리스트의 특정 위치에 값 추가가능 p93

b_list.insert(1,'red')

- pop 매서드는 특정 위치의 값을 반환하고 해당 값을 리스트에서 삭제

b_list.pop(2)

- remove 매서드는 리스트 내 값을 삭제하고, 값이 여러개 인경우 리스트의 제일 앞에 위치한 값부터 삭제됨 p93

b_list.remove('foo')
- in예약어/not예약어를 사용해 리스트에 어떤 값이 있는지 검사 가능

'dwarf' in b_list

-+ 연산자, extend 를 이용해 리스트를 합칠 수 있음 p94

x = [4, None, 'foo']

x_extend([7,8,(2,3)])

x = [4, None, 'foo',7,8,(2,3)]

- sort함수를 이용해 정렬 가능, sorted 함수를 통해 일반 순차자료형의 정렬된 복사본 생성 p95

a.sort()

- 내장 bisect모듈은 값을 추가하되, 리스트 정렬이 유지된 상태에서 추가해줌. bisect 모듈 내 bisect 매서드는 리스트를 추가할 수 있는 위치를 반환해주고, bisect모듈의 insort 매서드는 정렬한 상태를 유지한 상태에서 값을 추가함.

- 슬라이싱