aboutsummaryrefslogtreecommitdiff
path: root/python
diff options
context:
space:
mode:
Diffstat (limited to 'python')
-rw-r--r--python/pyspark/ml/linalg/__init__.py15
1 files changed, 15 insertions, 0 deletions
diff --git a/python/pyspark/ml/linalg/__init__.py b/python/pyspark/ml/linalg/__init__.py
index f42c589b92..05c0ac862f 100644
--- a/python/pyspark/ml/linalg/__init__.py
+++ b/python/pyspark/ml/linalg/__init__.py
@@ -478,6 +478,14 @@ class SparseVector(Vector):
SparseVector(4, {1: 1.0, 3: 5.5})
>>> SparseVector(4, [1, 3], [1.0, 5.5])
SparseVector(4, {1: 1.0, 3: 5.5})
+ >>> SparseVector(4, {1:1.0, 6:2.0})
+ Traceback (most recent call last):
+ ...
+ AssertionError: Index 6 is out of the the size of vector with size=4
+ >>> SparseVector(4, {-1:1.0})
+ Traceback (most recent call last):
+ ...
+ AssertionError: Contains negative index -1
"""
self.size = int(size)
""" Size of the vector. """
@@ -511,6 +519,13 @@ class SparseVector(Vector):
"Indices %s and %s are not strictly increasing"
% (self.indices[i], self.indices[i + 1]))
+ if self.indices.size > 0:
+ assert np.max(self.indices) < self.size, \
+ "Index %d is out of the the size of vector with size=%d" \
+ % (np.max(self.indices), self.size)
+ assert np.min(self.indices) >= 0, \
+ "Contains negative index %d" % (np.min(self.indices))
+
def numNonzeros(self):
"""
Number of nonzero elements. This scans all active values and count non zeros.