我有一个昂贵的计算,在 pandas 上运行DataFrames
。我想把它记下来。我试图弄清楚,我可以用什么来做这个。
In [16]: id(pd.DataFrame({1: [1,2,3]}))
Out[16]: 52015696
In [17]: id(pd.DataFrame({1: [1,2,3]}))
Out[17]: 52015504
In [18]: id(pd.DataFrame({1: [1,2,3]}))
Out[18]: 52015504
In [19]: id(pd.DataFrame({1: [1,2,3]})) # different results, won't work for my case
Out[19]: 52015440
In [20]: hash(pd.DataFrame({1: [1,2,3]})) # throws
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-20-3bddc0b20163> in <module>()
----> 1 hash(pd.DataFrame({1: [1,2,3]}))
/usr/local/lib/python2.7/dist-packages/pandas/core/generic.pyc in __hash__(self)
52 def __hash__(self):
53 raise TypeError('{0!r} objects are mutable, thus they cannot be'
---> 54 ' hashed'.format(self.__class__.__name__))
55
56 def __unicode__(self):
TypeError: 'DataFrame' objects are mutable, thus they cannot be hashed
鉴于我确定我不会改变DataFrame
那些被记忆的东西,是否可以做我想做的事?