更新 pyspark 的数据框列

Update pyspark's dataframe column

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

+-------+--------------------+--------------------+
| 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 元素,它不起作用。

提前致谢。

最后我找到了一个方法来做到这一点。 VectorSlicer 使用 PCA 的 select 特征非常简单。