【问题标题】:Rename column names when select from dataframe从数据框中选择时重命名列名
【发布时间】:2018-01-08 21:17:30
【问题描述】:

我有 2 个数据框:df1 和 df2,我将它们都加入 id 列并将其保存到另一个名为 df3 的数据框。下面是我正在使用的代码,可以正常工作。

val df3 = df1.alias("tab1").join(df2.alias("tab2"),Seq("id"),"left_outer").select("tab1.*","tab2.name","tab2.dept","tab2.descr");

我想在上述语句中将 tab2.descr 列重命名为 dept_full_description。

我知道我可以创建一个如下所示的 seq val 并使用 toDF 方法

val columnsRenamed = Seq("id", "empl_name", "name","dept","dept_full_description") ;
df4 = df3.toDF(columnsRenamed: _*);

是否有任何其他方法可以在第一条语句本身中使用别名。我的最终目标不是明确列出大约 30-40 列。

【问题讨论】:

    标签: scala hadoop apache-spark dataframe pyspark


    【解决方案1】:

    我会在加入之前重命名:

    df1.alias("tab1").join(
       df2.withColumnRenamed("descr", "dept_full_description").alias("tab2"),
       Seq("id"), "left_outer")
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-11-24
      • 2018-04-29
      • 2019-12-16
      • 1970-01-01
      • 2022-01-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多