更新 pyspark 的数据框列

Posted

技术标签:

【中文标题】更新 pyspark 的数据框列【英文标题】:Update pyspark's dataframe column 【发布时间】:2017-01-27 18:56:19 【问题描述】:

我正在尝试从旧的数据框创建一个新的数据框,修改其中出现的元素。我有一个这样的数据框:

+-------+--------------------+--------------------+
| A     |            B       |                   C|
+-------+--------------------+--------------------+
| 224.39|[2533695.47884,25...|[2.53311343446655...|
| 398.56|[2551303.18964,25...|[6740638.70550121...|
|1445.59|[2530998.06972,25...|[7839490.11546087...|

在 B 列和 C 列中有元素列表(每列的每行大约 100 个)。我想从这个数据框创建一个新的数据框,例如,每行 C 列中的 5 个元素。应该是这样的:

+-------+--------------------+--------------------+
| A     |            B       |                   C|
+-------+--------------------+--------------------+
| 224.39|[2533695.47884,25...|[1,2,3,4,5]         |
| 398.56|[2551303.18964,25...|[1,2,3,4,5]         |
|1445.59|[2530998.06972,25...|[1,2,3,4,5]         |

到目前为止,我只设法在一个新的数据框中提取了 C 列,并尝试使用 foreach(lambda x: x[0:5]),但是这个 foreach 之后的数据框是一个 NoneType 元素,它不起作用。

提前致谢。

【问题讨论】:

【参考方案1】:

我终于找到了一种方法来做到这一点。使用VectorSlicer 从 PCA 中选择特征非常简单。

【讨论】:

以上是关于更新 pyspark 的数据框列的主要内容,如果未能解决你的问题,请参考以下文章

python, pyspark : 获取 pyspark 数据框列值的总和

使用圆形函数转换 pyspark 数据框列不起作用(pyspark)

遍历 pyspark 数据框列

如何将 pyspark 数据框列中的值与 pyspark 中的另一个数据框进行比较

数据类型转换火花数据框列 - pyspark

Pyspark 删除数据框列中的多个字符