我有一个datafame,希望根据列表中的值向其中添加列
我的值列表将从3-50个值变化。我是pySpark的新手,我正在尝试将这些值作为新列(空)附加到我的df中
我已经看到了如何将[1列][1]添加到数据帧而不是列表中的多个数据帧的推荐代码
mylist = ['ConformedLeaseRecoveryTypeId', 'ConformedLeaseStatusId', 'ConformedLeaseTypeId', 'ConformedLeaseRecoveryTypeName', 'ConformedLeaseStatusName', 'ConformedLeaseTypeName']
我下面的代码只附加了一列
for new_col in mylist:
new = datasetMatchedDomains.withColumn(new_col,f.lit(0))
new.show()
[1]: https://stackoverflow.com/questions/48164206/pyspark-adding-a-column-from-a-list-of-values-using-a-udf
您可以在循环中浏览列表,更新df:
有趣的后续行动-如果这有效,请尝试使用
reduce
:)另外,关于编辑-
withColumn
并没有修改原始数据帧,而是每次返回一个新的数据帧,每次循环迭代都会覆盖该数据帧我们还可以使用
list comprehension
和.select
向数据帧添加新列Example:
相关问题 更多 >
编程相关推荐