【问题标题】:Rename multiple columns at once in SparkR DataFrame在 SparkR DataFrame 中一次重命名多个列
【发布时间】:2018-06-14 08:31:12
【问题描述】:

如何一次重命名 SparkR DataFrame 中的多个列,而不是多次调用 withColumnRenamed()?例如,假设我想将下面DataFrame 中的列重命名为namebirthdays,如果不调用两次withColumnRenamed(),我该怎么做?

team <- data.frame(name = c("Thomas", "Bill", "George", "Randall"),
  surname = c("Johnson", "Clark", "Williams", "Yosimite"),
  dates = c('2017-01-05', '2017-02-23', '2017-03-16', '2017-04-08'))
team <- createDataFrame(team)

team <- withColumnRenamed(team, 'surname', 'name')
team <- withColumnRenamed(team, 'dates', 'birthdays')

【问题讨论】:

    标签: r apache-spark sparkr


    【解决方案1】:

    标准 R 方法在这里适用 - 您可以简单地重新分配 colnames

    colnames(team) <- c("name", "name", "birthdays")
    team
    
    SparkDataFrame[name:string, name:string, birthdays:string]
    

    如果您知道顺序,您可以跳过完整列表并

    colnames(team)[colnames(team) %in% c("surname", "dates")] <- c("name", "birthdays")
    

    不过,您可能希望避免重复名称。

    【讨论】:

      猜你喜欢
      • 2017-05-30
      • 1970-01-01
      • 2015-12-06
      • 1970-01-01
      • 2021-05-15
      • 2016-01-06
      • 2021-08-14
      • 1970-01-01
      • 2019-07-21
      相关资源
      最近更新 更多