나의 메모장
connecting the dots
나의 메모장
전체 방문자
오늘
어제
  • 분류 전체보기 (12)
    • 강의 (4)
      • React Native 마스터 클래스 (4)
    • 책 (7)
      • 파이썬 라이브러리를 활용한 데이터 분석 (7)
    • others (1)
      • 후기 (0)
      • 공부 정리 (1)
    • 비공개 아카이브 (0)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 파이썬 라이브러리를 활용한 데이터 분석
  • react native
  • python
  • Python for Data Analysis
  • 노마드 코더

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
나의 메모장

connecting the dots

ch2 jupyter Notebook, ch3 Built-in Python
책/파이썬 라이브러리를 활용한 데이터 분석

ch2 jupyter Notebook, ch3 Built-in Python

2023. 11. 14. 23:49

들어가면서

  • Python for Data Analysis (파이썬 라이브러리를 활용한 데이터 분석)의 모든 내용을 포함하고 있지 않습니다.
  • 제가 몰랐던 부분, 헷갈렸던 부분만 정리 되어있습니다.

ch2. pyhon language basics, Ipython and Jupyter Notebooks

jupyter introspection

wildcard(*)가 포함된 문구 다음에 ?를 치면 그안에 포함된 함수들을 출력한다.

import numpy as np
np.*load*?
# load가 포함된 numpy 함수가 출력됨

python basic

  • 모든 것은 object이다.
  • object는 associated type(e.g., integer, string or function)과 internal data 를 가진다.
  • immutable type의 값을 변경할때는 replace를 호출한다.
  • import A 는 A.py의 코드를 가져와서 확장하는 것이다.
  • a= [1,2,3]은 a 가 list object를 reference하는 것이다.
  • a is b (a와 b가 같은 object를 reference 한다)
  • a==b (a와 b가 일치 해야한다.)
a = [1,2,3]
b = [1,2,3]

a == b ## True
a is b ## False
  • backslash 를 안넣고 special characters 쓰는 법 -> r-string
s= r"this\has\no\special\characters"

ch3. Built-In Data Structures, Functions, and Files

Tuple

A = (1,2,3)
# ()생략 가능
A = 1,2,3

#unpacking tuplbe을 이용한 swap
a = 1
b = 2
b,a = a,b

#  *rest로 나머지 unpacking
values = 1,2,3,4,5
a,b,*_ = values

List

  • list를 합칠때는 연산이 많다.
  • 왜냐하면 새로운 list를 만들고 전부 copy하기 떄문
  • list가 이미 선언 되어 있다면,extend를 사용하자
[1,2,3] + [4,5,6]
# 위보다는 아래를 사용하자
a = [1,2,3]
a.extend([4,5,6])
  • sq[::2] +2씩 element뽑기
  • sq[::-1] -1씩 element뽑기 -> reverse임

Dictionary

  • key는 hashing이 가능해야하므로 immutable object만 key로 가능하다.
  • keys,items,values 함수로 element에 접근 가능
  • squences로 부터 dict 생성 가능
my_dict ={}
for key,values in zip(key_list,value_list):
    my_dict[key] =values

default value handling

# dict에 key 가  있는지 없는지 모를때

#1.val을 접근할떄

# common style
if key in my_dict:
    val = my_dict[key]
else:
    val =default_value

# get

val = my_dict.get(key,default_value)


#1.val을 list로 추가할때

# common style

my_dict ={}

for key, item in zip(keys,items):
    if key in my_dict:
        my_dict[key].append(item)
    else:
        my_dict[key] = [item]


# setdefault
my_dict ={}

for key, item in zip(keys,items):
    my_dict.setdefault(key,[]).append(item)

# collections

from collections import defaultdict

my_dict = defaultdict(list)
for key, item in zip(keys,items):
   my_dict[key].append(item)
  • update를 사용하면 dict끼리 합칠 수 있다.
    ex) my_dict.update(other_dict)

function

  • global keyword 로 local 변수를 함수 밖의 상위 scope에 할당 할 수있다. (저자는 추천하지 않음)
  • function 도 object이기 떄문에 list에 들어갈 수 있다.
  • data preprocessing 이나 전처리 할때 list에 함수를 넣고 순차적으로 실행할 수 있다.

generator

  • 일반적인 함수는 직시 single result를 만들어내지만, generator는 여러개의 값을 제공함으써, 각 반복문이 실행할때 소비할 수 있다.
  • generator를 생성할때는 일반 함수의 return 대신 yeild 를 사용하면 된다.
  • built-in methods로 빠르게 연산 가능
def squares(n=100):
    for i in range(n):
        yeild x**2

gen = squares()

# generator expression
gen = (x**2 for x in range(100))


sum(gen)

Error handling and File operations system

  • except 할때 Error의 종류로 handling 가능
  • Try , except , else , finally 키워드 있음
  • f.open()으로 열었다면 f.close()로 닫아야한다. 그래야 자원을 os에게 돌려준다.
  • 그러기 싫으면 with문을 사용해야됨. with는 자동으로 f.close한다.

'책 > 파이썬 라이브러리를 활용한 데이터 분석' 카테고리의 다른 글

Ch5 Pandas  (0) 2023.11.22
ch4 Numpy Basics  (1) 2023.11.15
ch10 Data aggregation and group Operations  (1) 2023.11.15
ch8 Data Wrangling  (0) 2023.11.15
ch11 Time Series  (0) 2023.11.15
    '책/파이썬 라이브러리를 활용한 데이터 분석' 카테고리의 다른 글
    • ch4 Numpy Basics
    • ch10 Data aggregation and group Operations
    • ch8 Data Wrangling
    • ch11 Time Series
    나의 메모장
    나의 메모장
    온라인 아카이브

    티스토리툴바