[FastAPI] FastAPI 알아보기 FastAPI? 파이썬 3.6부터 제공되는 비교적 최근에 등장한 웹 프레임워크 기존에 잘 알려져있는 파이썬 웹 프레임워크로는 비교적 가벼운 웹 개발이라면 Flask를 사용했고, 조금 더 볼륨이 있는 프로젝트라면 Django를 사용했다. 이 가운데 비교적 조작법은 단순하면서 성능적으로 우세함을 보장한다는 FastAPI가 등장했다. FastAPI는 현대적이고 빠르며, 파이썬 표준 타입에(Type Annotation) 기초한 웹 프레임워크다. FastAPI의 특징은 다음과 같다. 자동 스웨거 (Swagger) 지원 ==> API 문서를 자동으로 생성 풍부한 자유도 내부에서 Starlette과 Pydantic을 사용 큰 커뮤니티, 아직은 작은 생태계 FastAPI 사용하..
[Python] 이차원 리스트 출력하기 이차원 리스트의 요소를 출력하기 위한 방법에 대해 알아보고자 한다. 이차원 리스트를 먼저 생성해준다. a = ['a','b','c','d'] b = ['1','2','3','4'] c = ['A','B','C','D'] lst = [a,b,c] lst 특정 값에 접근하기 위해서는 세로 인덱스와 가로 인덱스를 지정해주면 된다. 만약에 '2'를 출력하고 싶다면 아래와 같이 할 수 있다. lst[1][1] '2' 요소를 하나씩 가져오고 싶다면 반복문을 이용하여 가져올 수 있다. for a,b,c,d in lst: print(a,b,c,d)
[Pandas] 데이터프레임 순회하기 특정 조건에 맞는 데이터 프레임 값을 출력해야하는 경우가 있다. 데이터프레임 순회를 하여 데이터프레임을 모두 출력하는 방법에 대해서 알아보자 먼저 샘플 데이터 프레임을 생성해준다. import pandas as pd import names from random import * age = [randint(16, 19) for i in range(0, 5)] gender = [choice(["male", "female"]) for i in range(0, 5)] name = [names.get_first_name(gender=g) for g in gender] grade = [choice(['A','B','C','D']) for i in range(0, 5)] math ..
[Pandas] Query Pandas에서 조건에 부합하는 데이터를 추출할 때, 가장 많이 사용하는 게 Query함수라고 한다. 가독성과 편의성은 좋지만, .loc[]로 구현한 것 보다 속도가 느리다. query 함수를 사용하기 위해서 랜덤 데이터프레임을 생성해준다. import pandas as pd import names from random import * age = [randint(16, 19) for i in range(0, 101)] gender = [choice(["male", "female"]) for i in range(0, 101)] name = [names.get_first_name(gender=g) for g in gender] cl = [choice(['A','B','C','D']..
[Python] 파이썬에서 다른 py 파일의 변수/함수 호출 변수/함수가 다른 파이썬 파일에 정의되어있을 때, 가져와서 사용하는 방법에 대해 알아보자 라이브러리와 같이 import 혹은 from ~ import 문을 사용해서 가져올 수 있다. 먼저 파이썬 프로젝트 폴더 내의 test라는 폴더가 있고 그안에 test.py란 파일을 생성해준다. test.py 의 내용은 다음과 같다. name = "one" def test(name): return print(f"my name is {name}") 같은 폴더 내의 파일 import import 파일명 test 폴더에 test2.py 파일을 생성해서 다음과 같이 import 해준다. import test name = test.name test.test(name)..
[Python] plotly 사용하기 (1) Line 그래프 앞선 포스팅에서 Plotly를 설치하는 방법에 대해서 알아보았다. [Python] Plotly 설치 [Python] Plotly 설치 파이썬의 fullstack 웹 프레임워크인 reflex (https://reflex.dev/) 로 간단한 웹 프로젝트를 하게 되었다. 홈페이지의 갤러리에 가보면 reflex로 구현한 샘플 웹페이지들을 확인 할 수 있다 heywantodo.tistory.com Plotly 라이브러리를 이용해서 그래프를 그려보자 데이터는 plotly에서 제공하는 임의의 데이터를 사용 한다. import pandas as pd import plotly.express as px import plotly.graph_objects as g..
[Pandas] Group by Pandas 라이브러리를 사용해서 Dataframe에서 Group by를 통해 데이터를 집계하는 방법에 대해 알아보자 문법 기본 문법은 다음과 같다. 데이터프레임.groupby(그룹이되는 컬럼)[계산을 하고싶은 컬럼].집계함수() 사용 예제 먼저 랜덤 라이브러리를 사용해 샘플 데이터 프레임을 생성해준다. import names from random import * age = [randint(16, 19) for i in range(0, 101)] gender = [choice(["male", "female"]) for i in range(0, 101)] name = [names.get_first_name(gender=g) for g in gender] cl = [choic..
데이터프레임에서 특정 조건 & 특정 문자가 포함된 값을 추출하고 싶을때, 다음과 같은 방식을 사용하면 추출이 가능하다. 특정 조건이 포함된 값 추출 먼저 샘플 데이터를 불러온다. data = "./test_data/test.csv" df = pd.read_csv(data) 위의 데이터 프레임에서 년도가 1999년인 데이터만 확인하고 싶다면 다음과 같이 코드를 작성할 수 있다. df[df['Year'] == 1999] 조건을 2개 이상 줄 수 있는데, 2개 이상인 경우엔 각 조건을 괄호로 묶어준다. #조건을 둘 다 만족해야 할 때 df[(조건1) & (조건2)] #조건 중 하나라도 만족하면 될 때 df[(조건1) | (조건2)] 예를 들어 년도가 2000년대 이상이면서 비율이 95가 넘는 데이터프레임을 추..
[Python] Plotly 설치 파이썬의 fullstack 웹 프레임워크인 reflex (https://reflex.dev/) 로 간단한 웹 프로젝트를 하게 되었다. 홈페이지의 갤러리에 가보면 reflex로 구현한 샘플 웹페이지들을 확인 할 수 있다. https://nba.dev.reflexcorp.run/ NBA App nba.dev.reflexcorp.run 그중 NBA App이 데이터 시각화 샘플 웹페이지인데, 여기선 plotly를 사용하여 시각화를 하고있다. 사실 태블로나 슈퍼셋같은 데이터를 시각화하는 툴을 많이 사용하기 때문에, 파이썬으로 시각화하는 방법을 몰랐다. 이번 기회에 plotly에 대해서 짧게 공부를 해보자고 한다. Plotly란? 인터렉티브한 시각화가 가능한 파이썬 그래픽 라이브러..
[Python] 클래스(class) 클래스의 개념 파이썬의 클래스는 객체를 표현하기 위한 문법이다. 간단하게 생각해서 설계도라고 생각하면 된다. 클래스를 사용하면 객체의 구조와 행동을 정의하여 복잡한 문제를 다루기 쉽도록 만든다. ✔ 파이썬은 모든 것이 객체이기 때문에, 클래스도 객체다. 즉 클래스(class)란, 똑같은 무언가를 계속 만들어 낼 수 있는 설계 도면이고, 객체(object)란 클래스로 만든 피조물을 뜻한다. class Cookie: pass a = Cookie() b = Cookie() Cookie()의 결과값을 리턴받은 a와 b가 객체가 된다. 클래스로 만든 객체를 인스턴스라고도 하는데, a = cookie()로 만든 a는 객체다. 그리고 a 객체는 Cookie의 인스턴스다. 즉, 인스..
[API][Apps Script] 공공 데이터 포탈에서 공휴일 API 가져오기 구글 apps script를 이용하여 특정 사용자에게 특정 시간에 메일을 전송하는 스크립트를 생성하여 사용하고 있다. 공휴일엔 메일을 보내지 않는 기능을 구현하고 싶은데, 구글 캘린더에서 제공하는 휴일 캘린더는 식목일 같은 공휴일이 아닌 날에도 공휴일로 제공을 하여 방법을 찾아보니 공공데이터 포탈에서 제공하는 공휴일 정보 API를 불러와서 사용하는 방법이 있었다. 공공 데이터 포탈 API 키 신청 공공 데이터 포탈 공공데이터포털 통합 로그인 공공데이터포털 로그인 국민과 함께 하는 공공데이터포털에 오신 것을 환영합니다 auth.data.go.kr 데이터 찾기에 공휴일을 검색 한 후 오픈 API 탭으로 가면 제일 위에 한국 천문 ..