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

Python 68

Python/Syntax
[Numpy] ndarray 합치기 (c_, r_, column_stack)

numpy에서 제공되는 클래스인 c_와 r_은 입력받은 ndarray를 결합하여 새로운 ndarray를 빠르게 생성할 수 있도록 도와줍니다. 이 때, c_와 r_은 ()이 아닌 []을 통해 ndarray를 입력받습니다. 1. r_ c_를 이해하기 위해서는 r_ 클래스를 먼저 이해해야 합니다. class CClass(AxisConcatenator): """ Translates slice objects to concatenation along the second axis. This is short-hand for ``np.r_['-1,2,0', index expression]``, which is useful because of its common occurrence. In particular, arrays..

카테고리 없음
[PyQt] 텍스트 입력받기(QLineEdit, QTextEdit)

PyQt에는 정말 다양한 위젯들이 있습니다. 텍스트를 입력받는 위젯부터 체크박스, 라디오 버튼, 콤보박스, 캘린더, 테이블 등등 GUI를 위한 기능들은 모두 있는 것 같습니다. 앞으로 틈틈이 정리를 하려하는데 오늘은 텍스트를 입력받을 수 있는 QLineEdit와 QTextEdit에 대해서 알아보려 합니다. 1. QLineEdit와 QTextEdit QLineEdit은 한줄로 된 문자열을 입력받을 수 있는 위젯입니다. 반면 QTextEdit은 여러 줄로 된 문자열을 입력받을 수 있습니다. 2. QLineEdit와 QTextEdit의 사용 import sys from PyQt5.QtWidgets import QApplication, QWidget, QVBoxLayout from PyQt5.QtWidgets ..

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..

DataScience
[Numpy] Poly1d 그래프 plot

[Numpy] 다항식을 다룰 수 있는 polynomial class, poly1d 회귀방정식을 구하거나 수치 연산을 할 때 다항식을 다룰 일이 엄청나게 많습니다! Numpy에서는 다항식을 사용하기 쉽게 polynomial class를 제공하고 있는데 오늘은 이 polynomial class에 대해 공부해보 koosco.tistory.com 지난 번에 다항식을 다룰 수 있도록 해주는 numpy의 poly1d class에 대해 알아보았습니다. stack overflow에서 polynomial을 plot하는 내용의 질문을 보고 한 번 정리해두려 합니다. import matplotlib.pyplot as plt import numpy as np p = poly1d([1, 2, 1]) plt.plot(p) 위 다..

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..