diff --git a/lib/polars/series.rb b/lib/polars/series.rb index dbc71bf707..0da7591774 100644 --- a/lib/polars/series.rb +++ b/lib/polars/series.rb @@ -317,6 +317,10 @@ def [](item) end if item.is_a?(Integer) + if item < 0 + item = len + item + end + return _s.get_idx(item) end diff --git a/test/series_test.rb b/test/series_test.rb index 7f2273b4e5..a2811da57d 100644 --- a/test/series_test.rb +++ b/test/series_test.rb @@ -281,6 +281,7 @@ def test_negation def test_get s = Polars::Series.new(1..3) assert_equal 2, s[1] + assert_equal 3, s[-1] assert_series [1, 2], s[[0, 1]] assert_series [1, 2], s[Polars::Series.new([0, 1])] assert_series [1], s[0..0]