Skip to content

Commit 766a2f2

Browse files
committed
pickle compat
1 parent 3cc4765 commit 766a2f2

File tree

2 files changed

+26
-3
lines changed

2 files changed

+26
-3
lines changed

Diff for: pandas/compat/pickle_compat.py

+26-3
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import copy
66
import pickle as pkl
77
import sys
8+
from typing import Any
89

910
from pandas import Index
1011

@@ -54,6 +55,20 @@ def load_reduce(self):
5455
raise
5556

5657

58+
class _LoadSparseSeries:
59+
def __new__(cls) -> Any:
60+
from pandas import Series
61+
62+
return Series()
63+
64+
65+
class _LoadSparseFrame:
66+
def __new__(cls) -> Any:
67+
from pandas import DataFrame
68+
69+
return DataFrame()
70+
71+
5772
# If classes are moved, provide compat here.
5873
_class_locations_map = {
5974
("pandas.core.sparse.array", "SparseArray"): ("pandas.core.arrays", "SparseArray"),
@@ -101,12 +116,12 @@ def load_reduce(self):
101116
"SparseArray",
102117
),
103118
("pandas.sparse.series", "SparseSeries"): (
104-
"pandas.core.sparse.series",
105-
"SparseSeries",
119+
"pandas.compat.pickle_compat",
120+
"_LoadSparseSeries",
106121
),
107122
("pandas.sparse.frame", "SparseDataFrame"): (
108123
"pandas.core.sparse.frame",
109-
"SparseDataFrame",
124+
"_LoadSparseFrame",
110125
),
111126
("pandas.indexes.base", "_new_Index"): ("pandas.core.indexes.base", "_new_Index"),
112127
("pandas.indexes.base", "Index"): ("pandas.core.indexes.base", "Index"),
@@ -139,6 +154,14 @@ def load_reduce(self):
139154
"pandas.core.indexes.numeric",
140155
"Float64Index",
141156
),
157+
("pandas.core.sparse.series", "SparseSeries"): (
158+
"pandas.compat.pickle_compat",
159+
"_LoadSparseSeries",
160+
),
161+
("pandas.core.sparse.frame", "SparseDataFrame"): (
162+
"pandas.compat.pickle_compat",
163+
"_LoadSparseFrame",
164+
),
142165
}
143166

144167

Binary file not shown.

0 commit comments

Comments
 (0)