Skip to content

Commit 85d3746

Browse files
Runnable examples for DataSeries replacing methods.
1 parent a122339 commit 85d3746

1 file changed

Lines changed: 26 additions & 2 deletions

File tree

src/DataFrame/DataSeries.class.st

Lines changed: 26 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -778,13 +778,22 @@ DataSeries >> removeNils [
778778
DataSeries >> replaceNilsWith: anObject [
779779
"Replaces nils inplace with anObject"
780780

781-
self withIndexDo: [ :ele :index | ele ifNil: [ self atIndex: index put: anObject ] ]
781+
"(#(a 'nil' nil d nil) asDataSeries replaceNilsWith: #b) >>> (#(a 'nil' b d b) asDataSeries)"
782+
783+
"(#(1 0 nil 3 nil) asDataSeries replaceNilsWith: 7) >>> (#(1 0 7 3 7) asDataSeries)"
784+
785+
self withIndexDo: [ :ele :index |
786+
ele ifNil: [ self atIndex: index put: anObject ] ]
782787
]
783788

784789
{ #category : #replacing }
785790
DataSeries >> replaceNilsWithAverage [
786791
"Replaces nils inplace with average"
787792

793+
"(#(1 2 nil 3 nil) asDataSeries replaceNilsWithAverage) >>> (#(1 2 2 3 2) asDataSeries)"
794+
795+
"(#(3 6 2 9 nil) asDataSeries replaceNilsWithAverage) >>> (#(3 6 2 9 5) asDataSeries)"
796+
788797
| mean |
789798
mean := (self select: [ :ele | ele isNotNil ]) average.
790799
self replaceNilsWith: mean
@@ -794,6 +803,10 @@ DataSeries >> replaceNilsWithAverage [
794803
DataSeries >> replaceNilsWithMedian [
795804
"Replaces nils inplace with median"
796805

806+
"(#(1 2 nil 3) asDataSeries replaceNilsWithMedian) >>> (#(1 2 2 3) asDataSeries)"
807+
808+
"(#(3 7 nil 9 nil) asDataSeries replaceNilsWithMedian) >>> (#(3 7 7 9 7) asDataSeries)"
809+
797810
| median |
798811
median := (self select: [ :ele | ele isNotNil ]) median.
799812
self replaceNilsWith: median
@@ -803,16 +816,23 @@ DataSeries >> replaceNilsWithMedian [
803816
DataSeries >> replaceNilsWithMode [
804817
"Replaces nils inplace with mode"
805818

819+
"(#(1 2 1 3 nil) asDataSeries replaceNilsWithMode) >>> (#(1 2 1 3 1) asDataSeries)"
820+
821+
"(#(a a a b nil) asDataSeries replaceNilsWithMode) >>> (#(a a a b a) asDataSeries)"
822+
806823
| mode |
807824
mode := (self select: [ :ele | ele isNotNil ]) mode.
808825
self replaceNilsWith: mode
809826
]
810827

811828
{ #category : #replacing }
812829
DataSeries >> replaceNilsWithPreviousValue [
813-
814830
"Replaces nils inplace with previous non-nil value"
815831

832+
"(#(nil 2 nil 3 nil) asDataSeries replaceNilsWithPreviousValue) >>> (#(nil 2 2 3 3) asDataSeries)"
833+
834+
"(#(a nil b c nil) asDataSeries replaceNilsWithPreviousValue) >>> (#(a a b c c) asDataSeries)"
835+
816836
| value |
817837
self withIndexDo: [ :ele :index |
818838
index > 1 ifTrue: [ ele ifNil: [ self atIndex: index put: value ] ].
@@ -823,6 +843,10 @@ DataSeries >> replaceNilsWithPreviousValue [
823843
DataSeries >> replaceNilsWithZeros [
824844
"Replaces nils inplace with zero"
825845

846+
"(#(1 2 nil 3 nil) asDataSeries replaceNilsWithZeros) >>> (#(1 2 0 3 0) asDataSeries)"
847+
848+
"(#(a b c d nil) asDataSeries replaceNilsWithZeros) >>> (#(a b c d 0) asDataSeries)"
849+
826850
self replaceNilsWith: 0
827851
]
828852

0 commit comments

Comments
 (0)