首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >pivot_table错误- InvalidOperation:[<class‘>小数.康复手术>]

pivot_table错误- InvalidOperation:[<class‘>小数.康复手术>]
EN

Stack Overflow用户
提问于 2015-11-29 03:54:57
回答 1查看 170关注 0票数 0

上述错误是从pivot_table操作中引发的,变量设置为列分组(如果重要的话,它在format.py模块中失败)

代码语言:javascript
复制
/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,而不是在那个时候失败。

但经过一天的探索,我不知所措。

任何关于为什么会出现上述错误的想法都是非常感谢的(如果是这样的话,它将帮助我跟踪数据问题)。

谢谢克里斯

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-12-22 12:08:38

最简单的解决方案是通过以下方法重置熊猫格式选项

代码语言:javascript
复制
pd.set_option('display.float_format', None)

进一步详细信息

我也遇到过同样的问题。作为一种解决方法,您还可以过滤数据,这是旋转,以避免NaNs的结果。

我的问题与pd.set_eng_float_format(2, True)的使用有关。没有这一点,所有的枢轴都能很好地工作。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33979244

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档