전체 글 109

[Pandas] Series

Pandas는 numpy를 기반으로 하는 파이썬의 데이터 처리 라이브러리이다. 주로 구조화된 데이터를 처리하거나 통계 분석에 사용한다. pandas에서는 Series와 DataFrame이라고 하는 두가지 자료구조를 사용한다. 그 중, Series에 대해 알아보자. Series column vector를 표현하는 데이터 객체이다. numpy의 ndarray의 서브 클래스(자식 클래스)이다. 인덱스와 값으로 이루어져 있다. import pandas as pd list_data = [1,2,3,4,5] series_ex = pd.Series(data = list_data) print(series_ex) # 출력: # 0 1 좌측에 인덱스, 우측에 값이 출력된다. # 1 2 # 2 3 # 3 4 # 4 5 # ..

AI/Pandas 2023.03.09

[Numpy] numpy 배열 원소 추출하기

numpy 배열의 원소 중 원하는 원소를 추출하여 새로운 배열로 만드는 방법에 대해서 알아보자. boolean index 특정 조건에 해당하는 값을 배열 형태로 추출한다. test_array = np.array([1, 4, 0, 2, 3, 8, 9, 7], float) # test_array에서 3보다 큰 element만 추출해서 반환한다. print(test_array[test_array > 3]) # 출력: [4. 8. 9. 7.] fancy index numpy array를 인덱스 값으로 사용해서 값을 추출한다. a = np.array([2, 4, 6, 8], float) b = np.array([0, 0, 1, 3, 2, 1], int) # 반드시 integer로 선언해야 한다. # b를 인덱스 ..

AI/Numpy 2023.03.08

[Numpy] where 함수 사용법

numpy의 where 함수를 사용하는 방법에 대해서 알아보자. numpy의 where 함수는 사용 방법을 크게 두가지로 나눌 수 있다. 1. 조건을 만족하는 인덱스 값 가져오기 test_a = np.arange(10) print(np.where(test_a > 5)) # 출력: (array([6, 7, 8, 9]),) 2. True일 때, False일 때 각각 값을 broadcasting 조건문에서 True가 반환되는 위치와 False가 반환되는 위치에 각각 정해진 값을 넣는다. np.where(조건문, True일 때 값, False일 때 값) test_a = np.arange(10) print(np.where(test_a > 5, 1, -1)) # 출력: [-1 -1 -1 -1 -1 -1 1 1 1 1]

AI/Numpy 2023.03.08

[Numpy] numpy 배열 간 연산

numpy의 배열끼리 연산을 수행하는 방법들을 알아보자. 배열 간 사칙연산 numpy는 shape이 같은 array간의 기본적인 사칙 연산을 지원한다. 같은 위치에 있는 element 값들끼리 연산한다. (element-wise operation) test_a = np.array([[1,2,3], [4,5,6]], float) print(test_a + test_a) # 출력: # [[ 2. 4. 6.] # [ 8. 10. 12.]] print(test_a * test_a) # 출력: # [[ 1. 4. 9.] # [16. 25. 36.]] 배열 간 비교연산 배열의 shape이 동일할 때 같은 위치에 있는 element간 비교 결과를 boolean type으로 반환한다. test_a = np.array(..

AI/Numpy 2023.03.08

[Numpy] numpy 배열 합치기

numpy 배열들을 합치는 다양한 방법들을 알아보자. vstack 함수, hstack 함수 합치는 array를 하나의 iterable 객체에 담아 인자로 넘겨야 된다. np.vstack((array1, array2)) : vertical 방향으로 쌓음 np.hstack((array1, array2)) : horizontal 방향으로 쌓음 a = np.array([1,2,3]) b = np.array([4,5,6]) print(np.vstack((a, b))) # 출력: # [[1 2 3] # [4 5 6]] print(np.hstack([a, b])) # 출력: [1 2 3 4 5 6] concatenate 함수 axis를 활용해 numpy 배열을 합치는 방향을 결정한다. a = np.array([[1,..

AI/Numpy 2023.03.08

[Numpy] axis란 무엇일까?

numpy의 함수들의 인자로 자주 등장하는 axis의 개념에 대해서 알아보자. axis numpy의 함수를 실행할 때 기준이 되는 dimension 축을 의미한다. 2차원 배열을 기준으로 axis = 0이면, 같은 열에서 행 방향으로 연산을 적용하고, axis = 1이면, 같은 행에서 열 방향으로 연산을 적용한다. test_array = np.arange(1, 13).reshape(3, 4) print(test_array) # 출력: # [[ 1 2 3 4] # [ 5 6 7 8] # [ 9 10 11 12]] print(test_array.sum(axis=1)) # 같은 행에서 열 방향으로 값들을 더한다. # 출력: [10 26 42] print(test_array.sum(axis=0)) # 같은 열에..

AI/Numpy 2023.03.08

[Numpy] numpy 배열 생성하기

numpy의 배열을 생성하는 다양한 방법들을 알아보자. arange 함수 범위를 지정해서 범위 내의 값을 가진 array를 생성한다. 파이썬의 range와 유사한 역할을 한다. step의 크기를 float로 줄 수 있다. test_array = np.arange(0, 5, 0.5) # step의 크기가 0.5 print(test_array) # 출력: [0. 0.5 1. 1.5 2. 2.5 3. 3.5 4. 4.5] zeros, ones 함수 값을 0(또는 1)으로 채운 array를 생성한다. np.zeros(shape, dtype, order) np.ones(shape, dtype, order) 파라미터 중 order은 메모리에서 row-major로 저장될 것인지, column-major로 저장될 것인..

AI/Numpy 2023.03.08

[Numpy] numpy 배열 다루기

넘파이의 배열이 갖는 특징들과 넘파이 배열을 다루는 방법들에 관해 알아보자. ndarray numpy의 N차원 배열 객체이다. numpy는 하나의 데이터 타입만 배열에 넣을 수 있다. 각 element가 차지하는 메모리의 크기를 지정할 수 있다. 파이썬의 list보다 뛰어난 연산 성능을 갖는다. import numpy as np test_array = np.array(["1", "4", 5.0, 8], float) # ndarray 객체 생성 print(test_array) # 출력: [1. 4. 5. 8.] print(type(test_array)) # 출력: print(type(test_array[0])) # 출력: shape array의 dimension 구성을 반환한다. dtype array의 데..

AI/Numpy 2023.03.08

[Python] File Handling

파이썬에서 파일을 다루는 방법에 관해서 알아보자. with 자원을 획득하고, 사용한 뒤, 반납할 때 주로 사용한다. with open('myFile.txt', 'r') as my_file: contents = my_file.read() print(contents) with 블록을 나가면서 자동으로 자원을 반납하기 때문에 파일 처리 시 close() 함수를 사용하지 않아도 된다. readlines 함수 파일을 한 줄씩 읽어 list 타입으로 반환한다. with open('myFile.txt', 'r') as my_file: content_list = my_file.readlines() print(type(content_list)) # 출력: list readline 함수 실행할 때마다 한 줄씩 반환한다. ..

Backend/Python 2023.03.08

[Python] Exception Handling

파이썬에서 예외를 처리하는 방법에 대해서 알아보자. try ~ except ~ else ~ finally try: 예외가 발생할 수 있는 코드 except as e: 예외 발생 시 동작할 코드 else: 예외가 발생하지 않을 때 동작할 코드 finally: 예외 발생 여부와 상관없이 동작할 코드 finally 블록의 경우, 항상 실행되는 것이 아니라, finally와 연결된 try 블록으로 진입하게 되면, 반드시 실행된다. DB나 파일 처리 시 finally 블록에서 DB 또는 파일 연결을 끊어줘야 한다. raise 예외를 발생시킨다. raise (예외정보) While True: value = input("정수 값을 입력해주세요") for digit in value: if digit not in "012..

Backend/Python 2023.03.08