Skip to content

Commit eae57d0

Browse files
committed
Provide new object for copy routines requiring info. on its destination.
1 parent 1ca0f5e commit eae57d0

File tree

1 file changed

+22
-30
lines changed

1 file changed

+22
-30
lines changed

pandas/tests/generic/test_attrs_deepcopy_destination.py

Lines changed: 22 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ def __init__(self, owner, *, cols=None):
2424
assert isinstance(owner, pd.core.generic.NDFrame)
2525
self._owner_ref = weakref.ref(owner)
2626
super(StatsSummary, self).__init__(
27-
dict(
27+
{
2828
(column, type(self)(owner[column]))
2929
for column in (
3030
list(getattr(owner, "columns", {}))
@@ -35,35 +35,27 @@ def __init__(self, owner, *, cols=None):
3535
or {}
3636
)
3737
if owner[column].dtype.kind in "if"
38-
)
38+
}
3939
)
4040
pass
4141

4242
@classmethod
4343
def stats(cls):
44-
return dict(
45-
cummin=lambda series: series.cummin().sum(),
46-
cummax=lambda series: series.cummax().sum(),
47-
kurtosis=lambda series: series.kurt(),
48-
median=lambda series: series.median(),
49-
)
44+
return {
45+
"cummin": lambda series: series.cummin().sum(),
46+
"cummax": lambda series: series.cummax().sum(),
47+
"kurtosis": lambda series: series.kurt(),
48+
"median": lambda series: series.median(),
49+
}
5050

5151
@classmethod
5252
def gauge(cls, obj, columns):
53-
return dict(
54-
(
55-
(
56-
column,
57-
dict(
58-
[
59-
[name, function(obj[column])]
60-
for name, function in cls.stats().items()
61-
]
62-
),
63-
)
64-
for column, dtyp in columns
65-
)
66-
)
53+
return {
54+
column: {
55+
name: function(obj[column]) for name, function in cls.stats().items()
56+
}
57+
for column, dtyp in columns
58+
}
6759

6860
@property
6961
def owner(self):
@@ -101,9 +93,7 @@ def __init__(self, owner, *, cols=None):
10193
assert isinstance(owner, pd.core.generic.NDFrame)
10294
self._owner_ref = weakref.ref(owner)
10395
super(FrozenHeadTail, self).__init__(
104-
dict(
105-
(name, function(self.owner)) for name, function in self.stats().items()
106-
)
96+
{name: function(self.owner) for name, function in self.stats().items()}
10797
)
10898
pass
10999

@@ -113,18 +103,18 @@ def owner(self):
113103

114104
@classmethod
115105
def stats(cls):
116-
return dict(
117-
head=lambda x: pd.DataFrame(
106+
return {
107+
"head": lambda x: pd.DataFrame(
118108
x.values[:2],
119109
columns=list(getattr(x, "columns", [])) or [x.name],
120110
index=x.index[:2],
121111
),
122-
tail=lambda x: pd.DataFrame(
112+
"tail": lambda x: pd.DataFrame(
123113
x.values[-2:],
124114
columns=list(getattr(x, "columns", [])) or [x.name],
125115
index=x.index[-2:],
126116
),
127-
)
117+
}
128118

129119
def __eq__(self, other) -> bool:
130120
try:
@@ -296,7 +286,9 @@ def test_attrs_headtail_probe_rebinds_on_concat_have_same_attrs():
296286
# Sample Data
297287
dset = np.arange(8, dtype=float)
298288
np.random.shuffle(dset)
299-
df = pd.DataFrame(dict(foo=dset * 2, bar=dset * 4, baz=dset * 8, qux=dset * 16))
289+
df = pd.DataFrame(
290+
{"foo": dset * 2, "bar": dset * 4, "baz": dset * 8, "qux": dset * 16}
291+
)
300292

301293
df.attrs["preview"] = FrozenHeadTail(df)
302294

0 commit comments

Comments
 (0)