본문 바로가기
IT/Data Analysis

파이썬 속성강좌_기초

by Cyber_ 2024. 8. 11.

1. 설치

1) Anaconda 배포판 설치
2) 3.6 이후 깔끔한 코드를 작성 할 수 있으며, 2.7이 전은 호환이 다양한 라이브러리와 호환이 중지 되었으니 되도록이면 최신 버전을 사용해야 한다.

2. 가상 환경

프로젝트별로 라이브러리를 관리하기 위해(matplotlib과 같은 외부 라이브러리) 가상환경을 사용해야 한다.

  • 콘다를 사용할 경우
conda create -n dsfs python=3.6
source activate dsfs
source deactivate
  • python을 직접 설치하였을 경우
python -m venv example
example activate

3. 들여쓰기

파이썬은 다른 언어와 다르게 단락을 구분하기 위해 중괄호({})를 사용하지 않고 들여쓰기를 사용한다.

4. 모듈

import를 통해 사용할 수 있다.

import matplotlib.pyplot as plt
from collections import defaultdic, Counter

my_regex =regex.compile("[0-9]+", regex.I)
lookup = defaultditc(int)
my_counter = Counter()

5. 함수

def를 통해 함수를 저의

def double(x):
    return x * 2

6. 문자열

작은 따옴표 또는 큰 따옴표로 묶어 나타낸다.
몇몇 특수 문자를 인코딩할 때 역슬래시 이용 탭을 의미하는 '\t' 역슬래시 티를 사용할 수 있다. 또는 r을 사용하여 문자 그대로 사용할 수 있으며 따옴표 세 개를 사용하여 여러 줄료 문자열을 표현할 수 있다.

tab_string = "\t"
not_tab_string = r"\t"
multi_line_string = """This is tje first line.
and this is the second line
and thisis the third line"""

7. 예외 처리

try와 except 활용

try:
    print(0/0)
except ZeroDivisionError:
    print("cannot divide by zero")

8. 리스트, 튜플, 딕셔너리

1) 리스트, []

  • 순서가 있는 자료의 집합, 배열과 비슷하지만 좀 더 기능이 풍부하다.
    2) 튜플, ()
  • 변경할 수 없는 리스트로서, 리스트에서 수정을 제외한 모든 기능을 적용할 수 있다.
    3) 딕셔너리, {}
  • 키, 값 쌍을 사용할 수 있는 데이터 구조
  • defaultdict: 만약 존재하지 않는 키가 주어진다면 이 키와 인자에서 주어진 값으로 dict에 새로운 항목을 추가해 줌으로써 조건문을 통해 dict를 들여다 볼 필요 없다.
from collections import defaultdict

word_counts = defaultdict(int)
for word in document:
    word_counts[word] += 1

9. Counter

  • 연속된 값을 defaultdict(int)와 유사한 객체로 변환해 주며, 키와 값의 빈도를 연결시켜 준다.
  • 아래의 c는 {0: 2, 1: 1, 2:1}로 생성 될 것이다.
from collections import Counter
c = Counter([0, 1, 2, 0])

10. Set

집합을 의미하는 Set은 유일하게 데이터 항목의 집합을 나타내는 구조로서 {}로 표현된다. 중복을 허용하지 않으며 in은 집합에서 굉장히 빠르게 작동하므로 특정 항목의 존재 여부를 확인해 보기 위해서는 리스트보다 효율적이다.

primes_below_10 = {2,3,5,7}
s = set()
s.add(1)

11. True 와 False

다른 언어의 null 처럼 파이썬은 존재하지 않는 값을 None으로 표기한다. 다음 아래는 파이썬에서 모두 거짓을 의미한다.

False, None, [], {}. "", set(), 0, 0.0

파이썬에는 리스트의 모든 항목이 참이라면 True를 반환하는 all 함수와 하나로도 참이라면 True를 반환하는 any가 존재한다.

all([True, 1, {3}])
any([True, 1, {}])
all([])
any([])

위에서 all([])는 True로 반환된다. []는 빈 리스트여서 False일 텐데 왜일까? 이유는 all()은 인자로 받은 iterable 내의 모든 요소가 참이면 True 거짓이면 False를 반환하지만 all() 함수는 기본적으로 모든 요소를 참으로 간주하므로 빈 리스트 []의 경우 거짓으로 판별되는 '요소'가 하나도 업시 때문에 모든 요소가 참이라고 간주되어 True를 반환하는 것이다

12. 정렬

sort를 사용해 정렬하거나 sorted를 사용해 정렬된 리스트를 새로 정의할 수 있다.

x = [4, 1, 2, 3]
y = sorted(x)
x.sort()
x = sorted([[-4, 1, -2, 3], key = abs, reverse=True)

13. 리스트 컴프리핸션

새로운 결과를 바로 리스트로 정의하기 위한 파이썬만의 기술

even_numers = [x for x in range(5)]
squres = [x * x for x in range(5)]
zeros = [0 for _ in even_numbers]
pairss = [(x, y) 
        for x in range(10)
        for y in range(10)]

14. 자동테스트와 assert

assert는 지정된 조건이 충족되지 않는다면 Assertion Error를 반환

assert 1 + 1 == 2
assert 1 + 1 == 2, "1 + 1 should equal 2 but didn't"

함수 또는 함수 인자를 검증할 수도 있다.

def smallest_item(xs):
    return min(xs)

assert smallest_item([10, 20, 5, 40]) == 5
assert smallest_item([1, 0, -1, 2]) == -1

def smallest_item(xs):
    assert xs, "empty list has no smallest item"
    return min(xs)

'IT > Data Analysis' 카테고리의 다른 글

확률론과 통계학  (0) 2024.08.15
선형대수  (0) 2024.08.12
데이터 시각화  (0) 2024.08.11
파이썬 속성 강좌: 심화  (0) 2024.08.11
데이터 과학  (0) 2024.08.11