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
Python 실기시험 대비 정리 노트 - 04

Your browser is out-of-date!

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

×