|
2 | 2 | Base and utility classes for pandas objects.
|
3 | 3 | """
|
4 | 4 | import builtins
|
5 |
| -from collections import OrderedDict |
6 | 5 | import textwrap
|
7 | 6 | from typing import Dict, FrozenSet, List, Optional
|
8 | 7 |
|
@@ -141,39 +140,35 @@ class SelectionMixin:
|
141 | 140 | _internal_names = ["_cache", "__setstate__"]
|
142 | 141 | _internal_names_set = set(_internal_names)
|
143 | 142 |
|
144 |
| - _builtin_table = OrderedDict( |
145 |
| - ((builtins.sum, np.sum), (builtins.max, np.max), (builtins.min, np.min)) |
146 |
| - ) |
147 |
| - |
148 |
| - _cython_table = OrderedDict( |
149 |
| - ( |
150 |
| - (builtins.sum, "sum"), |
151 |
| - (builtins.max, "max"), |
152 |
| - (builtins.min, "min"), |
153 |
| - (np.all, "all"), |
154 |
| - (np.any, "any"), |
155 |
| - (np.sum, "sum"), |
156 |
| - (np.nansum, "sum"), |
157 |
| - (np.mean, "mean"), |
158 |
| - (np.nanmean, "mean"), |
159 |
| - (np.prod, "prod"), |
160 |
| - (np.nanprod, "prod"), |
161 |
| - (np.std, "std"), |
162 |
| - (np.nanstd, "std"), |
163 |
| - (np.var, "var"), |
164 |
| - (np.nanvar, "var"), |
165 |
| - (np.median, "median"), |
166 |
| - (np.nanmedian, "median"), |
167 |
| - (np.max, "max"), |
168 |
| - (np.nanmax, "max"), |
169 |
| - (np.min, "min"), |
170 |
| - (np.nanmin, "min"), |
171 |
| - (np.cumprod, "cumprod"), |
172 |
| - (np.nancumprod, "cumprod"), |
173 |
| - (np.cumsum, "cumsum"), |
174 |
| - (np.nancumsum, "cumsum"), |
175 |
| - ) |
176 |
| - ) |
| 143 | + _builtin_table = {builtins.sum: np.sum, builtins.max: np.max, builtins.min: np.min} |
| 144 | + |
| 145 | + _cython_table = { |
| 146 | + builtins.sum: "sum", |
| 147 | + builtins.max: "max", |
| 148 | + builtins.min: "min", |
| 149 | + np.all: "all", |
| 150 | + np.any: "any", |
| 151 | + np.sum: "sum", |
| 152 | + np.nansum: "sum", |
| 153 | + np.mean: "mean", |
| 154 | + np.nanmean: "mean", |
| 155 | + np.prod: "prod", |
| 156 | + np.nanprod: "prod", |
| 157 | + np.std: "std", |
| 158 | + np.nanstd: "std", |
| 159 | + np.var: "var", |
| 160 | + np.nanvar: "var", |
| 161 | + np.median: "median", |
| 162 | + np.nanmedian: "median", |
| 163 | + np.max: "max", |
| 164 | + np.nanmax: "max", |
| 165 | + np.min: "min", |
| 166 | + np.nanmin: "min", |
| 167 | + np.cumprod: "cumprod", |
| 168 | + np.nancumprod: "cumprod", |
| 169 | + np.cumsum: "cumsum", |
| 170 | + np.nancumsum: "cumsum", |
| 171 | + } |
177 | 172 |
|
178 | 173 | @property
|
179 | 174 | def _selection_name(self):
|
@@ -328,7 +323,7 @@ def _aggregate(self, arg, *args, **kwargs):
|
328 | 323 | # eg. {'A' : ['mean']}, normalize all to
|
329 | 324 | # be list-likes
|
330 | 325 | if any(is_aggregator(x) for x in arg.values()):
|
331 |
| - new_arg = OrderedDict() |
| 326 | + new_arg = {} |
332 | 327 | for k, v in arg.items():
|
333 | 328 | if not isinstance(v, (tuple, list, dict)):
|
334 | 329 | new_arg[k] = [v]
|
@@ -386,16 +381,16 @@ def _agg_2dim(name, how):
|
386 | 381 | def _agg(arg, func):
|
387 | 382 | """
|
388 | 383 | run the aggregations over the arg with func
|
389 |
| - return an OrderedDict |
| 384 | + return a dict |
390 | 385 | """
|
391 |
| - result = OrderedDict() |
| 386 | + result = {} |
392 | 387 | for fname, agg_how in arg.items():
|
393 | 388 | result[fname] = func(fname, agg_how)
|
394 | 389 | return result
|
395 | 390 |
|
396 | 391 | # set the final keys
|
397 | 392 | keys = list(arg.keys())
|
398 |
| - result = OrderedDict() |
| 393 | + result = {} |
399 | 394 |
|
400 | 395 | if self._selection is not None:
|
401 | 396 |
|
|
0 commit comments