Skip to content

Commit 13d384f

Browse files
authored
TYP/CLN: Use futures annotations in apply (#39026)
1 parent 6e707f2 commit 13d384f

File tree

1 file changed

+25
-23
lines changed

1 file changed

+25
-23
lines changed

pandas/core/apply.py

+25-23
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
from __future__ import annotations
2+
13
import abc
24
import inspect
35
from typing import TYPE_CHECKING, Any, Dict, Iterator, List, Optional, Tuple, Type, cast
@@ -33,7 +35,7 @@
3335

3436

3537
def frame_apply(
36-
obj: "DataFrame",
38+
obj: DataFrame,
3739
how: str,
3840
func: AggFuncType,
3941
axis: Axis = 0,
@@ -69,30 +71,30 @@ class FrameApply(metaclass=abc.ABCMeta):
6971

7072
@property
7173
@abc.abstractmethod
72-
def result_index(self) -> "Index":
74+
def result_index(self) -> Index:
7375
pass
7476

7577
@property
7678
@abc.abstractmethod
77-
def result_columns(self) -> "Index":
79+
def result_columns(self) -> Index:
7880
pass
7981

8082
@property
8183
@abc.abstractmethod
82-
def series_generator(self) -> Iterator["Series"]:
84+
def series_generator(self) -> Iterator[Series]:
8385
pass
8486

8587
@abc.abstractmethod
8688
def wrap_results_for_axis(
87-
self, results: ResType, res_index: "Index"
89+
self, results: ResType, res_index: Index
8890
) -> FrameOrSeriesUnion:
8991
pass
9092

9193
# ---------------------------------------------------------------
9294

9395
def __init__(
9496
self,
95-
obj: "DataFrame",
97+
obj: DataFrame,
9698
how: str,
9799
func,
98100
raw: bool,
@@ -131,27 +133,27 @@ def f(x):
131133
self.f: AggFuncType = f
132134

133135
@property
134-
def res_columns(self) -> "Index":
136+
def res_columns(self) -> Index:
135137
return self.result_columns
136138

137139
@property
138-
def columns(self) -> "Index":
140+
def columns(self) -> Index:
139141
return self.obj.columns
140142

141143
@property
142-
def index(self) -> "Index":
144+
def index(self) -> Index:
143145
return self.obj.index
144146

145147
@cache_readonly
146148
def values(self):
147149
return self.obj.values
148150

149151
@cache_readonly
150-
def dtypes(self) -> "Series":
152+
def dtypes(self) -> Series:
151153
return self.obj.dtypes
152154

153155
@property
154-
def agg_axis(self) -> "Index":
156+
def agg_axis(self) -> Index:
155157
return self.obj._get_agg_axis(self.axis)
156158

157159
def get_result(self):
@@ -311,7 +313,7 @@ def wrapper(*args, **kwargs):
311313
else:
312314
return self.obj._constructor_sliced(result, index=self.agg_axis)
313315

314-
def apply_broadcast(self, target: "DataFrame") -> "DataFrame":
316+
def apply_broadcast(self, target: DataFrame) -> DataFrame:
315317
assert callable(self.f)
316318

317319
result_values = np.empty_like(target.values)
@@ -346,7 +348,7 @@ def apply_standard(self):
346348
# wrap results
347349
return self.wrap_results(results, res_index)
348350

349-
def apply_series_generator(self) -> Tuple[ResType, "Index"]:
351+
def apply_series_generator(self) -> Tuple[ResType, Index]:
350352
assert callable(self.f)
351353

352354
series_gen = self.series_generator
@@ -365,7 +367,7 @@ def apply_series_generator(self) -> Tuple[ResType, "Index"]:
365367

366368
return results, res_index
367369

368-
def wrap_results(self, results: ResType, res_index: "Index") -> FrameOrSeriesUnion:
370+
def wrap_results(self, results: ResType, res_index: Index) -> FrameOrSeriesUnion:
369371
from pandas import Series
370372

371373
# see if we can infer the results
@@ -392,23 +394,23 @@ def wrap_results(self, results: ResType, res_index: "Index") -> FrameOrSeriesUni
392394
class FrameRowApply(FrameApply):
393395
axis = 0
394396

395-
def apply_broadcast(self, target: "DataFrame") -> "DataFrame":
397+
def apply_broadcast(self, target: DataFrame) -> DataFrame:
396398
return super().apply_broadcast(target)
397399

398400
@property
399401
def series_generator(self):
400402
return (self.obj._ixs(i, axis=1) for i in range(len(self.columns)))
401403

402404
@property
403-
def result_index(self) -> "Index":
405+
def result_index(self) -> Index:
404406
return self.columns
405407

406408
@property
407-
def result_columns(self) -> "Index":
409+
def result_columns(self) -> Index:
408410
return self.index
409411

410412
def wrap_results_for_axis(
411-
self, results: ResType, res_index: "Index"
413+
self, results: ResType, res_index: Index
412414
) -> FrameOrSeriesUnion:
413415
""" return the results for the rows """
414416

@@ -452,7 +454,7 @@ def wrap_results_for_axis(
452454
class FrameColumnApply(FrameApply):
453455
axis = 1
454456

455-
def apply_broadcast(self, target: "DataFrame") -> "DataFrame":
457+
def apply_broadcast(self, target: DataFrame) -> DataFrame:
456458
result = super().apply_broadcast(target.T)
457459
return result.T
458460

@@ -483,15 +485,15 @@ def series_generator(self):
483485
yield ser
484486

485487
@property
486-
def result_index(self) -> "Index":
488+
def result_index(self) -> Index:
487489
return self.index
488490

489491
@property
490-
def result_columns(self) -> "Index":
492+
def result_columns(self) -> Index:
491493
return self.columns
492494

493495
def wrap_results_for_axis(
494-
self, results: ResType, res_index: "Index"
496+
self, results: ResType, res_index: Index
495497
) -> FrameOrSeriesUnion:
496498
""" return the results for the columns """
497499
result: FrameOrSeriesUnion
@@ -511,7 +513,7 @@ def wrap_results_for_axis(
511513

512514
return result
513515

514-
def infer_to_same_shape(self, results: ResType, res_index: "Index") -> "DataFrame":
516+
def infer_to_same_shape(self, results: ResType, res_index: Index) -> DataFrame:
515517
""" infer the results to the same shape as the input object """
516518
result = self.obj._constructor(data=results)
517519
result = result.T

0 commit comments

Comments
 (0)