Py) 실기시험 대비 정리 노트 - 01

Py) 실기시험 대비 정리 노트 - 01

각종 데이터 분석 실기시험 대비에 도움이 되는 파이썬 문법을 모아보았다. 그 첫 번째로 기본 문법을 다룬다.

객체 생성

기본 객체

  • 리스트(list): 가장 기본이 되는 파이썬의 자료형. 향후 NumPy 또는 Pandas의 객체를 만들 때 활용되기도 한다.

    1
    2
    [1, 2, 3]
    ## [1, 2, 3]
  • 튜플(tuple): 수정이 불가하다. 보통 객체의 크기를 나타낼 때 주로 사용된다.
    ※ 원소가 1개인 튜플 생성시 쉼표 잊지 말것.

    1
    2
    (1, 2, 3)
    ## (1, 2, 3)
  • 딕셔너리(dictionary): 키(key)와 값(value)의 쌍으로 이루어져 있다. 향후 Pandas의 DataFrame 객체를 만들 때 활용되기도 한다.

    1
    2
    {"A": [1, 2, 3], "B": ["a", "b"]}
    ## {"A": [1, 2, 3], "B": ["a", "b"]}
  • range(): 0부터 시작하는 수열을 생성하며 반복문 등에 활용

    1
    2
    range(5)
    ## range(0, 5)

NumPy

  • 어레이(array): 기본 행렬 연산을 지원
    1
    2
    3
    4
    5
    6
    np.array([1, 2, 3])
    ## array([1, 2, 3])

    np.array([[1, 2], [3, 4]])
    ## array([[1, 2],
    ## [3, 4]])
  • np.arange(): 수열 생성(시작, 끝, 증분 지정가능)

    1
    2
    3
    4
    5
    6
    7
    8
    np.arange(4)
    ## array([0, 1, 2, 3])

    np.arange(3, 6)
    ## array([3, 4, 5])

    np.arange(5, 10, 2)
    ## array([5, 7, 9])
  • np.r_[]: 이산, 연속 수열 생성 가능

    1
    2
    np.r_[1, 2, 5:9]
    ## array([1, 2, 5, 6, 7, 8])

Pandas

  • 시리즈(Series): Pandas의 기본 객체이며 1차원

    1
    2
    3
    4
    5
    pd.Series([1, 2, 3])
    ## 0 1
    ## 1 2
    ## 2 3
    ## dtype: int64
  • 데이터프레임(DataFrame): 원소의 개수가 같은 시리즈를 묶은 2차원 객채
    ※ 단, 각 변수에 할당되는 객체의 원소의 개수는 같아야 한다.

    1
    pd.DataFrame({"A": [1, 2], "B": ["a", "b"]})
1
pd.DataFrame(data = [[1, 2], [3, 4]], columns = ["a", "b"])


데이터 읽어오기

Pandas

  • csv: 자료가 쉼표로 구분되어있는 파일

    1
    df = pd.read_csv("file.csv")
  • txt: 일반 텍스트 파일. 특정 구분자로 구분되어있다면 sep 인자에 명시해준다.

    1
    df = pd.read_csv("file.csv", sep = "#")
  • tsv: 값이 탭(tab)으로 구분되어있는 텍스트 파일. 함수는 pd.read_csv() 를 사용하며 sep 인자에 \t 를 입력해준다.

    1
    df = pd.read_csv("file.csv", sep = "\t")
  • xlsx: 엑셀 파일. 특정 시트(sheet)의 데이터만 읽어올 경우 sheet_name 인자에 시트명 또는 순번을 입력해준다.

    1
    2
    3
    df = pd.read_excel("file.xlsx")
    df = pd.read_excel("file.xlsx", sheet_name = 0)
    df = pd.read_excel("file.xlsx", sheet_name = "first_sheet")


객체 알아보기

기본 객체

함수 및 메서드

  • set(): 집합 관련 함수이나, 집합의 성질 때문에 중복 원소를 제거해줌

    1
    2
    set([1, 1, 2, 3, 3])
    ## {1, 2, 3}
  • len(): 객체의 원소 개수를 반환

    1
    2
    len([3, 5, 7, 8])
    ## 4
  • type(): 객체의 특징 확인

    1
    2
    type([1, 2, 3])
    ## list

Numpy - array

함수 및 메서드

  • .min(): 최소값
  • .max(): 최대값
  • .mean(): 평균값
  • .argmax(): 최대값의 위치
  • .argmin(): 최소값의 위치
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    arr = np.array([[1, 2, 3], [10, 9, 8]])
    arr.min()
    ## 1

    arr.max()
    ## 10

    arr.mean()
    ## 5.5

    arr.argmax()
    ## 3

    arr.argmin()
    ## 0

속성(attribute)

  • .ndim: 객체의 차원
  • .shape: 각 차원의 길이
  • .dtype: 데이터 타입
    1
    2
    3
    4
    5
    6
    7
    8
    9
    arr = np.array([[1, 2, 3], [4, 5, 6]])
    arr.ndim
    ## 2

    arr.shape
    ## (2, 3)

    arr.dtype
    ## dtype('int32')

Pandas - Series

함수 및 메서드

  • .min(): 최소값
  • .max(): 최대값
  • .mean(): 평균값
  • .var(): 분산
  • .std(): 표준편차
  • .skew(): 왜도
  • .kurt(): 첨도
  • .idxmin(): 최소값의 위치(index)
  • .idxmax(): 최대값의 위치(index)
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    ser = pd.Series([1, 3, 5, 8, 4])
    ser.min()
    ## 1

    ser.max()
    ## 8

    ser.mean()
    ## 4.2

    ser.var()
    ## 6.700000000000001

    ser.std()
    ## 2.5884358211089573

    ser.skew()
    ## 0.5016571985664492

    ser.kurt()
    ## 0.7952773446201817

    ser.idxmin()
    ## 0

    ser.idxmax()
    ## 3

속성(attribute)

  • .ndim: 객체의 차원
  • .shape: 각 차원의 길이
  • .dtype: 데이터 타입
    1
    2
    3
    4
    5
    6
    7
    8
    ser.ndim
    ## 1

    ser.shape
    ## (5,)

    ser.dtype
    ## dtype('int64')

Pandas - DataFrame

함수 및 메서드

기본적으로 데이터프레임을 확인하는 메서드는 다음과 같다.

  • .head(): 첫 5개 row 를 출력하며, 숫자 지정으로 개수를 조정할 수 있다.
  • .tail(): 마지막 5개 row 를 출력하며, 숫자 지정으로 개수를 조정할 수 있다.
  • len(): 기본 함수이지만 데이터 프레임에 사용하였을 때는 row 개수를 반환한다.

시리즈에서 사용했던 산술 연산 관련 메서드는 기본적으로 column 방향(axis = 0)으로 연산한 결과를 반환한다. row 방향으로 연산한 결과를 반환하려면 함수의 axis 인자에 1을 대입하면 된다.

  • .min(): 최소값
  • .max(): 최대값
  • .mean(): 평균값
  • .var(): 분산
  • .std(): 표준편차
  • .skew(): 왜도
  • .kurt(): 첨도
  • .idxmin(): 최소값의 위치(index)
  • .idxmax(): 최대값의 위치(index)
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    df = pd.DataFrame(data = [[1, 2], [3, 4]], columns = ["a", "b"])
    df.min()
    ## a 1
    ## b 2
    ## dtype: int64

    df.min(axis = 1)
    ## 0 1
    ## 1 3
    ## dtype: int64

속성(attribute)

  • .ndim: 객체의 차원
  • .shape: 각 차원의 길이
  • .dtypes: 각 변수별 데이터 타입
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    df = pd.DataFrame(data = [[1, 2], [3, 4]], columns = ["a", "b"])
    df.ndim
    ## 2

    df.shape
    ## (2, 2)

    df.dtypes
    ## a int64
    ## b int64
    ## dtype: object


사용자 정의 함수

define 을 뜻하는 def로 시작하며, 출력물은 꼭 return 뒤에 명시해주어야 한다.

1
2
3
4
5
6
def udf(x):
result = x + 3
return result

udf(3)
## 6

<실기시험 대비 시리즈 - Python>
Python 실기시험 대비 정리 노트 - 00
Python 실기시험 대비 정리 노트 - 01
Python 실기시험 대비 정리 노트 - 02
Python 실기시험 대비 정리 노트 - 03

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×