목록Python (17)
욤미의 개발일지
사용한 데이터: https://www.kaggle.com/nicapotato/womens-ecommerce-clothing-reviews csv파일 불러오기 .read_csv() 함수는 데이터를 dataframe 형태로 불러온다. import pandas as pd df = pd.read_csv("./path/data.csv") 상위 N행 살펴보기 .head() 함수는 데이터의 상위 5개의 행을 출력한다. 괄호 () 안에 숫자를 넣으면 그 숫자만큼 행을 출력한다. .tail()의 경우 하위 n개의 행을 출력한다. df.head() 데이터의 크기 확인하기 .shape 속성으로 데이터 (행, 열) 크기를 출력한다. df.shape 정보 확인하기 .info() 함수는 데이터에 대한 전반적인 정보를 요약해서 출..
요즘 대규모 언어 모델이 빠른 속도로 발전하고 있다. 특히, OpenAI에서 ChatGPT를 공개하면서 전공자들뿐만 아니라 비전공자들도 인공지능에 대한 관심을 많이 가지고 있다고 느꼈다. ChatGPT가 무료로 사용이 가능하다보니 많은 사람들이로 문서 작업, 블로그 포스팅, 등등.. 업무 보조에 사용하고 있는 것 같다. 더보기 심지어 최근에 관심있게 봤던 분야인 코드 생성(Code Generation)까지도 능숙하게 해내는 것을 볼 수 있다. 뿐만아니라 print문에 대한 해설까지 덧붙여서 설명해주는 친절함까지 어마어마하다. ChatGPT API 최근 3월 1일에 OpenAI에서 ChatGPT API를 공개하면서 IT기업들이 ChatGPT 기반 서비스를 빠르게 출시하고 있다. 나도 간단한 테스트 예제를 ..
최대공약수(Greatest Common Divisor, GCD) 최대공약수란 두 수 이상의 여러 수의 공약수 중 최대인 수를 의미 최대공약수가 1이면 두 수는 서로소(coprime) 관계 방법 1 def gcd(a, b): for i in range(min(a, b), 0, -1): if a % i == 0 and b % i == 0: return i 방법 2. 유클리드 호제법 x, y의 최대 공약수 = y, r의 최대 공약수 (x%y=r) 2개의 자연수 x, y에 대해서 x를 y로 나눈 나머지를 r이라 하면(단, x>y) x와 y의 최대공약수는 y와 r의 최대공약수와 같다. 이에 따라, y를 r로 나눈 나머지 r'를 구하고, 다시 r을 r'로 나눈 나머지를 구하는 과정을 반복하여 나머지가 0이 되었을 ..
Jupyter notebook을 사용하다보면 출력 결과(print 문)이 너무 많아서 브라우저에서 파일이 열리지 않는 경우가 있다. 이 때 Ipynb파일에서 output만 초기화주어 빈칸으로 만들어주면 다시 실행할 수 있다. import sys import io import os from nbformat import read, write def clear_notebook(fname, new_fname): # read original file with io.open(fname, 'r', encoding = "utf-8") as f: nb = read(f, 4) # remove ouput for cell in nb.cells: if cell.cell_type == 'code': cell.outputs = [..
sorted( ) 파이썬에서는 기본 정렬 라이브러리인 sorted() 함수를 제공한다. 병합 정렬과 삽입 정렬의 아이디어를 더한 방식으로 만들어졌다. 병합정렬은 일반적으로 퀵 정렬보다는 느리지만 최악의 경우에도 시간 복잡도 O(NlogN)을 보장한다. iterable 객체(리스트, 집합 자료형, 딕셔너리 자료형) 등을 입력받아서 정렬된 리스트를 반환한다. 집합 자료형이나 딕셔너리 자료형을력받아도 반환되는 결과는 리스트 자료형이다. result = sorted(array) # 오름차순 정렬 result = sorted(array, reverse=True) # 내림차순 정렬 sort( ) 리스트의 메소드 리스트를 정렬된 상태로 변경 array.sort() # 오름차순 정렬 array.sort(reverse=..
재귀 함수(Recursive Function)란 자기 자신을 다시 호출하는 함수를 의미한다. 문자열을 무한히 출력하는 예제 def recursive_function(n): print('재귀함수', n) recursive_function(n+1) recursive_function(1) 파이썬에서는 최대 재귀 깊이 제한이 있기때문에 위의 코드를 실행하면 어느 정도 출력하다 'maximum recursion depth exceeded while callilng a Python object'라는 오류 메시지가 출력되고 프로그램이 종료될 수 있다. 함수가 재귀적으로 호출되게 되면 컴퓨터 시스템의 스택에 함수가 반복적으로 쌓여서 제일 위에 쌓인 것부터 처리된다. 컴퓨터 메모리는 한정된 자원(크기)이기 때문에 무한 ..