From d0a3b75668a898aadf05444158f7368b1413c6a9 Mon Sep 17 00:00:00 2001 From: Andrus Adamchik Date: Thu, 11 Jul 2019 16:44:37 +0300 Subject: [PATCH] GroupBy.rowNumber() #16 * making sure this doesnt blow up on an emty DataFrame --- dflib/src/main/java/com/nhl/dflib/GroupBy.java | 4 ++++ .../com/nhl/dflib/DataFrame_GroupBy_WindowFuncsTest.java | 7 +++++++ 2 files changed, 11 insertions(+) diff --git a/dflib/src/main/java/com/nhl/dflib/GroupBy.java b/dflib/src/main/java/com/nhl/dflib/GroupBy.java index a053c6c1..278b2ce5 100644 --- a/dflib/src/main/java/com/nhl/dflib/GroupBy.java +++ b/dflib/src/main/java/com/nhl/dflib/GroupBy.java @@ -81,6 +81,10 @@ public DataFrame getGroup(Object key) { */ public Series rowNumbers() { + if(groupsIndex.size() == 0) { + return IntSeries.forInts(); + } + DataFrame[] numberedIndex = new DataFrame[groupsIndex.size()]; int i = 0; diff --git a/dflib/src/test/java/com/nhl/dflib/DataFrame_GroupBy_WindowFuncsTest.java b/dflib/src/test/java/com/nhl/dflib/DataFrame_GroupBy_WindowFuncsTest.java index bcbf04f3..cdefd6d5 100644 --- a/dflib/src/test/java/com/nhl/dflib/DataFrame_GroupBy_WindowFuncsTest.java +++ b/dflib/src/test/java/com/nhl/dflib/DataFrame_GroupBy_WindowFuncsTest.java @@ -5,6 +5,13 @@ public class DataFrame_GroupBy_WindowFuncsTest { + @Test + public void testGroupBy_RowNumbers_Emtpy() { + DataFrame df = DataFrame.newFrame("a", "b", "c").empty(); + Series rn = df.group("a").rowNumbers(); + new SeriesAsserts(rn).expectData(); + } + @Test public void testGroupBy_RowNumbers0() { DataFrame df = DataFrame.newFrame("a", "b", "c").foldByRow(