-
카테고리
-
세부 분야
풀스택
-
해결 여부
미해결
[flask 로 Rest API 구현과 테스트] 질문있습니다
23.03.14 15:07 작성 조회수 692
1
현재 해당 수업을 너무 잘 듣고 있는 수강자입니다~ 이런 강의 제공해주셔서 감사드립니다.
제가 이 강의를 듣게된 이유는 머신러닝 모델을 통해서 모델을 배포하고 결과를 고객에게 보여주기위해 Flask를 사용해보려고 하기 때문인데요..
아직 지식이 짧아서 그런지, REST API 구현시 ML모델 결과가 만약 Table로 나온다면 이 역시도 JSON 파일로 response를 해줄수가 있는걸까요?
답변 기다리고 있겠습니다.
답변을 작성해보세요.
0
잔재미코딩 DaveLee
지식공유자2023.03.16
안녕하세요. 답변도우미입니다.
네, REST API를 구현할 때 머신러닝 모델의 결과가 테이블 형태로 나오더라도 JSON 파일로 변환하여 클라이언트에게 응답을 보낼 수 있습니다. 테이블 형태의 데이터를 JSON 형식으로 변환하기 위해서는 일반적으로 Pandas DataFrame을 사용합니다. 해당 라이브러리는, 처음하는 파이썬 데이터 분석 강의에서 상세하게 설명하는데요.
Pandas DataFrame은 테이블 형태의 데이터를 쉽게 다룰 수 있도록 제공되는 Python 라이브러리입니다. DataFrame 객체는 to_json
메소드를 사용하여 JSON 형식으로 변환할 수 있습니다.
예를 들어, Pandas DataFrame을 JSON 형식으로 변환하는 과정은 다음과 같습니다:
pythonCopy codeimport pandas as pd
# 예시 데이터 생성
data = {
'column1': [1, 2, 3],
'column2': ['A', 'B', 'C']
}
# DataFrame 생성
df = pd.DataFrame(data)
# DataFrame을 JSON 형식으로 변환
json_data = df.to_json(orient='records')
이렇게 생성된 JSON 데이터를 Flask의 jsonify
함수를 이용하여 REST API 응답으로 보낼 수 있습니다.
pythonCopy codefrom flask import Flask, jsonify
import pandas as pd
app = Flask(__name__)
@app.route('/api/data', methods=['GET'])
def get_data():
data = {
'column1': [1, 2, 3],
'column2': ['A', 'B', 'C']
}
df = pd.DataFrame(data)
json_data = df.to_json(orient='records')
return jsonify(json_data)
if __name__ == '__main__':
app.run(debug=True)
이렇게 구현하면, 클라이언트가 /api/data
엔드포인트에 요청을 보내면, 테이블 형태의 머신러닝 모델 결과가 JSON 형식으로 반환됩니다.
감사합니다.
답변 1