上述错误是从pivot_table操作中引发的,变量设置为列分组(如果重要的话,它在format.py模块中失败)
/anaconda/lib/python3.4/site-packages/pandas/core/format.py in __call__(self, num)
2477 sign = 1
2478
-> 2479 if dnum < 0: # pragma: no cover
2480 sign = -1
2481 dnum = -dnum(熊猫v17.1)
如果我通过numpy为问题变量创建随机值,就没有错误。
虽然我怀疑这是pivot_table函数的边缘情况,但我不知道是什么导致了数据端的问题:
( i)变量是来自一个中等大小的整数序列的第一个整数(例如2从246个)(通过df.var.str)。
( ii) pd.unique(df.var)返回预期的1-9值
( iii)没有NaNs: notnull(df.var).all()返回True
( iv) dtype是int64 (或者如果整数被转换为字符串-或设置为标记这些选项仍然失败与相同的错误)
(5)使用周期索引--这构成了枢轴表的索引。
(六)聚合是“计数”。
创建另一个具有这些特征的随机值的变量(来自于numpy的random.randint的1-9值)-- pivot_table调用工作。如果我把它转换成字符串,或者使用标签,它仍然有效。
类似地,我已经玩了一段时间的数据集-通常在序列中的其他位置上没有问题。但是今天--首先是引起了问题。
可能,这是一个数据问题--但是为什么pivot_table不返回空的单元格或NaNs,而不是在那个时候失败。
但经过一天的探索,我不知所措。
任何关于为什么会出现上述错误的想法都是非常感谢的(如果是这样的话,它将帮助我跟踪数据问题)。
谢谢克里斯
发布于 2015-12-22 12:08:38
最简单的解决方案是通过以下方法重置熊猫格式选项
pd.set_option('display.float_format', None)进一步详细信息
我也遇到过同样的问题。作为一种解决方法,您还可以过滤数据,这是旋转,以避免NaNs的结果。
我的问题与pd.set_eng_float_format(2, True)的使用有关。没有这一点,所有的枢轴都能很好地工作。
https://stackoverflow.com/questions/33979244
复制相似问题