PyPackage01---Pandas09_从字典创建dataframe

Intro

很简单的需求,不多说,直接看代码

import pandas as pd  
pd.__version__
'0.23.4'

Demo

dict1 = {"x1": 1, "x2": 2, "x3": 3}
pd.DataFrame(dict1)
---------------------------------------------------------------------------

ValueError                                Traceback (most recent call last)

<ipython-input-5-6aaa44730903> in <module>()
      1 dict1 = {"x1": 1, "x2": 2, "x3": 3}
----> 2 pd.DataFrame(dict1)


D:\code\anaconda\lib\site-packages\pandas\core\frame.py in __init__(self, data, index, columns, dtype, copy)
    346                                  dtype=dtype, copy=copy)
    347         elif isinstance(data, dict):
--> 348             mgr = self._init_dict(data, index, columns, dtype=dtype)
    349         elif isinstance(data, ma.MaskedArray):
    350             import numpy.ma.mrecords as mrecords


D:\code\anaconda\lib\site-packages\pandas\core\frame.py in _init_dict(self, data, index, columns, dtype)
    457             arrays = [data[k] for k in keys]
    458 
--> 459         return _arrays_to_mgr(arrays, data_names, index, columns, dtype=dtype)
    460 
    461     def _init_ndarray(self, values, index, columns, dtype=None, copy=False):


D:\code\anaconda\lib\site-packages\pandas\core\frame.py in _arrays_to_mgr(arrays, arr_names, index, columns, dtype)
   7354     # figure out the index, if necessary
   7355     if index is None:
-> 7356         index = extract_index(arrays)
   7357 
   7358     # don't force copy because getting jammed in an ndarray anyway


D:\code\anaconda\lib\site-packages\pandas\core\frame.py in extract_index(data)
   7391 
   7392         if not indexes and not raw_lengths:
-> 7393             raise ValueError('If using all scalar values, you must pass'
   7394                              ' an index')
   7395 


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

卡卡报了一堆错,这个错误可以通过修改dict解决,即value改成list

dict2 = {"x1": [1], "x2": [2], "x3": [3]}
pd.DataFrame(dict2)
x1x2x3
0123

如果不修改原始数据咋整

dict1 = {"x1": 1, "x2": 2, "x3": 3}
pd.DataFrame([dict1])
x1x2x3
0123

Ref

[1] https://stackoverflow.com/questions/18837262/convert-python-dict-into-a-dataframe

                                2020-05-18 于南京市江宁区九龙湖

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值