首页 文章

ValueError:传递值的形状是(1,6),索引暗示(6,6)

提问于
浏览
6

我从flask函数传递一个列表到另一个函数,并获得此值错误 .

发送端的代码:

@app.route('/process', methods=['POST'])
def process():
    name = request.form['name']
    comment = request.form['comment']
    wickets = request.form['wickets']
    ga = request.form['ga']
    ppballs = request.form['ppballs']
    overs = request.form['overs']

    score = [name,comment,wickets,ga,ppballs,overs]
    results = []
    results = eval_score(score)
    print results

接收方结束:

def ml_model(data):
    col = pd.DataFrame(data,columns=['runs','balls', 'wickets', 'ground_average', 'pp_balls_left', 'total_overs'])
    predicted = predictor(col)

错误跟踪:

...
 line 1598, in dispatch_request
 return self.view_functions[rule.endpoint](**req.view_args)

 File "/Users/sbk/guestbook/guestbook.py", line 26, in process
 results = eval_score(score)

 File "/Users/sbk/guestbook/eval_score.py", line 6, in eval_score
 col = pd.DataFrame(data,columns=['runs','balls', 'wickets',  'ground_average', 'pp_balls_left', 'total_overs'])

 File "/Users/sbk/anaconda2/lib/python2.7/site-  packages/pandas/core/frame.py", line 385, in __init__
 copy=copy)

 File "/Users/sbk/anaconda2/lib/python2.7/site-packages/pandas/core/frame.py", line 533, in _init_ndarray
 return create_block_manager_from_blocks([values], [columns, index])

 File "/Users/sbk/anaconda2/lib/python2.7/site-packages/pandas/core/internals.py", line 4631, in  create_block_manager_from_blocks
 construction_error(tot_items, blocks[0].shape[1:], axes, e)

 File "/Users/sbk/anaconda2/lib/python2.7/site-packages/pandas/core/internals.py", line 4608, in construction_error
 Open an interactive python shell in this framepassed, implied))

请让我知道我哪里出错了 .

1 回答

  • 14

    简单地改变

    col = pd.DataFrame(data, columns=['runs','balls', 'wickets', 'ground_average', 'pp_balls_left', 'total_overs'])
    

    对于

    col = pd.DataFrame([data], columns=['runs','balls', 'wickets', 'ground_average', 'pp_balls_left', 'total_overs'])
    

    你希望 [data]pandas 了解它们是行 .


    简单插图:

    a = [1, 2, 3]
    >>> pd.DataFrame(a)
       0
    0  1
    1  2
    2  3
    
    >>> pd.DataFrame([a])
       0  1  2
    0  1  2  3
    

相关问题