MCPcopy Create free account
hub / github.com/dask/dask / SeriesGroupBy

Class SeriesGroupBy

dask/dataframe/dask_expr/_groupby.py:2200–2315  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2198
2199
2200class SeriesGroupBy(GroupBy):
2201 def __init__(
2202 self,
2203 obj,
2204 by,
2205 group_keys=True,
2206 sort=None,
2207 observed=None,
2208 dropna=None,
2209 slice=None,
2210 ):
2211 # Raise pandas errors if applicable
2212 if isinstance(obj, Series):
2213 if isinstance(by, FrameBase):
2214 obj._meta.groupby(by._meta, **_as_dict("observed", observed))
2215 elif isinstance(by, (list, tuple)) and any(
2216 isinstance(x, FrameBase) for x in by
2217 ):
2218 metas = [x._meta if isinstance(x, FrameBase) else x for x in by]
2219 obj._meta.groupby(metas, **_as_dict("observed", observed))
2220 elif isinstance(by, list):
2221 if len(by) == 0:
2222 raise ValueError("No group keys passed!")
2223
2224 non_series_items = [item for item in by if not isinstance(item, Series)]
2225 obj._meta.groupby(non_series_items, **_as_dict("observed", observed))
2226 else:
2227 obj._meta.groupby(by, **_as_dict("observed", observed))
2228
2229 super().__init__(
2230 obj,
2231 by=by,
2232 group_keys=group_keys,
2233 slice=slice,
2234 observed=observed,
2235 dropna=dropna,
2236 sort=sort,
2237 )
2238
2239 @derived_from(pd.core.groupby.SeriesGroupBy)
2240 def value_counts(self, **kwargs):
2241 return self._single_agg(ValueCounts, **kwargs)
2242
2243 @derived_from(pd.core.groupby.SeriesGroupBy)
2244 def unique(self, **kwargs):
2245 return self._single_agg(Unique, **kwargs)
2246
2247 def idxmin(
2248 self,
2249 split_every=None,
2250 split_out=None,
2251 skipna=True,
2252 numeric_only=False,
2253 **kwargs,
2254 ):
2255 # pandas doesn't support numeric_only here, which is odd
2256 return self._single_agg(
2257 IdxMin,

Callers 2

groupbyMethod · 0.90
__getitem__Method · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected