Skip to content

Commit 2393dd6

Browse files
#median can now handle nils. Used removeNils for the implementation of the other methods.
1 parent f3527f5 commit 2393dd6

2 files changed

Lines changed: 25 additions & 6 deletions

File tree

src/DataFrame-Tests/DataSeriesTest.class.st

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1600,6 +1600,18 @@ DataSeriesTest >> testMaxWithNils [
16001600
self assert: #( 1 nil 3 nil ) asDataSeries max equals: 3
16011601
]
16021602

1603+
{ #category : #tests }
1604+
DataSeriesTest >> testMedian [
1605+
1606+
self assert: #( 1 2 3 4 5 ) asDataSeries median equals: 3
1607+
]
1608+
1609+
{ #category : #tests }
1610+
DataSeriesTest >> testMedianWithNils [
1611+
1612+
self assert: #( 1 2 nil 3 4 nil 5 ) asDataSeries median equals: 3
1613+
]
1614+
16031615
{ #category : #'tests - statistics' }
16041616
DataSeriesTest >> testMin [
16051617

src/DataFrame/DataSeries.class.st

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -167,11 +167,11 @@ DataSeries >> atIndex: aNumber transform: aBlock [
167167
self at: key transform: aBlock
168168
]
169169

170-
{ #category : #information }
170+
{ #category : #statistics }
171171
DataSeries >> average [
172-
"We do not count the nils"
172+
"Returns the average without including nils"
173173

174-
^ (self values reject: #isNil) average
174+
^ self removeNils values average
175175
]
176176

177177
{ #category : #'data-types' }
@@ -524,14 +524,21 @@ DataSeries >> makeNumerical [
524524
DataSeries >> max [
525525
"Returns the maximum value of the dataseries without including nils"
526526

527-
^ (self values reject: #isNil) max
527+
^ self removeNils values max
528+
]
529+
530+
{ #category : #statistics }
531+
DataSeries >> median [
532+
"Returns the median without including nils"
533+
534+
^ self removeNils values median
528535
]
529536

530537
{ #category : #statistics }
531538
DataSeries >> min [
532539
"Returns the minimum value of the dataseries without including nils"
533540

534-
^ (self values reject: #isNil) min
541+
^ self removeNils values min
535542
]
536543

537544
{ #category : #accessing }
@@ -775,7 +782,7 @@ DataSeries >> sortedDescending [
775782
DataSeries >> stdev [
776783
"Returns the standard deviation of the dataseries without including nils"
777784

778-
^ (self values reject: #isNil) stdev
785+
^ self removeNils values stdev
779786
]
780787

781788
{ #category : #transformation }

0 commit comments

Comments
 (0)