我想知道是否有人在Pandas中遇到过这个问题。基本上,我试图逐元素添加、乘以和除以DataFrame(所有框架都具有相同的索引和列),但是Pandas针对连续执行的同一计算输出不同的结果。
下面显示了一些示例输出的图像。我在下面的代码中使用了.values,因为它是用于显示目的,但是当使用.add()、.mul()或.div()时,不稳定性可能会发生。例如,如果我反复输入N11.add(N00),我通常会得到正确的答案,但偶尔(每4或5次)会得到一个填充为0的DataFrame。
下面显示了一些示例输出的图像。我在下面的代码中使用了.values,因为它是用于显示目的,但是当使用.add()、.mul()或.div()时,不稳定性可能会发生。例如,如果我反复输入N11.add(N00),我通常会得到正确的答案,但偶尔(每4或5次)会得到一个填充为0的DataFrame。
如果有影响的话,我在Windows 10上使用Anaconda分发Pandas 0.17.0(在Spyder 2.3.7上使用Python 2.7.10)。 我正在处理的数据框架很大(6856 x 12511)。是否有人遇到过这个问题?这是已知的问题还是我做错了什么?
tmp = (N11+N00+N01+N10).values
,然后反复执行tmp*tmp
,是否会出现错误?我想知道这是否由于某种时间问题,因为你在同一表达式中两次访问了相同的.values
,可能会与垃圾回收器或其他东西产生交互。 - BrenBarntmp
(tmp = (N11+N00+N10+N01).values
) 全部变成了零,所以我不得不重新输入这行代码,才能得到正确的值。从那里开始,大约经过50次调用后,我就能够毫无问题地使用tmp*tmp
或tmp+tmp
了。 - Arisdawdle