【问题标题】:Adding Multiple Empty Columns in PySpark DataFrame在 PySpark DataFrame 中添加多个空列
【发布时间】:2018-09-14 00:13:18
【问题描述】:

谁能建议我如何在 pyspark 数据框中添加多个空列。目前我正在做这样的事情,但它不起作用:

def add_columns(dataframe, column_list):
    for col in column_list:
        self = dataframe.withColumn(str(col), lit(None).cast(StringType())))
    return dataframe

在应用 add_columns 函数后的输出模式中,我在 0x7f41189d7e10: string (nullable = true) 处获得了新列作为生成器对象geneexpr:字符串(nullable = true)

【问题讨论】:

  • 尝试用lit('')替换lit(None)?
  • 什么是 column_list?有什么价值观? str(col) 你在这里期待什么?也许它应该是 col.name 。

标签: python pyspark


【解决方案1】:

你的代码 sn-p 对我有用,只需在里面做这个小改动:

def add_columns(dataframe, column_list):
    self = dataframe.withColumn(str(column_list[0]), f.lit(None).cast(StringType()))
    for col in column_list[1:]:
        self = self.withColumn(str(col), f.lit(None).cast(StringType()))
    return self

我返回“self”而不是“dataframe”,以便在每次运行函数时不向数据帧添加多列。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-09-04
    • 1970-01-01
    • 2018-09-24
    • 1970-01-01
    • 1970-01-01
    • 2017-01-29
    • 1970-01-01
    相关资源
    最近更新 更多