小编hpn*_*xwn的帖子

如何将类型<class'pyspark.sql.types.Row'>转换为Vector

我是Spark的新手,目前我正在尝试使用Python编写对一组数据执行KMeans的简单代码。

from pyspark import SparkContext, SparkConf
from pyspark.sql import SQLContext
import re
from pyspark.mllib.clustering import KMeans, KMeansModel
from pyspark.mllib.linalg import DenseVector
from pyspark.mllib.linalg import SparseVector
from numpy import array
from pyspark.ml.feature import VectorAssembler
from pyspark.ml.feature import MinMaxScaler

import pandas as pd
import numpy
df = pd.read_csv("/<path>/Wholesale_customers_data.csv")
sql_sc = SQLContext(sc)
cols = ["Channel", "Region", "Fresh", "Milk", "Grocery", "Frozen", "Detergents_Paper", "Delicassen"]
s_df = sql_sc.createDataFrame(df)
vectorAss = VectorAssembler(inputCols=cols, outputCol="feature")
vdf = vectorAss.transform(s_df)
km = KMeans.train(vdf, k=2, maxIterations=10, runs=10, initializationMode="k-means||")
model = kmeans.fit(vdf)
cluster …
Run Code Online (Sandbox Code Playgroud)

python machine-learning k-means apache-spark pyspark

5
推荐指数
1
解决办法
3053
查看次数

在 Python 中,我们应该在参数列表中设置 Optional[str] = None 吗?

我的同事说我最近写的代码崩溃了,那是因为在函数的参数列表中我没有指定Optional[str] = None. 我只有Optional[str].

所以基本上我的函数是这样的:

def a(b: Optional[str]):
    if b is None:
        <do something>
    else:
        <do something>
Run Code Online (Sandbox Code Playgroud)

我一直认为 Optional 参数的默认值是 None,所以我没有指定默认值。它没有为我崩溃,但为我的同事崩溃了,所以我有点困惑。

我的python版本是>=3。

python python-3.x

4
推荐指数
1
解决办法
7343
查看次数