Skip to content

Commit 899aad1

Browse files
committed
Add "median" operation (only for numbers)
1 parent ccf06c0 commit 899aad1

File tree

2 files changed

+5
-1
lines changed

2 files changed

+5
-1
lines changed

groupby.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -189,6 +189,7 @@ class Operation(Enum):
189189
NUNIQUE = "nunique"
190190
SUM = "sum"
191191
MEAN = "mean"
192+
MEDIAN = "median"
192193
MIN = "min"
193194
MAX = "max"
194195
FIRST = "first"
@@ -197,7 +198,7 @@ def needs_column(self):
197198
return self != self.SIZE
198199

199200
def needs_numeric_column(self):
200-
return self in {self.SUM, self.MEAN}
201+
return self in {self.SUM, self.MEAN, self.MEDIAN}
201202

202203
def default_outname(self, colname):
203204
if self == self.SIZE:
@@ -207,6 +208,7 @@ def default_outname(self, colname):
207208
self.NUNIQUE: "Unique count",
208209
self.SUM: "Sum",
209210
self.MEAN: "Average",
211+
self.MEDIAN: "Median",
210212
self.MIN: "Minimum",
211213
self.MAX: "Maximum",
212214
self.FIRST: "First",

test_groupby.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -318,6 +318,7 @@ def test_aggregate_numbers(self):
318318
Aggregation(Operation.NUNIQUE, "B", "nunique"),
319319
Aggregation(Operation.SUM, "B", "sum"),
320320
Aggregation(Operation.MEAN, "B", "mean"),
321+
Aggregation(Operation.MEDIAN, "B", "median"),
321322
Aggregation(Operation.MIN, "B", "min"),
322323
Aggregation(Operation.MAX, "B", "max"),
323324
Aggregation(Operation.FIRST, "B", "first"),
@@ -332,6 +333,7 @@ def test_aggregate_numbers(self):
332333
"nunique": [1, 2],
333334
"sum": [2, 7],
334335
"mean": [2, 7 / 3],
336+
"median": [2, 1],
335337
"min": [2, 1],
336338
"max": [2, 5],
337339
"first": [2, 1],

0 commit comments

Comments
 (0)