資料科學家–額外技能4.3 | 怎麼寫API ( fast API in python )
在資料科學領域,寫API是非常重要的一個技能。在Python中,使用FastAPI可以快速、輕鬆地寫出高效的API。
什麼是FastAPI?
FastAPI是一個現代、高效的Web框架,可以幫助開發者快速建立API。它結合了Python的靈活性和高效性,同時提供了自動文檔生成和靜態型別檢查等功能。
如何寫API?
使用FastAPI來寫API非常簡單。首先,安裝FastAPI:
pip install fastapi
接下來,創建一個Python文件,並編寫API的代碼。例如:
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
def read_root():
return {"Hello": "World"}
最後,運行API:
uvicorn main:app --reload
這樣就可以啟動一個簡單的API了。
總結
在資料科學家的額外技能中,學習如何寫API是非常有價值的。使用FastAPI可以讓這一過程變得更加輕鬆和高效。希望本文能夠幫助您開始使用FastAPI寫API。
from fastapi import FastAPI
import joblib
from pydantic import BaseModel
import pandas as pd
import uvicorn
import pyodbc
import warnings
warnings.filterwarnings('ignore')
path = 'D:/API/fast/'
model = joblib.load(path + 'model_ex')
def pred(v1, v2, v3, v4):
df = {'v1': [v1],'v2': [v2],'v3': [v3],'v4': [v4]}
df = pd.DataFrame(df,index=[0])
try:
df['v1'] = df['v1'].astype(int)
except:
df['v1'] = 5
out = pd.DataFrame(model.predict_proba(df))
out.columns = model.classes_
out = out.T.reset_index()
out = out.rename(columns={'index': '花種'})
out = out.rename(columns={0: '機率'})
out = out['機率'].tolist()
return out
#pred("我是error",3,2.1,4)
# initiate API
app = FastAPI()
# define model for post request.
class ModelParams(BaseModel):
v1: int
v2: int
v3: int
v4: int
@app.post("/predict") # 指定 api 路徑 (post方法)
def predict(params: ModelParams): #需同 app post
pred_df = pred(params.v1, params.v2, params.v3, params.v4)
return pred_df
你好,抱歉雖然跟影片的內容沒有關係,但還是想請問有沒有推薦的資料分析或者統計學的相關書籍。