zenn.skin 무료버전 배포중!
자세히보기

Python/Syntax 51

Python/Syntax
[Python] random 모듈

랜덤 함수를 사용할 때마다 다시 찾아봐야해서 정리를 해두려 합니다. 제공하는 함수가 워낙 많아서 그 중에서 자주 사용하는 함수 몇 개만 추리겠습니다. 랜덤함수에 대해 좀 더 공부하고 싶으신 분은 help(random)을 통해 도움말을 보거나, random — 의사 난수 생성 — Python 3.10.5 문서 random — 의사 난수 생성 소스 코드: Lib/random.py 이 모듈은 다양한 분포에 대한 의사 난수 생성기를 구현합니다. 정수에 대해서는, 범위에서 균일한 선택이 있습니다. 시퀀스에 대해서는, 무작위 docs.python.org random 공식 문서를 확인하시면 좋을 것 같습니다. 1. choice( seq) import random random.choice([1, 2, 3, 4]) # ..

Python/Syntax
[Python] slice 클래스

파이썬의 slice 클래스는 슬라이싱을 도와주는 클래스입니다. slice 클래스는 start, step, stop을 변수로 갖습니다. 하나의 인자를 가지는 경우 stop을 두 개의 인자를 가지는 경우 start, stop을 세 개의 인자를 가지는 경우 순서대로 start, stop, step을 순서대로 갖습니다. s1 = slice(5) # stop만 가짐 s2 = slice(1, 6) # start, stop을 가짐 s3 = slice(1, 10, 2) # start, stop, step을 가짐 슬라이스를 사용하면 슬라이싱이 가능한 객체에서 지정된 범위만큼 슬라이싱을 해줍니다. sample = "abcdefghijklmnopqrstuvwxyz" nums_list = [1, 2, 3, 4, 5, 6, 7..

Python/Syntax
[Pandas] 행에서 문자열, 값의 검색

DataFrame에서는 반복문 사용을 지양하고 대부분 내장함수를 사용하여 데이터를 처리합니다. 문자열을 검색할 때 "in"이나 re 모듈을 사용해서 검색을 많이 하는데 오늘은 contains에 대해 공부해보려 합니다. import pandas as pd data = [['Scarlett johansson', 160], ['Christopher Robert Evans', 183], ['Robert John Downey Jr.', 174], ['Mark Ruffalo', 173]] df = pd.DataFrame(data, columns=['name', 'height']) print(df['name'].str.contains('Jr')) 1. contains contains 메소드는 조건에 해당하는 bool..

Python/Syntax
[Pandas] 데이터 프레임 인덱스 초기화

DataFrame의 인덱스를 초기화할 때는 DataFrame.reset_index() 메소드를 사용합니다. 대부분의 메소드가 inplace를 지원하듯(DataFrame을 반환하지 않고 DataFrame의 값을 변경함) reset_index도 inplace를 지원합니다. import pandas as pd sales = pd.read_excel('매출내역.xlsx') cancel = sales.loc[sales['매출금액'] < 0] cancel.reset_index(inplace=True) cancel 별도의 설정없이 reset_index를 사용하는 경우 index가 따로 빠져나옵니다. drop=True로 설정하면 index를 별도의 열로 갖지 않고 삭제가 됩니다. import pandas as pd s..

Python/Syntax
[Pandas] 다른 데이터프레임 속성값을 이용해 값 선택, 데이터프레임 순회

두 개의 데이터프레임이 있을 때, 한 쪽 데이터프레임의 속성값을 사용해 다른 데이터 프레임에서 행을 선택하는 방법에 대해 적어보려 합니다. 다음과 같이 전체 매출 DataFrame과 반품-취소 DataFrame이 있습니다. 반품-취소 DataFrame을 사용해 전체 매출 데이터에서 해당하는 행을 얻으려 합니다. import pandas as pd selected_rows = [] for idx, item in cancel_list.iterrows(): selected_rows.append(sales.loc[(sales['판매일자'] == item['판매일자']) & (sales['매출금액'] == item['판매일자'])]) selected_rows DataFrame의 iterrows 메소드는 DataF..

Python/Syntax
[Numpy] arange, linspace

numpy에 일정 간격을 가지는 ndarray를 생성할 수 있는 함수에는 numpy.arange와 numpy.linspace가 있습니다. 상황에 따라 조금씩 다르게 사용되는 두 함수에 대해 정리해 보려 합니다. 1. arange - 생성되는 ndarray의 개수는 모르고, 간격만 결정합니다. 파이썬의 리스트와 거의 동일합니다. - arange는 총 4개의 인자를 받습니다. (start, stop, step, dtype) - arange(start, stop, step, dtype=None), start부터 stop까지 step 간격을 가지는 ndarray를 생성합니다. - 파이썬에서 제공되는 range함수와 거의 동일하게 작돟하며, stop은 ndarray에 포함되지 않습니다. - numpy의 ndarr..

Python/Syntax
[Matplotlib] 한글 폰트 설정, 글꼴 변경 + 추가

[Matplotlib] 한글 폰트 설정, 글꼴 변경 Matplotlib에서 기본적으로 제공하는 폰트는 한글을 제공하지 않는다. 그러므로 한글 폰트를 적용하기 위해서는 한글을 지원하는 폰트를 설치하고 바꿔주어야 한다. import matplotlib as mpl import matplotl koosco.tistory.com 이전에 matplotlib에서 폰트를 변경하는 방법을 다룬 적이 있습니다. 이번에 좀 더 간단하게 폰트를 변경할 수 있는 방법을 알게 되어 정리해두려 합니다. 이 방법은 설정을 변경하는 방법이 아니라 하나의 axes객체에 대해서만 적용되기 때문에 설정 변경을 필요하면 위 게시물의 방법을 참고하시면 됩니다! import matplotlib.pyplot as plt plt.rc('font'..

Python/Syntax
[Matplotlib] 그래프 스타일

matplolib에서 지원하는 그래프 스타일을 정리해보려 합니다. 그래프 스타일은 matplotlib을 통해 그려지는 선의 색, 두께부터 폰트의 크기, 색상 등 여러가지를 별도의 설정없이 사용할 수 있도록 해줍니다. 그래프 스타일을 잘 적용하면 설정과정을 크게 줄이고 원하는 시각효과를 더 돋보이게 할 수 있는 장점이 있습니다. matplotlib.pyplot.style.available을 실행하면 matplotlib에서 지원하는 스타일의 이름을 확인할 수 있습니다. import matplotlib.pyplot as plt print(plt.style.available) 총 26개의 스타일을 지원하고 있습니다. 각각의 그래프를 그려 스타일을 확인해보겠습니다. import numpy as np import ..