我有冗长的计算,我重复了很多次。因此,我想使用记忆(诸如jug http://packages.python.org/Jug and joblib http://packages.python.org/joblib/memory.html),与Pandas http://pandas.pydata.org。问题是该包是否能够很好地记忆 Pandas DataFrames 作为方法参数。
有人尝试过吗?还有其他推荐的包/方法可以做到这一点吗?
jug 的作者在这里:jug 工作正常。我刚刚尝试了以下方法并且有效:
from jug import TaskGenerator
import pandas as pd
import numpy as np
@TaskGenerator
def gendata():
return pd.DataFrame(np.arange(343440).reshape((10,-1)))
@TaskGenerator
def compute(x):
return x.mean()
y = compute(gendata())
它并不像它应该的那样有效,因为它只是使用pickle
内部为DataFrame
(尽管它会动态压缩它,所以在内存使用方面并不可怕;只是比它可能的速度慢)。
我愿意接受一项更改,将它们保存为特殊情况,就像 jug 目前对 numpy 数组所做的那样:https://github.com/luispedro/jug/blob/master/jug/backends/file_store.py#L102 https://github.com/luispedro/jug/blob/master/jug/backends/file_store.py#L102
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)