@@ -62,10 +62,10 @@ describe("groupby", function () {
6262 let df = new DataFrame ( data , { columns : cols } )
6363 let group_df = df . groupby ( [ "A" , "B" ] ) ;
6464 let new_data = [
65- [ '1' , '2' , 1 ] ,
66- [ '4' , '5' , 1 ] ,
67- [ '20' , '30' , 1 ] ,
68- [ '39' , '89' , 1 ]
65+ [ 1 , 2 , 1 ] ,
66+ [ 4 , 5 , 1 ] ,
67+ [ 20 , 30 , 1 ] ,
68+ [ 39 , 89 , 1 ]
6969 ]
7070
7171 assert . deepEqual ( group_df . col ( [ "C" ] ) . count ( ) . values , new_data ) ;
@@ -77,10 +77,10 @@ describe("groupby", function () {
7777 let df = new DataFrame ( data , { columns : cols } )
7878 let group_df = df . groupby ( [ "A" , "B" ] ) ;
7979 let new_data = [
80- [ '1' , '2' , 3 ] ,
81- [ '4' , '5' , 6 ] ,
82- [ '20' , '30' , 40 ] ,
83- [ '39' , '89' , 78 ]
80+ [ 1 , 2 , 3 ] ,
81+ [ 4 , 5 , 6 ] ,
82+ [ 20 , 30 , 40 ] ,
83+ [ 39 , 89 , 78 ]
8484 ]
8585 assert . deepEqual ( group_df . col ( [ "C" ] ) . sum ( ) . values , new_data ) ;
8686 } ) ;
@@ -93,10 +93,10 @@ describe("groupby", function () {
9393 let group_df = df . groupby ( [ "A" , "B" ] ) ;
9494
9595 let new_data = [
96- [ '1' , '2' , 2 , 3 ] ,
97- [ '1' , '5' , 5 , 6 ] ,
98- [ '20' , '30' , 30 , 40 ] ,
99- [ '39' , '89' , 89 , 78 ]
96+ [ 1 , 2 , 2 , 3 ] ,
97+ [ 1 , 5 , 5 , 6 ] ,
98+ [ 20 , 30 , 30 , 40 ] ,
99+ [ 39 , 89 , 89 , 78 ]
100100 ]
101101
102102 assert . deepEqual ( group_df . col ( [ "B" , "C" ] ) . sum ( ) . values , new_data ) ;
@@ -109,14 +109,76 @@ describe("groupby", function () {
109109 let df = new DataFrame ( data , { columns : cols } )
110110 let group_df = df . groupby ( [ "A" , "B" ] ) ;
111111 let new_data = [
112- [ '1' , '2' , 2 , 1 ] ,
113- [ '4' , '5' , 5 , 1 ] ,
114- [ '20' , '30' , 30 , 1 ] ,
115- [ '39' , '89' , 89 , 1 ]
112+ [ 1 , 2 , 2 , 1 ] ,
113+ [ 4 , 5 , 5 , 1 ] ,
114+ [ 20 , 30 , 30 , 1 ] ,
115+ [ 39 , 89 , 89 , 1 ]
116116 ]
117117
118118 assert . deepEqual ( group_df . agg ( { "B" : "mean" , "C" : "count" } ) . values , new_data ) ;
119119 } ) ;
120+ it ( "cummulative sum for groupby" , function ( ) {
120121
122+ let data = [ [ 1 , 2 , 3 ] , [ 4 , 5 , 6 ] , [ 20 , 30 , 40 ] , [ 39 , 89 , 78 ] ]
123+ let cols = [ "A" , "B" , "C" ]
124+ let df = new DataFrame ( data , { columns : cols } )
125+ let group_df = df . groupby ( [ "A" , "B" ] ) ;
126+ let new_data = [
127+ [ 1 , 2 , 2 , 3 ] ,
128+ [ 4 , 5 , 5 , 6 ] ,
129+ [ 20 , 30 , 30 , 40 ] ,
130+ [ 39 , 89 , 89 , 78 ]
131+ ]
132+
133+ assert . deepEqual ( group_df . col ( [ "B" , "C" ] ) . cumsum ( ) . values , new_data ) ;
134+ } ) ;
135+ it ( "cummulative max for groupby" , function ( ) {
136+
137+ let data = [ [ 1 , 2 , 3 ] , [ 4 , 5 , 6 ] , [ 20 , 30 , 40 ] , [ 39 , 89 , 78 ] ]
138+ let cols = [ "A" , "B" , "C" ]
139+ let df = new DataFrame ( data , { columns : cols } )
140+ let group_df = df . groupby ( [ "A" ] ) ;
141+ let new_data = [ [ 1 , 3 ] , [ 4 , 6 ] , [ 20 , 40 ] , [ 39 , 78 ] ]
142+
143+
144+
145+ assert . deepEqual ( group_df . col ( [ "C" ] ) . cummax ( ) . values , new_data ) ;
146+ } ) ;
147+ it ( "cummulative min for groupby" , function ( ) {
148+
149+ let data = [ [ 1 , 2 , 3 ] , [ 4 , 5 , 6 ] , [ 20 , 30 , 40 ] , [ 39 , 89 , 78 ] ]
150+ let cols = [ "A" , "B" , "C" ]
151+ let df = new DataFrame ( data , { columns : cols } )
152+ let group_df = df . groupby ( [ "A" ] ) ;
153+ let new_data = [ [ 1 , 3 ] , [ 4 , 6 ] , [ 20 , 40 ] , [ 39 , 78 ] ]
154+
155+ assert . deepEqual ( group_df . col ( [ "C" ] ) . cummin ( ) . values , new_data ) ;
156+ } ) ;
157+
158+ it ( "cummulative prod for groupby" , function ( ) {
159+
160+ let data = [ [ 1 , 2 , 3 ] , [ 4 , 5 , 6 ] , [ 20 , 30 , 40 ] , [ 39 , 89 , 78 ] ]
161+ let cols = [ "A" , "B" , "C" ]
162+ let df = new DataFrame ( data , { columns : cols } )
163+ let group_df = df . groupby ( [ "A" ] ) ;
164+ let new_data = [ [ 1 , 3 ] , [ 4 , 6 ] , [ 20 , 40 ] , [ 39 , 78 ] ]
165+
166+ assert . deepEqual ( group_df . col ( [ "C" ] ) . cumprod ( ) . values , new_data ) ;
167+ } ) ;
168+ it ( "mean for groupby" , function ( ) {
169+
170+ let data = [ [ 1 , 2 , 3 ] , [ 4 , 5 , 6 ] , [ 20 , 30 , 40 ] , [ 39 , 89 , 78 ] ]
171+ let cols = [ "A" , "B" , "C" ]
172+ let df = new DataFrame ( data , { columns : cols } )
173+ let group_df = df . groupby ( [ "A" , "B" ] ) ;
174+ let new_data = [
175+ [ 1 , 2 , 2 , 3 ] ,
176+ [ 4 , 5 , 5 , 6 ] ,
177+ [ 20 , 30 , 30 , 40 ] ,
178+ [ 39 , 89 , 89 , 78 ]
179+ ]
180+
181+ assert . deepEqual ( group_df . col ( [ "B" , "C" ] ) . mean ( ) . values , new_data ) ;
182+ } ) ;
121183
122184} ) ;
0 commit comments