Skip to content

Commit f271d1b

Browse files
committed
dataclass
1 parent 81319e2 commit f271d1b

File tree

1 file changed

+10
-15
lines changed

1 file changed

+10
-15
lines changed

xarray/core/groupby.py

Lines changed: 10 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import warnings
55
from abc import ABC, abstractmethod
66
from collections.abc import Hashable, Iterator, Mapping, Sequence
7+
from dataclasses import dataclass
78
from typing import (
89
TYPE_CHECKING,
910
Any,
@@ -513,10 +514,12 @@ class Grouper(ABC):
513514
pass
514515

515516

517+
@dataclass
516518
class UniqueGrouper(Grouper):
517519
pass
518520

519521

522+
@dataclass(init=False)
520523
class BinGrouper(Grouper):
521524
def __init__(self, bins, cut_kwargs: Mapping | None):
522525
if duck_array_ops.isnull(bins).all():
@@ -529,22 +532,14 @@ def __init__(self, bins, cut_kwargs: Mapping | None):
529532
self.cut_kwargs = cut_kwargs
530533

531534

535+
@dataclass
532536
class TimeResampleGrouper(Grouper):
533-
def __init__(
534-
self,
535-
freq: str,
536-
closed: SideOptions | None,
537-
label: SideOptions | None,
538-
origin: str | DatetimeLike,
539-
offset: pd.Timedelta | datetime.timedelta | str | None,
540-
loffset: datetime.timedelta | str | None,
541-
):
542-
self.freq = freq
543-
self.closed = closed
544-
self.label = label
545-
self.origin = origin
546-
self.offset = offset
547-
self.loffset = loffset
537+
freq: str
538+
closed: SideOptions | None
539+
label: SideOptions | None
540+
origin: str | DatetimeLike | None
541+
offset: pd.Timedelta | datetime.timedelta | str | None
542+
loffset: datetime.timedelta | str | None
548543

549544

550545
def _validate_groupby_squeeze(squeeze):

0 commit comments

Comments
 (0)