I am trying to convert a Pydantic model to a Pandas DataFrame,  but I am getting various errors.
Here is the code:
from typing import Optional
from fastapi import FastAPI
from pydantic import BaseModel
import pickle
import sklearn
import pandas as pd
import numpy as np
class Userdata(BaseModel):
  current_res_month_dec: Optional[int] = 0
  current_res_month_nov:  Optional[int] = 0
async def return_recurrent_user_predictions_gb(user_data: Userdata):
      empty_dataframe =  pd.DataFrame([Userdata(**{
      'current_res_month_dec': user_data.current_res_month_dec,
      'current_res_month_nov': user_data.current_res_month_nov})], ignore_index=True)
This is the DataFrame that is returned when trying to execute it through /docs in my local environment:
Response body
Download
{
  "0": {
    "0": [
      "current_res_month_dec",
      0
    ]
  },
  "1": {
    "0": [
      "current_res_month_nov",
      0
    ]
  }
but if I try to use this DataFrame for a prediction:
model_has_afternoon = pickle.load(open('./models/model_gbclf_prob_current_product_has_afternoon.pickle', 'rb'))
result_afternoon = model_has_afternoon.predict_proba(empty_dataframe)[:, 1]
I get this error:
ValueError: setting an array element with a sequence.
I have tried building my own DataFrame before, and the predictions should work with a DataFrame.
 
    