We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent d4a74a2 commit df2b34cCopy full SHA for df2b34c
python/pyspark/mllib/linalg.py
@@ -673,6 +673,9 @@ def __getitem__(self, index):
673
raise ValueError("Index %d out of bounds." % index)
674
675
insert_index = np.searchsorted(inds, index)
676
+ if insert_index >= inds.size:
677
+ return 0.0
678
+
679
row_ind = inds[insert_index]
680
if row_ind == index:
681
return vals[insert_index]
python/pyspark/mllib/tests.py
@@ -137,15 +137,17 @@ def test_conversion(self):
137
self.assertTrue(dv.array.dtype == 'float64')
138
139
def test_sparse_vector_indexing(self):
140
- sv = SparseVector(4, {1: 1, 3: 2})
141
- self.assertEquals(sv[0], 0.)
142
- self.assertEquals(sv[3], 2.)
143
- self.assertEquals(sv[1], 1.)
144
- self.assertEquals(sv[2], 0.)
145
- self.assertEquals(sv[-1], 2)
146
- self.assertEquals(sv[-2], 0)
147
- self.assertEquals(sv[-4], 0)
148
- for ind in [4, -5]:
+ sv = SparseVector(5, {1: 1, 3: 2})
+ self.assertEqual(sv[0], 0.)
+ self.assertEqual(sv[3], 2.)
+ self.assertEqual(sv[1], 1.)
+ self.assertEqual(sv[2], 0.)
+ self.assertEqual(sv[4], 0.)
+ self.assertEqual(sv[-1], 0.)
+ self.assertEqual(sv[-2], 2.)
+ self.assertEqual(sv[-3], 0.)
149
+ self.assertEqual(sv[-5], 0.)
150
+ for ind in [5, -6]:
151
self.assertRaises(ValueError, sv.__getitem__, ind)
152
for ind in [7.8, '1']:
153
self.assertRaises(TypeError, sv.__getitem__, ind)
0 commit comments