반응형

Python 411

[Matplotlib] 파이썬 그래프 축 로그 스케일 지정 - xscale, yscale

Python plt log scale axis 파이썬에서 x축 및 y축의 눈금을 로그(log) 스케일로 지정할 수 있는 xscale 및 yscale 함수에 대하여 사용 예제를 살펴보도록 하겠습니다. 우선, 다음과 같이 간단한 바 그래프가 있다고 가정해 보겠습니다. import matplotlib.pyplot as plt plt.bar(['A', 'B', 'C', 'D', 'E'], [100, 500, 1000, 5000, 10000], color = 'b', alpha = 0.5) plt.show() 이제 위 그래프의 y축을 로그 스케일로 바꾸어보도록 하겠습니다. log 옵션 vs symlog 옵션 x축은 plt.xscale, y축은 plt.yscale 함수로 축의 스케일을 변경할 수 있습니다. 여기서 ..

Python/Matplotlib 2022.10.07

[Matplotlib] 파이썬 그래프 y축 절단(물결선 효과) 적용 방법

Python plt broken axis 파이썬에서 matplotlib 모듈을 활용하여 그래프를 그릴 때, 축을 중간에서 절단하여 물결선과 비슷한 효과를 낼 수 있는 방법을 살펴보도록 하겠습니다. 참고로, 해당 글은 아래의 matplotlib 공식 사이트 글의 코드를 참고하여 작성되었습니다. Broken Axis — Matplotlib 3.6.0 documentation Note Click here to download the full example code Broken Axis Broken axis example, where the y-axis will have a portion cut out. import numpy as np import matplotlib.pyplot as plt np.random..

Python/Matplotlib 2022.10.06

파이썬 과학적 표기법(지수 표현) 출력 양식 지정 방법

Python Scientific Notation 파이썬에서 특정 수를 지수 표현으로 나타내어 1.23e+8, 4.753e-6과 같이 과학적 표기법으로 출력하는 방법을 정리해도록 하겠습니다. 일반적인 소수점 자릿수 출력 양식은 "%.2f"처럼 지정하는 반면, 과학적 표기법의 경우에는 "%.2e"처럼 f 대신 e로 지정해주시면 해당 자릿수까지 반올림되어 반영된 지수 표현으로 출력이됩니다. a = 1234567.89012 ### 기존 포맷팅 예시 ### print(a) # 1234567.89012 print("%.2f"%a) # 1234567.89 print("%.5f"%a) # 1234567.89012 ### 과학적 표기법 예시 ### print("%.2e"%a) # 1.23e+06 print("%.5e"%..

[Scipy] 파이썬 신뢰 구간 구하기 및 시각화 예제

Python에서 표본 집단의 신뢰 구간을 간략하게 구하는 방법을 정리해보고 막대 그래프에서 신뢰 구간 부분을 시각화하는 방법도 같이 살펴보겠습니다. 예시로 아래와 같이 두 샘플에 대한 값이 있다고 가정해보도록 하겠습니다. sample1 = [5, 10, 17, 29, 14, 25, 16, 13, 9, 17] sample2 = [21, 22, 27, 19, 23, 24, 20, 26, 25, 23] 파이썬 신뢰 구간 구하기 함수 : scipy.stats.t.interval 각 샘플에 대하여 자유도, 표본 평균 및 표준 오차를 구하고, scipy.stats.t.interval 메소드 내에 신뢰 수준 및 위에서 구한 세 가지 값을 순서대로 input으로 주시면 신뢰 구간을 손쉽게 구하실 수 있습니다. samp..

Python/Scipy 2022.09.28

[Pandas] 파이썬 데이터프레임 랜덤 샘플링 방법 : df.sample

Python의 판다스 모듈로 데이터프레임의 행들을 랜덤 추출할 수 있는 df.sample 기능에 대하여 사용 예제를 정리해보도록 하겠습니다. 이해를 돕기 위하여 아래의 데이터프레임 df에 대하여 행 샘플링을 진행해 보겠습니다. import pandas as pd df = pd.DataFrame({"이름" : ["AAA", "BBB", "CCC", "DDD", "EEE", "FFF", "GGG", "HHH", "III", "JJJ"], "반" : [1, 1, 1, 1, 1, 2, 2, 2, 2, 2], "점수" : [67, 100, 12, 85, 13, 92, 27, 5, 100, 98]}) df 특정 개수 샘플링 df.sample(n) 형태로 간단하게 n개의 행들을 임의 추출하는 것이 가능합니다. 여기서..

Python/Pandas 2022.09.27

[Numpy] 파이썬 eigenvalue, eigenvector 구하기 : np.linalg.eig

Python에서 주어진 배열의 고윳값(eigenvalue)와 고유벡터(eigenvector)를 쉽게 찾을 수 있는 넘파이 모듈 내 eig 함수에 대하여 사용법 예제를 살펴보겠습니다. np.linalg.eig 함수 기본 사용법 (n, n) 형태의 shape를 가지는 2차원 정방행렬에 대하여 np.linalg.eig(행렬) 형태로 바로 적용해주시면 됩니다. output은 eigenvalue를 모은 리스트, eigenvector를 모은 행렬 순서로 반환되며 각 i번째 고유값에 해당하는 고유벡터는의 i번째 열벡터에 해당되는 점을 참고해주세요. import numpy as np A = np.array([[1, 0, 1], [0, 1, 1], [1, 1, 0]]) A_eig_val, A_eig_vec = np.li..

Python/Numpy 2022.09.27

파이썬 한글 또는 영문만 추출하기 / 제거하기

Python에서 정규표현식을 활용하여 한글 혹은 영어만 남기거나 제거하는 코드를 간략하게 정리해 보겠습니다. 한글만 추출, 제거 re.sub 함수 내 정규표현식에서 자모는 ㄱ-ㅣ, 온전한 글자는 가-힣으로 커버하며, 아래와 같이 ^ 유무의 차이로 한글만 남기기 혹은 한글만 제거를 모두 수행할 수 있습니다. 또한, 공백의 포함/제거 여부도 \s 포함 여부로 같이 조정할 수 있습니다. import re my_str = "안녕하세요 ㅎㅎ. Hello World! 12345?" kor_str = re.sub(r"[^ㄱ-ㅣ가-힣\s]", "", my_str) # 한글 + 공백만 남기기 not_kor_str = re.sub(r"[ㄱ-ㅣ가-힣]", "", my_str) # 한글만 제거하기 not_zamo_str = ..

Python/Utils 2022.09.26

[Sklearn] 파이썬 모델 앙상블 : 배깅 / 부스팅 / 보팅 함수 정리

Python Model Ensemble(Bagging, Boosting, Voting) 파이썬에서 여러 머신러닝 모델의 앙상블을 진행하는 배깅, 부스팅 그리고 보팅과 관련된 사이킷런의 함수들을 간단한 예제를 통하여 이해하기 쉽도록 비교 정리해보도록 하겠습니다. 데이터셋 로드 및 전처리 우선, 이번 글에서는 사이킷런에서 제공하는 iris 데이터셋을 활용하겠습니다. 데이터셋을 불러오고 train / test 셋으로 분리하는 간단한 전처리 코드는 다음과 같습니다. from sklearn.datasets import load_iris import pandas as pd import numpy as np from sklearn.model_selection import train_test_split # 데이터셋 로..

Python/Sklearn 2022.09.25

[Sklearn] 파이썬 feature selection 함수 RFE, RFECV 예제

Python scikit-learn RFE, RFECV 파이썬에서 RFE와 RFECV 함수를 사용하여 feature selection을 진행하는 예제를 다루어보도록 하겠습니다. 데이터셋 로드 및 전처리 우선, 이번 글에서는 사이킷런에서 제공하는 유방암 분류 예측 데이터셋을 사용하겠습니다. 총 30가지 종류의 feature가 있으며, target 정보는 0과 1(악성 / 양성)의 이진 분류입니다. 우선, 데이터셋을 데이터프레임으로 불러오는 코드는 다음와 같습니다. import pandas as pd from sklearn import datasets # 유방암 데이터셋 로드 data = datasets.load_breast_cancer() df = pd.DataFrame(data.data, columns ..

Python/Sklearn 2022.09.24

TypeError: argument of type 'int' is not iterable 원인, 해결법

개요 숫자 5가 주어진 정수 내에 포함되어 있는지 판단하기 위하여 아래와 같은 조건문을 작성했다고 가정해보도록 하겠습니다. a = 135 if 5 in a: print('5가 포함되어 있습니다.') # 결과 TypeError: argument of type 'int' is not iterable 원인 인덱싱이 가능한 리스트, 문자열 등 자료형이나 원소를 순회할 수 있는 generator 자료형과 같은 경우는 in 구문으로 원소 포함 여부를 체크할 수 있지만, 정수, 실수 등과 같은 자료형은 순회하면서 "2번째로 오는 값이 무엇인가?" 등을 정의할 수 있는 자료형이 아니기에 in 구문으로 원소 포함 여부를 체크할 수 없어서 나타나는 오류입니다. 해결법 포함 여부를 in 구문으로 찾고 싶다면 문자열 등 순회..

Python/Debugging 2022.09.22
반응형