You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@spark.apache.org by me...@apache.org on 2015/07/17 21:44:07 UTC

spark git commit: [SPARK-9138] [MLLIB] fix Vectors.dense

Repository: spark
Updated Branches:
  refs/heads/master 587c315b2 -> f9a82a884


[SPARK-9138] [MLLIB] fix Vectors.dense

Vectors.dense() should accept numbers directly, like the one in Scala. We already use it in doctests, it worked by luck.

cc mengxr jkbradley

Author: Davies Liu <da...@databricks.com>

Closes #7476 from davies/fix_vectors_dense and squashes the following commits:

e0fd292 [Davies Liu] fix Vectors.dense


Project: http://git-wip-us.apache.org/repos/asf/spark/repo
Commit: http://git-wip-us.apache.org/repos/asf/spark/commit/f9a82a88
Tree: http://git-wip-us.apache.org/repos/asf/spark/tree/f9a82a88
Diff: http://git-wip-us.apache.org/repos/asf/spark/diff/f9a82a88

Branch: refs/heads/master
Commit: f9a82a884e7cb2a466a33ab64912924ce7ee30c1
Parents: 587c315
Author: Davies Liu <da...@databricks.com>
Authored: Fri Jul 17 12:43:58 2015 -0700
Committer: Xiangrui Meng <me...@databricks.com>
Committed: Fri Jul 17 12:43:58 2015 -0700

----------------------------------------------------------------------
 python/pyspark/mllib/linalg.py | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/spark/blob/f9a82a88/python/pyspark/mllib/linalg.py
----------------------------------------------------------------------
diff --git a/python/pyspark/mllib/linalg.py b/python/pyspark/mllib/linalg.py
index 040886f..529bd75 100644
--- a/python/pyspark/mllib/linalg.py
+++ b/python/pyspark/mllib/linalg.py
@@ -30,6 +30,7 @@ if sys.version >= '3':
     basestring = str
     xrange = range
     import copyreg as copy_reg
+    long = int
 else:
     from itertools import izip as zip
     import copy_reg
@@ -770,14 +771,18 @@ class Vectors(object):
         return SparseVector(size, *args)
 
     @staticmethod
-    def dense(elements):
+    def dense(*elements):
         """
-        Create a dense vector of 64-bit floats from a Python list. Always
-        returns a NumPy array.
+        Create a dense vector of 64-bit floats from a Python list or numbers.
 
         >>> Vectors.dense([1, 2, 3])
         DenseVector([1.0, 2.0, 3.0])
+        >>> Vectors.dense(1.0, 2.0)
+        DenseVector([1.0, 2.0])
         """
+        if len(elements) == 1 and not isinstance(elements[0], (float, int, long)):
+            # it's list, numpy.array or other iterable object.
+            elements = elements[0]
         return DenseVector(elements)
 
     @staticmethod


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@spark.apache.org
For additional commands, e-mail: commits-help@spark.apache.org