【发布时间】:2019-12-27 17:52:56
【问题描述】:
我正在寻找将数据框列转换为 RDD 的最直接和惯用的方法。假设列views 包含浮点数。以下是不是我要找的
views = df_filtered.select("views").rdd
因为我最终得到了 RDD[Row] 而不是 RDD[Float],因此我无法将它提供给 mllib.stat 中的任何 stat 方法(如果我正确理解发生了什么):
corr = Statistics.corr(views, likes, method="pearson")
TypeError: float() argument must be a string or a number
在 pandas 中,我会使用 .values() 将此 pandas Series 转换为其值的数组,但 RDD .values() 方法似乎无法以这种方式工作。我终于找到了以下解决方案
views = df_filtered.select("views").rdd.map(lambda r: r["views"])
但我想知道是否有更直接的解决方案
【问题讨论】:
标签: dataframe apache-spark pyspark rdd