Pandas处理异常 ValueError: If using all scalar values, you must pass an index

问题描述:

使用pd的DataFrame()方法,想其加入一个字典参数,就报如下的错误信息。

from datetime import datetime
data_dict = {
    'c_time':datetime.now().strftime('%y-%m-%d %H:%M:%s'),
    'id':56,
    'name':'牛逼',
    'sex':0,
    'qq':154745845,
    'tel':15748586589,
    'period':'第四期',
    'course':'机器学习',
    'is_delete':0
}
data = pd.DataFrame(data=data_dict)
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-25-1314053caa12> in <module>
     11     'is_delete':0
     12 }
---> 13 data = pd.DataFrame(data=data_dict)
     14 data

~/.virtualenvs/tensorflow/lib/python3.5/site-packages/pandas/core/frame.py in __init__(self, data, index, columns, dtype, copy)
    390                                  dtype=dtype, copy=copy)
    391         elif isinstance(data, dict):
--> 392             mgr = init_dict(data, index, columns, dtype=dtype)
    393         elif isinstance(data, ma.MaskedArray):
    394             import numpy.ma.mrecords as mrecords

~/.virtualenvs/tensorflow/lib/python3.5/site-packages/pandas/core/internals/construction.py in init_dict(data, index, columns, dtype)
    210         arrays = [data[k] for k in keys]
    211 
--> 212     return arrays_to_mgr(arrays, data_names, index, columns, dtype=dtype)
    213 
    214 

~/.virtualenvs/tensorflow/lib/python3.5/site-packages/pandas/core/internals/construction.py in arrays_to_mgr(arrays, arr_names, index, columns, dtype)
     49     # figure out the index, if necessary
     50     if index is None:
---> 51         index = extract_index(arrays)
     52     else:
     53         index = ensure_index(index)

~/.virtualenvs/tensorflow/lib/python3.5/site-packages/pandas/core/internals/construction.py in extract_index(data)
    306 
    307         if not indexes and not raw_lengths:
--> 308             raise ValueError('If using all scalar values, you must pass'
    309                              ' an index')
    310 

ValueError: If using all scalar values, you must pass an index

解决办法是添加参数index = [0]。

from datetime import datetime
data_dict = {
    'c_time':datetime.now().strftime('%y-%m-%d %H:%M:%s'),
    'id':56,
    'name':'牛逼',
    'sex':0,
    'qq':154745845,
    'tel':15748586589,
    'period':'第四期',
    'course':'机器学习',
    'is_delete':0
}
data = pd.DataFrame(data=data_dict,index = [0])
     c_time                     course  id     is_delete name    period    qq  \
0  19-06-01 12:41:1559364111   机器学习  56       0      牛逼    第四期  154745845   

   sex          tel  
0    0  15748586589  

 

  • 12
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值