如何在 Ubuntu 上修复 Dataframe Python 中的回溯问题

马丁

我尝试在 Python 中使用 DataFrame。命令是:

import pandas as pd
from numpy.random import uniform
df = pd.DataFrame(uniform(0,1,(3,4)),
                  index = 'A B C D'.split(),
                  columns='E F G H'.split())

但不幸的是我收到以下错误。有人知道如何解决这个问题吗?

-------------------------------------------------- ------------------------- ValueError Traceback(最近一次调用最后一次)~/anaconda3/lib/python3.7/site-packages/pandas/core /internals/managers.py in create_block_manager_from_blocks(blocks, axes) 1680 -> 1681 mgr = BlockManager(blocks, axes) 1682 mgr._consolidate_inplace()

~/anaconda3/lib/python3.7/site-packages/pandas/core/internals/managers.py in init (self, blocks, axes, do_integrity_check) 142 if do_integrity_check: --> 143 self._verify_integrity() 144

~/anaconda3/lib/python3.7/site-packages/pandas/core/internals/managers.py in _verify_integrity(self) 344 if block._verify_integrity 和 block.shape[1:] != mgr_shape[1:]: - -> 345 Construction_error(tot_items, block.shape[1:], self.axes) 346 if len(self.items) != tot_items:

〜/anaconda3/lib/python3.7/site-packages/pandas/core/internals/managers.py in building_error(tot_items, block_shape, axes, e) 1718
raise ValueError( -> 1719 “传递值的形状是 {0} , 索引意味着 {1}".format(passed, hidden) 1720 )

ValueError:传递值的形状是 (5, 4),索引意味着 (4, 4)

在处理上述异常的过程中,又发生了一个异常:

ValueError Traceback(最近一次调用最后一次)在 1 df = pd.DataFrame(uniform(0,1,(5,4)), 2 index = 'ABC D'.split(), ----> 3 columns=' WXY Z'.split())

~/anaconda3/lib/python3.7/site-packages/pandas/core/frame.py in init (self, data, index, columns, dtype, copy) 438 mgr = init_dict({data.name: data}, index , columns, dtype=dtype) 439 else: --> 440 mgr = init_ndarray(data, index, columns, dtype=dtype, copy=copy) 441 442 # 对于数据是类似列表的,或可迭代的(会消耗到列表中)

~/anaconda3/lib/python3.7/site-packages/pandas/core/internals/construction.py in init_ndarray(values, index, columns, dtype, copy) 211 block_values = [values] 212 --> 213 return create_block_manager_from_blocks(块值,[列,索引])214 215

~/anaconda3/lib/python3.7/site-packages/pandas/core/internals/managers.py in create_block_manager_from_blocks(blocks, axes) 1686
blocks = [getattr(b, "values", b) for b in blocks] 1687
tot_items = sum(b.shape[0] for b in blocks) -> 1688 Construction_error(tot_items, blocks[0].shape[1:], axes, e) 1689 1690

~/anaconda3/lib/python3.7/site-packages/pandas/core/internals/managers.py in building_error(tot_items, block_shape, axes, e) 1717
raise ValueError("指定索引的空数据传递。") 1718 raise ValueError(-> 1719“传递值的形状是{0},索引意味着{1}”。格式(通过,隐含)1720)1721

ValueError:传递值的形状是 (5, 4),索引意味着 (4, 4)

讨厌__

您正在创建一个 3x4 矩阵,但提供 4 个行索引。仅提供 3 行到您的index.

import pandas as pd
from numpy.random import uniform
df = pd.DataFrame(uniform(0,1,(3,4)),
              index = 'A B C'.split(),
              columns='E F G H'.split())

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章