Spark DataFrame中如何将已有列复制为同DataFrame的新列?
在Spark DataFrame中复制列并调整列名
Python 实现
如果需要将原packageid列重命名为package id,同时复制生成package id 2列,可按以下步骤操作:
# 假设你的DataFrame对象名为df # 1. 重命名原列packageid为package id df = df.withColumnRenamed("packageid", "package id") # 2. 复制package id列生成新列package id 2 df = df.withColumn("package id 2", df["package id"]) # 验证结果列结构 df.printSchema()
若无需重命名原列,仅复制packageid为package id 2,直接执行:
df = df.withColumn("package id 2", df["packageid"])
Scala 实现
// 假设你的DataFrame对象名为df // 1. 重命名原列packageid为package id val dfRenamed = df.withColumnRenamed("packageid", "package id") // 2. 复制生成package id 2列 val finalDf = dfRenamed.withColumn("package id 2", col("package id")) // 查看结果列结构 finalDf.printSchema()
仅复制列不重命名原列的简化写法:
val finalDf = df.withColumn("package id 2", col("packageid"))
注意事项
- 当列名包含空格时,引用列需使用
df["列名"](Python)或col("列名")(Scala)的方式,避免语法错误 - 操作完成后,可通过
printSchema()或show()方法确认列结构是否符合预期
内容的提问来源于stack exchange,提问作者Kacie
相关产品推荐
相关产品推荐

