diff --git a/docs/ml-features.md b/docs/ml-features.md index 11d5acbb10c30efaed57ffc60934bd54503f6d64..0b8f2d773c2eb9fb96830542c85dda049074638c 100644 --- a/docs/ml-features.md +++ b/docs/ml-features.md @@ -1191,6 +1191,14 @@ for more details on the API. {% include_example java/org/apache/spark/examples/ml/JavaVectorSlicerExample.java %} </div> + +<div data-lang="python" markdown="1"> + +Refer to the [VectorSlicer Python docs](api/python/pyspark.ml.html#pyspark.ml.feature.VectorSlicer) +for more details on the API. + +{% include_example python/ml/vector_slicer_example.py %} +</div> </div> ## RFormula diff --git a/examples/src/main/python/ml/vector_slicer_example.py b/examples/src/main/python/ml/vector_slicer_example.py new file mode 100644 index 0000000000000000000000000000000000000000..31a753073c13c0b6bf8fbf20eaa0d139f84da1bb --- /dev/null +++ b/examples/src/main/python/ml/vector_slicer_example.py @@ -0,0 +1,44 @@ +# +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +from __future__ import print_function + +from pyspark import SparkContext +from pyspark.sql import SQLContext +# $example on$ +from pyspark.ml.feature import VectorSlicer +from pyspark.mllib.linalg import Vectors +from pyspark.sql.types import Row +# $example off$ + +if __name__ == "__main__": + sc = SparkContext(appName="VectorSlicerExample") + sqlContext = SQLContext(sc) + + # $example on$ + df = sqlContext.createDataFrame([ + Row(userFeatures=Vectors.sparse(3, {0: -2.0, 1: 2.3}),), + Row(userFeatures=Vectors.dense([-2.0, 2.3, 0.0]),)]) + + slicer = VectorSlicer(inputCol="userFeatures", outputCol="features", indices=[1]) + + output = slicer.transform(df) + + output.select("userFeatures", "features").show() + # $example off$ + + sc.stop()