Как вернуть dtype (объект) в колбу - PullRequest
0 голосов
/ 01 ноября 2019

Я пытаюсь создать приложение FLASK. В одном маршруте я хочу, чтобы браузер распечатывал выходные данные функции, которая использует numpy. Но когда код запускается, он выдает ошибку следующим образом.

У меня есть эта функция без декораторов.

def get_similar_places(userID):
    from sqlalchemy import create_engine
    import pymysql
    import pandas as pd
    db_connection_str = 'mysql+pymysql://root:VC@travel.c5dq5zer.us-east-1.rds.amazonaws.com/traveem'
    db_connection = create_engine(db_connection_str)
    df = pd.read_sql("select * from MatrixData where UserID = "+str(userID), con=db_connection)
    places = list(df.columns[1:])
    vector = df.iloc[0][1:]
    visited_places = [places[i] for i in range(len(places)) if vector[i] == 1]
    df = pd.read_sql('SELECT * FROM Similarity', con=db_connection)
    df.index = df.columns
    score = df.dot(vector).div(df.sum(axis=1))
    score = score.nlargest(10+len(visited_places))
    score = score.drop(visited_places)
    return [score.index, visited_places]

Затем я вызываю эту функцию следующим образом:

@app.route('/cfoutput')
def collaborative_filtering():
    # reco = get_similar_places(userID = 1)
    # print(reco)
    #print(reco[1])
    return get_similar_places(userID = 1)

Я ожидаю, что результат будет

Index(['kunti betta (near srirangapatna)', 'kudremukh (near sringeri)',
       'kukke sumbrahmanya temple (near mangalore)',
       'unchalli falls (near jog falls)', 'madhugiri (near bangalore)',
       'horanadu annapoorneshwari temple (near sringeri)',
       'jamalabad fort (near mangalore)', 'hemavathi dam (near sakleshpur)',
       'agni gudda hill / agani peak (near sakleshpur)', 'srirangapatna'],
      dtype='object')
['bangalore', 'harangi dam (near coorg)', 'dandeli']

Но в браузере я получаю сообщение об ошибке:

TypeError: The view function did not return a valid response. The return type must be a string, dict, tuple, Response instance, or WSGI callable, but it was a list.

Я пытался использовать Respone, make_responseотправив как json. Варианты не работали. Любая помощь будет оценена. Заранее спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...