반응형

분류 전체보기 504

[Numpy] 파이썬 내적, 행렬곱 함수 np.dot() 사용법 총정리

파이썬 넘파이 내적 함수 : np.dot() 안녕하세요. 이번 시간에는 파이썬 넘파이 라이브러리에서 제공하는 벡터 내적, 행렬곱 함수인 np.dot 함수의 사용법을 array의 차원에 따라서 총정리해보는 시간을 가져보겠습니다. 설명은 공식 document 글을 기반으로 하여 작성하였습니다. 기본적으로 np.dot 함수는 2개의 input 만을 받습니다. 3개 이상의 array에 대한 곱은 np.dot 함수 1회로는 수행할 수 없고, 여러번 함수를 겹쳐서 실행해야만 합니다. 따라서, 여기서는 2개의 input array의 차원에 따라 연산 수행이 어떤 패턴으로 달라지는지를 위주로 글을 작성해보겠습니다. 벡터 내적 : 1차원 x 1차원 가장 기본적인 경우로, 두 개의 input array가 모두 1차원 벡터..

Python/Numpy 2021.12.28

[Matplotlib] 파이썬 히스토그램 그리기 함수 사용법 : plt.hist()

파이썬 plt 히스토그램 함수 : plt.hist() 안녕하세요. 이번 글에서는 파이썬 시각화 라이브러리 matplotlib에서 데이터의 분포를 살필 수 있는 히스토그램 함수인 plt.hist()의 사용 방법을 자세하게 살펴보도록 하겠습니다. 우선, 다음과 같이 10000개의 정규분포 데이터를 샘플링하겠습니다. import numpy as np data = np.random.randn(10000) 이제, 위에서 샘플링한 변수인 data를 가지고 히스토그램을 그려보도록 하겠습니다. 우선, 가장 기본형의 히스토그램은 다음 코드처럼 그릴 수 있겠습니다. import matplotlib.pyplot as plt plt.hist(data) plt.show() 하지만, 아직 히스토그램을 완성시키기에는 너무 밋밋해보..

Python/Matplotlib 2021.12.28

아스키(ASCII) 코드 표, 문자열 대소비교 원리

아스키코드 표 C언어 char 문자형 등에서 사용되는 아스키코드 표의 0 ~ 127번까지 해당되는 문자는 아래 표처럼 정리할 수 있습니다. 이중 높은 빈도로 사용되는 문자들은 색깔로 표시해두었는데요. 크게 순서를 정리하면 제어문자 < 숫자 < 영어대문자 < 영어소문자 순서로 위치하고 있는 것을 확인하실 수 있습니다. 이 외에 다른 문자들은 군데군데 사이에 껴있기는 하지만, 비교에서 높은 빈도로 사용되지는 않기에 유의미하게 기억해두실 필요는 없습니다. 0~32번까지는 제어문자라고 특수 기능을 하는 문자들이 매칭되어 있습니다. 물론, 이 문자들에서도 특수 문자를 따로 매칭해주어 출력이 가능하게 해주는 경우도 있다는 점을 참고해주세요. 문자열의 끝을 의미하는 NULL문자는 0번, 공백은 32번에 위치하고 있음..

[Numpy] 파이썬 최대값, 최소값 위치 반환 np.argmax, np.argmin

파이썬 넘파이 argmax, argmin 함수 안녕하세요. 이번 포스팅에서는 파이썬 넘파이 라이브러리에서 제공하는 최대값, 최소값의 위치 인덱스를 반환하는 함수인 np.argmax와 np.argmin 함수에 대해서 간략하게 다루어보도록 하겠습니다. np.argmax / np.argmin 함수 기본 사용법 np.argmax 함수는 함수 내에 array와 비슷한 형태(리스트 등 포함)의 input을 넣어주면 가장 큰 원소의 인덱스를 반환하는 형식입니다. 다만, 가장 큰 원소가 여러개 있는 경우 가장 앞의 인덱스를 반환합니다. 아래는 리스트 자료형을 예시로 np.argmax를 사용하는 예시입니다. import numpy as np a = [3, 2, 5, 4, 5] np.argmax(a) # 2 출력 인덱스는..

Python/Numpy 2021.12.27

파이썬 raise 오류 발생시키기, 에러 종류 만들기

파이썬 예외 발생(raise), 오류 종류 커스텀 안녕하세요. 이번 글에서는 raise를 통해서 예외를 직접 발생시키는 방법과 새로운 오류 종류를 커스터마이징하는 방법에 대해서 간단히 다루어보도록 하겠습니다. raise로 에러 발생시키기 예제 : 기본형 raise라는 명령어를 코드에 사용하면, 원하는 코드 부분에서 에러를 발생시킬 수 있습니다. 다음 if 문에서 raise를 사용한 오류 발생 예제입니다. for i in range(10): print("i = %d"%i) if i == 4: raise i = 4인 경우 raise 명령어를 만나게 했더니, 런타임 에러 메시지가 위처럼 나타났습니다. raise로 원하는 종류의 에러 발생 이번에는 특정 종류의 에러를 발생시켜보도록 하겠습니다. 이 경우는 rai..

[Numpy] 최대값, 최소값 함수 np.max vs np.maximum 차이 (np.min과 np.minimum)

파이썬 넘파이 최대값 함수 : np.max 와 np.maximum 안녕하세요. 이번 글에서는 파이썬 넘파이에서 최대값을 가져올 때, 많이 사용되지만 혼동되는 함수인 np.max와 np.maximum에 대해서 용도 차이와 예시를 알아보겠습니다. 물론, np.min과 np.minumum도 같은 원리로 최소값을 구하는 용도이니 같이 이해가 가능할 것으로 생각됩니다. Numpy 단일 array 내 최대값 함수 : np.max (혹은 np.amax) 참고로, np.amax 함수도 코드 중에 간간히 보이는데, np.max와 np.amax는 거의 동일한 함수라고 생각하셔도 무방합니다. np.max는 단일 array 내에서 최대값을 구하는 함수입니다. 가장 기본적인 형태로, array 전체에서 최대값을 구하는 경우는 ..

Python/Numpy 2021.12.23

[Pandas] 데이터프레임 정렬하기 : sort_values, sort_index 함수

파이썬 판다스 정렬 함수 : sort_values() 안녕하세요. 이번 글에서는 판다스에서 데이터프레임을 정렬하는 함수인 sort_values 함수의 사용법에 대해서 간단히 다루어보겠습니다. 우선, 아래와 같은 데이터프레임이 있다고 가정해보겠습니다. import pandas as pd import numpy as np a = {'A' : [1, 3, 2, 2, 3, 4], 'B' : ['a', 'b', 'e', 'a', 'd', 'c'], 'C' : [np.nan, 1.5, -0.3, np.nan, 4.2, 0.0]} df = pd.DataFrame(a) df A열은 int형, B열은 str형, C열은 float형 자료형임을 가정하겠습니다. sort_values 기본 예시 : 열 1개 기준 정렬 가장 기..

Python/Pandas 2021.12.23

[Pandas] 파이썬 엑셀 파일 다루기 : read_excel, to_excel

파이썬 판다스 : 엑셀 파일로 데이터프레임 생성 안녕하세요. 이번 포스팅에서는 파이썬 엑셀 파일에서 csv 등 다른 파일로 변환 없이 바로 데이터프레임을 생성하여 다룰 수 있는 판다스의 read_excel 함수에 대해서 알아보고, 작업한 데이터프레임을 엑셀 파일로 다시 내보낼 수 있는 to_excel 함수도 다뤄보겠습니다. 엑셀 파일 가져오기 함수 : read_excel 먼저, 이번 예시에서는 다음과 같은 student.xlsx 파일이 있다고 가정해보겠습니다. 내부 양식이 더 복잡하거나 셀 내에 함수가 들어있어도 상관은 없으며, 시트가 여러개인 경우나 행, 열이 첫 셀부터 시작하지 않는 경우는 뒷 부분에서 다루어보도록 하겠습니다. 일단, 데이터프레임으로 가져오는 방법은 간단합니다. pd.read_exce..

Python/Pandas 2021.12.22

py 파일 import 방법, if __name__ == '__main__' 의미, Colab에서 py 파일 가져오기

py 파일 import 다른 py 파일 내에 작성된 함수나 클래스를 가져오고 싶은 경우가 있을 것입니다. 또한, 작성된 코드에서 if __name__ == '__main__' 이라는 부분을 많이 보셨을 수 있는데요. 이번 글에서는 파이썬 작업의 기초가 되는 py 파일 import에 대해서 간단한 예제를 보며 이해해보는 시간을 가져보도록 하겠습니다. 예를 들어, 다음과 같은 코드가 example.py 파일에 저장되었다고 가정해보겠습니다. def double(x): return 2 * x def triple(x): return 3 * x print("10의 두 배는?", double(10)) print("10의 세 배는?", triple(10)) 이제 다른 py 파일이나 ipynb 파일에서 위의 exampl..

C언어 포인터를 input으로 받는 함수 선언 (pass by pointer) : swap 함수 예제 비교

C언어 pass by value vs pass by pointer 차이 안녕하세요. 이번 포스팅에서는 C언어에서 포인터를 함수의 인자로 받는 pass by pointer 선언 방식의 사용 이유와 예제에 대해서 살펴보도록 하겠습니다. swap 함수 포인터 사용 예제 가장 기본적인 예제를 통해서 포인터를 인자로 받는 이유에 대해서 살펴보겠습니다. 두 정수 변수의 값을 서로 바꾸는 swap 함수를 예시를 보겠습니다. #include void swap(int a, int b){ int t = a; a = b; b = t; } void swap2(int *a, int *b){ int t = *a; *a = *b; *b = t; } int main(){ int num_1 = 3; int num_2 = 5; // p..

C & C++ 2021.12.20
반응형