我用标量对pandas数据的一列进行求和,结果是一列中充满了零。奇怪的是,有时它会返回零,有时它不会。如果有人告诉我,我不会相信,这就是为什么我制作了一个视频显示这个结果:
https://dl.dropboxusercontent.com/u/15853805/pandas%20bug.mp4
有人能解释一下这个黑魔法吗?我正在失去对pandas的信任,我真的需要它来发挥作用。
通过这段代码,我可以得到一个类似的错误:
import pandas as pd
import numpy as np
from pdb import set_trace as pdb
for _ in xrange(100):
data = np.random.randint(1,100000,1000000)
df = pd.DataFrame(data,columns=['column'])
scalar = np.random.randint(1,100000)
df.column += scalar
if df.column.max()==0:
pdb()我的数据变量会满是零。是内存问题吗?如果我的数据较小,则不会发生这种情况,但我需要以安全的方式处理大数据!
>> print pandas.__version__
0.17.1
>> print numpy.__version__
1.10.1
Python 2.7.11 |Anaconda 2.4.1 (64-bit)发布于 2016-01-28 14:05:01
问题在于我版本的numexpr=2.4.4更新到numexpr=2.4.6解决了这个问题。Github杂志:https://github.com/pydata/pandas/issues/12167
https://stackoverflow.com/questions/35057969
复制相似问题