ValueError:DataFrame构造函数未在return语句中正确调用

时间:2019-04-26 12:07:12

标签: python-3.x pandas

我有一个功能

def nlp_func(df):
    res = {}
    #some code
    #
    #
    #
    if pos>neg :
       res[x] = "Pos"
    else:
       res[x] = "Neg"
    return pd.DataFrame(res.items(), columns=["company_names", "Value"])

然后我将该函数称为res = nlp_func(df)

我收到以下错误

ValueError                                Traceback (most recent call last)
<ipython-input-103-8195a7e5e053> in <module>()
----> 1 res = nlp_func(df)

<ipython-input-100-5ed9ac5ffc17> in nlp_func(df)
     20                 res[x] = "Neg"
     21             x = r.company_names
---> 22     return pd.DataFrame(res.items(), columns=["company_names", "Value"])

~\Anaconda3\lib\site-packages\pandas\core\frame.py in __init__(self, data, index, columns, dtype, copy)
    420                                          dtype=values.dtype, copy=False)
    421             else:
--> 422                 raise ValueError('DataFrame constructor not properly called!')
    423 
    424         NDFrame.__init__(self, mgr, fastpath=True)

ValueError: DataFrame constructor not properly called!

我试图找到解决方案,但似乎没有找到。请帮忙。

1 个答案:

答案 0 :(得分:0)

我相信您需要使用DataFramekeys创建values

return pd.DataFrame({'company_names': list(res.keys()), "Value": list(res.values())})