• 카테고리

    질문 & 답변
  • 세부 분야

    풀스택

  • 해결 여부

    미해결

[flask 로 Rest API 구현과 테스트] 질문있습니다

23.03.14 15:07 작성 조회수 692

1

현재 해당 수업을 너무 잘 듣고 있는 수강자입니다~ 이런 강의 제공해주셔서 감사드립니다.

제가 이 강의를 듣게된 이유는 머신러닝 모델을 통해서 모델을 배포하고 결과를 고객에게 보여주기위해 Flask를 사용해보려고 하기 때문인데요..

아직 지식이 짧아서 그런지, REST API 구현시 ML모델 결과가 만약 Table로 나온다면 이 역시도 JSON 파일로 response를 해줄수가 있는걸까요?

답변 기다리고 있겠습니다.

답변 1

답변을 작성해보세요.

0

안녕하세요. 답변도우미입니다.

네, 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 형식으로 반환됩니다.

감사합니다.