본문 바로가기
반응형

프로그래밍 ( Programming )/Python7

[Python] Pickle 파일의 Dictionary에서 값 추출하는 방법 예를 들어서 우리가 다루는 피클 파일의 데이터를 출력하였을 때 해당 결과가 이렇게 나온다고 가정해봅시다. 파일은 위에 첨부해 두었기에 따라서 진행을 해보셔도 좋습니다. 간단하게 표현하면 아래와 같은 dictionary 안에 3개의 값이 들어있는 형태가 여러 개로 이어진 형태입니다. {'x1': array([4.9275775], dtype=float32), 'x2': array([-1.2006631], dtype=float32), 'rosenbrock': 64947.04304570523} 목표는 다음 형태에서 값만 추출하고 배열로 만드는 것입니다. 그러기 위해서는 우선 pickle 파일을 불러오는 코드와 딕셔너리 내부에 Value값들을 불러오는 코드가 필요합니다. import numpy as np impo.. 2021. 12. 13.
[Python] Class 이해하기 Python에도 동일하게 Class가 존재합니다. Class & Instance 클래스를 이용하는 장점은 다음과 같습니다. 전역 변수를 없애고 모든 변수를 어떠한 범위 또는 스코프 안으로 소속시킬 수가 있음. 몇 번이고 재사용이 가능하다. 코드의 수정을 최소화시킨다. 함수 실행중에, 함수 자신을 다시 호출하는 처리 등이 가능해진다. 클래스에 정의된 데이터나 함수를 사용하기 위해서는 "인스턴스"를 생성해야 합니다. 인스턴스 (Instance)는 클래스를 실체화한 것으로 소프트웨어 세계에 구현된 구체적인 실체를 의미하며 객체를 소프트웨어에 실체화하면 그것을 인스턴스라고 부릅니다 (객체는 클래스의 인스턴스). 클래스를 가지고 있으면 하나의 클래스로 여러 개의 인스턴스를 생성 가능하기도 합니다. 그리고 각각의 .. 2021. 11. 25.
[Python] 모듈(Module)과 패키지(Package) 의미 정리 파이썬을 다룰 때 모듈(Module)과 패키지(Package)라는 단어들을 자주 접하게 됩니다. 이번 글에서는 해당 단어들의 의미를 살펴보도록 하겠습니다. 1. 모듈 (Module) 먼저 모듈입니다. 모듈은 그대로 해석을 하면 '구성단위'입니다. IT 영역에서 본체에 대한 독립된 하위 단위라고도 할 수 있는데요 모듈을 이용하면 예를 들어서 복잡하고 줄이 긴 코드를 작성할 때 사용 용도에 따라서 파일로 구분하여 다른 파일에서 해당 클래스나 함수가 필요할 시 가져와서 사용이 가능하도록 해주는데 이러한 기능을 하는 클래스나 함수 등을 모듈이라고 부릅니다. 파이썬에서는 전역 변수 및 함수 등을 모아둔 파일입니다. 간단한 예제를 통해서 설명드리겠습니다. 1-1. 모듈 만들어보기 * 개발 환경은 Pycharm을 이.. 2021. 11. 24.
[Python] numpy - hstack, vstack 함수 이번 글에서는 Numpy의 hstack, vstack 메서드에 대해 적어보겠습니다. 둘의 기능은 우선 ndarray 형식의 배열을 결합할때 유용하게 사용되는 함수입니다. hstack에서 앞의 h는 Horizontal 즉 수평이라는 뜻으로 hstack을 사용하면 가로로 행렬 결합이 이뤄집니다. 반면 vstack의 v는 Vertical의 줄임말로 수직이라는 뜻을 가졌습니다. 때문에 vstack을 사용하면 수직으로 행렬 결합이 이뤄집니다. 파라미터는 hstack() 괄호 안에 합치고 싶은 행렬들을 넣으면 되는데 다만 주의해야할 점은 합쳐질 행렬들이 행이나 열의 개수가 일치가 되어야 합니다. 즉 vstack을 사용할 때는 반드시 요소의 (열) 개수가 일치해야 하며 배열의 행은 일치하지 않아도 됩니다. 그리고 h.. 2021. 1. 12.
[Python] numpy.reshape의 -1 의미 및 기능 파이썬의 NumPy를 이용 시 배열 차원(Dimension)을 재구조화 및 변경하고자 할 때 reshape() 함수를 사용합니다. 예를 들어, 3개의 행과 4개의 열로 구성된 2차원의 배열로 재설정 시 reshape(3, 4)처럼 reshape()의 매개변수로 변경하고자 하는 배열의 행과 열의 차원을 정수로 입력해주면 됩니다. 한 가지 특별한 것은 reshape(-1, 5) 또는 reshape(2, -1)처럼 함수의 매개변수가 '-1'로 들어가 있는 경우가 있는데 이때 reshape()의 '-1'이 의미하는 바는, 변경된 배열의 '-1' 위치의 차원은 "원래 배열의 길이와 남은 차원으로부터 추정"이 된다는 뜻입니다. (One shape dimension can be -1. In this case, the.. 2021. 1. 12.
[Python] numpy.meshgrid란 numpy의 meshgrid 함수는 1차원 좌표 배열 (x1, x2..... xn)에서 N차원 직사각형 격자를 만드는 함수입니다. 매개변수 종류 x1, x2, .... 배열, 그리드의 좌표를 나타내는 1차원 배열 indexing 배열, 출력의 인덱싱을 정의 ( xy - 좌표 또는 ij - 행렬 ) sparse 부울, 메모리를 절약하기 위해 희소 그리드를 반환 ( sparse = True ) copy 부울, 메모리를 절약하기 위해 원래 배열에 대한 뷰가 반환 ( copy = True ) meshgrid() 메서드를 이용한 meshgrid 생성 행렬x2 와 y2를 생성하여 각 행렬의 해당 요소 쌍이 그리드에 있는 모든 x1 및y1 좌표를 제공합니다. import numpy as np x1 = np.linsp.. 2021. 1. 11.
[Python] rand와 randn 차이 - rand : numpy 내부의 random.rand 함수는 0~1 사이의 값의 균일한 분포, 즉 uniform distribution을 가지는 값을 return 하는 함수입니다. print(np.random.rand()) # 0.4539748165599371 print(np.random.rand(3)) # [0.21223575 0.98075294 0.64475223] print(np.random.rand(3,2)) """ [[0.02131671 0.31005377] [0.39131747 0.97938694] [0.84951876 0.09056895]] """ - randn : numpy 내부의 random.randn 함수는 rand와는 다르게 기대값이 0, 표준편차가 1인 가우시안 표준 정규 분포를 .. 2021. 1. 11.
반응형