小编Rex*_*x D的帖子

无法解开从 Pandas DataFrame 继承的类

我正在尝试腌制从 pandas.DataFrame 继承的对象。我添加到数据帧的属性在酸洗/解酸过程中消失了。有一些明显的解决方法,但是......我做错了什么,还是这是一个错误?

import pandas as pd
import pickle

class Foo(pd.DataFrame):
    def __init__(self,tag,df):
        super().__init__(df)
        self._tag = tag

foo = Foo('mytag', pd.DataFrame({'a':[1,2,3],'b':[4,5,6]}))
print(foo)
print(foo._tag)

print("-------------------------------------")

with open("foo.pkl", "wb") as pkl:
    pickle.dump(foo, pkl)

with open("foo.pkl", "rb") as pkl:
    foo1 = pickle.load(pkl)

print(type(foo1))
print(foo1)
print(foo1._tag)
Run Code Online (Sandbox Code Playgroud)

这是我的输出:

   a  b
0  1  4
1  2  5
2  3  6
mytag
-------------------------------------
<class '__main__.Foo'>
   a  b
0  1  4
1  2  5
2  3  6
---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-20-1e7e89e199c8> in <module>
     21 …
Run Code Online (Sandbox Code Playgroud)

python pickle pandas

5
推荐指数
1
解决办法
460
查看次数

标签 统计

pandas ×1

pickle ×1

python ×1