반응형

Python 377

[Numpy] 파이썬 대각 행렬, 대각 성분 추출 함수 np.diag 사용법

파이썬 넘파이 대각 원소 추출, 대각 행렬 함수 : np.diag 안녕하세요. 파이썬의 넘파이 라이브러리에서 대각 원소를 추출하고 대각 행렬을 만들어낼 수 있는 함수인 np.diag의 사용법에 대해서 간단히 다루어보도록 하겠습니다. 참고로, 이 포스팅은 numpy 공식 document에서 제공하는 np.diag 함수에 대한 글을 바탕으로 작성되었습니다. np.diag 2차원 행렬 input : 대각 성분 추출 참고로, np.diag 함수는 1차원과 2차원 array만을 input으로 받을 수 있습니다. 만일 3차원 이상의 array를 넣으려 시도한다면 오류가 발생합니다. 2차원 array와 1차원 array를 input으로 넣었을 때 기능이 다른데요. 2차원 행렬을 input으로 넣으면 대각 원소만을 추..

Python/Numpy 2022.01.06

파이썬 주석 처리 방법 : 한줄, 여러줄, 단축키(파이참, 주피터, 코랩)

파이썬 한줄 주석, 여러줄 주석과 단축키 정리 안녕하세요. 이번에는 아주 간단한 파이썬에서 주석을 처리하는 방법에 대해서 살펴보는 시간을 가져보도록 하겠습니다. 주석 처리 이유, 장점 먼저, 주석은 왜 필요할까요? 제가 구현한 코드를 다른 사람에게 보여주거나, 혹은 다른 사람의 코드를 제가 이해해야하거나 심지어는, 제가 예전에 구현했던 코드를 다시 보거나 하는 등의 상황에서 코드만 달랑 있으면 해당 클래스나 메소드가 무엇을 의미하는지, 변수의 의도와 사용되는 곳 등의 정보를 이해하기가 매우 난감한 경우가 많습니다. 따라서, 아래 코드처럼 함수의 정보, 변수의 의미 등을 알면 코드를 이해하기가 수월할 것입니다. # 1부터 n까지의 수를 더하여 반환하는 함수 def sum_1_to_n(n): hap = 0 ..

[Matplotlib] 파이썬 막대 그래프 색깔, 테두리, 폭 지정

파이썬 plt 막대 그래프 색상, 테두리, 두께 안녕하세요. 이번 시간에는 파이썬 막대 그래프에서 각 그래프의 색을 지정해보고, 테두리를 설정하는 방법, 그리고 폭을 막대마다 지정하는 방법에 대해서 살펴보도록 하겠습니다. 여기서는 세로 막대 그래프인 plt.bar를 기준으로 설명을 드리겠지만, 가로 막대 그래프인 plt.barh에서도 원리는 동일하니 참고하시면 좋을 듯 합니다. 막대 그래프 색깔 지정 : color 인자(막대 그래프 전체, 하나씩 따로) 막대 그래프 전체의 색을 지정하거나, 혹은 각 막대 1개씩 따로 색을 지정하는 것은 color 인자를 통해서 진행해주시면 됩니다. 먼저, 막대 그래프 전체에 대해서 색을 지정하시려면 color 인자를 아래처럼 특정 색상으로 지정해주시면 됩니다. alpha..

Python/Matplotlib 2022.01.05

[Numpy] np.ones, ones_like, zeros, zeros_like 정리 + full, empty

파이썬 넘파이 배열 값 채우기 함수 비교 안녕하세요. 이번 글에서는 파이썬 넘파이에서 배열에 특정 값들을 채우는 함수들인 np.ones, np.zeros, np.ones_like, np.zeros_like의 사용법을 비교해보고, np.full과 np.zeros 함수도 살펴보겠습니다. np.ones, np.zeros : 1 혹은 0으로 배열 채우기 np.ones와 np.zeros 내에 array의 shape을 입력해주면, 해당 크기에 맞추어 1 혹은 0으로 모든 값이 채워집니다. import numpy as np np.zeros(5) # array([0., 0., 0., 0., 0.]) np.zeros((2, 3)) # 결과 array([[0., 0., 0.], [0., 0., 0.]]) np.ones((..

Python/Numpy 2022.01.05

[Numpy] 파이썬 원하는 자릿수까지 반올림, 올림, 내림 총정리

파이썬 넘파이 반올림, 올림, 내림 함수 : np.round, np.ceil, np.floor, np.trunc 이번 포스팅에서는 파이썬 넘파이에서 원하는 소수점 자릿수까지 반올림, 올림, 내림을 할 수 있는 함수들의 사용법과 예시에 대해서 정리해보도록 하겠습니다. 넘파이 반올림 함수 : np.round, np.around 먼저, 넘파이에서 반올림을 지원하는 np.round 함수를 살펴보겠습니다. 참고로, np.around 함수는 np.round와 완전히 동일한 함수라고 보셔도 무관하며, 여기서는 np.round로 예시 코드를 보여드리겠습니다. np.round 함수는 np.round(숫자, 원하는 자릿수) 형태로 input을 주시면 되며, 원하는 자릿수를 지정하지 않으면, 기본적으로 일의 자리까지 반올림..

Python/Numpy 2022.01.03

파이썬 return 값 여러개 설정하기, 재귀 함수 응용 예시

파이썬 return 반환 값 여러개 설정 + 재귀 함수 안녕하세요. 이번 시간에는 파이썬 함수에서 return 값을 여러개 설정하는 방법과 return의 성질을 이용한 재귀 함수의 예시를 살펴보겠습니다. 파이썬 return 여러개 예시(feat. 튜플) 예를 들어, 두 수를 input으로 받고, 해당 숫자들의 합과 곱을 동시에 반환 받는 경우의 예시를 살펴보겠습니다. def sum_and_mul(a, b): return a + b, a * b # 쉼표로 반환 값 구분 hap, gop = sum_and_mul(3, 5) print(hap) # 8 print(gop) # 15 위와 같이 쉼표(,)를 기준으로 반환 값 사이를 구분해주시면 간단하게 해결됩니다. 두 반환 값을 각각 hap, gop 이라는 변수에 ..

[Numpy] 벡터 norm 구하기, 벡터 정규화 함수 : np.linalg.norm(), LA.norm() 사용법

파이썬 넘파이 벡터 norm, 정규화 함수 : np.linalg.norm() 안녕하세요. 이번 포스팅에서는 파이썬 넘파이 라이브러리에서 벡터의 norm을 구하거나 벡터를 정규화할 때 유용하게 사용 가능한 np.linalg.norm() 혹은 LA.norm() 함수의 사용법에 대해서 살펴보도록 하겠습니다. 먼저 가장 기본적인 사용법은 아래와 같습니다. default로는 2-norm(혹은 frobenius norm)을 기준으로 구하게 됩니다. numpy 라이브러리 혹은 numpy 라이브러리 내 linalg 라이브러리를 import하는 형태에 따라, np.linalg.norm 혹은 LA.norm 형태로 사용 가능합니다. # 가능한 import 형태 import numpy as np import numpy.lin..

Python/Numpy 2022.01.02

[Matplotlib] 파이썬 그래프 여러개 다중 플롯(subplot) 초간단 설정 방법

파이썬 plt 그림 여러개 간단하게 설정하기 : plt.subplots() 안녕하세요. 이번 포스팅에서는 파이썬 matplotlib 라이브러리에서 그래프 여러개를 한 화면에 동시에 나타내고, 각 그래프의 세부 사항들을 손쉽게 설정할 수 있는 간단한 방법을 살펴보겠습니다. 다중 플롯 격자 생성, figure 크기 및 여백 정하기 우선, 가장 먼저 subplot 여러개를 그리기 위한 격자를 생성해보겠습니다. 예를들어, 세로 3개, 가로 4개 사이즈의 격자를 만들고 싶다면 아래와 같이 코드를 작성해주시면 됩니다. plt.subplots() 함수 내에 y, x 방향으로 몇 개의 격자를 만들 것인지를 지정하면 다양한 형태의 격자를 만들 수 있습니다. f, axes로 각각 figure 전체를 컨트롤하는 변수와 그래..

Python/Matplotlib 2021.12.31

파이썬 클래스 상속(오버로딩), super().__init__() 의미

파이썬 클래스 상속과 super() 안녕하세요. 이번 시간에는 파이썬에서 클래스를 다룰 때, 상속을 진행하는 경우의 원리와 예제, 그리고 super().__init__() 함수가 의미하는 바가 무엇인지에 대하여 살펴는 시간을 가져보겠습니다. 가장 많이 다루는 클래스 상속 예제인 Person과 Student의 관계를 가지고 이 글에서도 설명해보도록 하겠습니다. 우선, 다음과 같은 간단하게 구현된 Person 클래스가 있다고 가정하겠습니다. class Person: def __init__(self, name, age): self.name = name self.age = age def get_name(self): print(f'제 이름은 {self.name}입니다.') def get_age(self): pri..

[Pandas] 파이썬 데이터프레임 병합/합치기 함수 비교(merge, concat)

파이썬 판다스 데이터프레임 합치기 함수 : pd.merge vs pd.concat 안녕하세요. 이번 시간에는 판다스에서 데이터프레임을 병합할 수 있는 두 함수인 pd.merge와 pd.concat 함수의 용도와 결과 차이에 대해서 간단히 비교해보는 시간을 가져보도록 하겠습니다. 먼저, 아래와 같이 간단한 데이터프레임 두 개가 각각 df_1, df_2 변수에 저장된 상태라고 가정해보겠습니다. 위 데이터프레임 두 개를 병합하는 여러 예시를 통해서 합쳐지는 형태와 원리를 이해해보겠습니다. merge 함수 : 내부 조인 (inner join) 가장 기본적인 예시로, 공통된 키의 값이 있는 경우에만 데이터프레임을 병합하는 내부 조인의 예시를 살펴보겠습니다. 예를 들어, 이름을 기준으로 df_1, df_2를 내부 ..

Python/Pandas 2021.12.30
반응형