Pandas sum列与标量结果为零

时间:2016-01-28 09:48:20

标签: python pandas numpy bigdata

我正在使用标量对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)

1 个答案:

答案 0 :(得分:0)

问题在于我的numexpr=2.4.6版本更新到{{1}}修复了问题。 Github问题:https://github.com/pydata/pandas/issues/12167