Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Pyspark 当我还需要使用WithColumnRename时,如何从Spark数据框中选择列?_Pyspark_Pyspark Sql - Fatal编程技术网

Pyspark 当我还需要使用WithColumnRename时,如何从Spark数据框中选择列?

Pyspark 当我还需要使用WithColumnRename时,如何从Spark数据框中选择列?,pyspark,pyspark-sql,Pyspark,Pyspark Sql,我有一个数据帧 df=df.选择(“员工id”、“员工姓名”、“员工地址”) 我需要重命名前两个字段,但仍要选择第三个字段。因此,我认为这会起作用,但这似乎只选择了员工地址 df=(df.withcolumn重命名(“员工id”、“empId”) .WithColumnRename(“员工姓名”、“员工姓名”) .选择(“员工地址”) ) 如何在选择第三个字段的同时正确重命名前两个字段 我尝试了将与column混合使用,但没有效果。我必须在所有三个字段上使用select吗?您可以使用alia

我有一个数据帧

df=df.选择(“员工id”、“员工姓名”、“员工地址”)
我需要重命名前两个字段,但仍要选择第三个字段。因此,我认为这会起作用,但这似乎只选择了
员工地址

df=(df.withcolumn重命名(“员工id”、“empId”)
.WithColumnRename(“员工姓名”、“员工姓名”)
.选择(“员工地址”)
)
如何在选择第三个字段的同时正确重命名前两个字段


我尝试了将
与column
混合使用,但没有效果。我必须在所有三个字段上使用select吗?

您可以使用
alias
命令:

import pyspark.sql.函数为func
df=df.select(
职能部门(“员工id”).别名(“员工id”),
职能部门(“员工姓名”)。别名(“员工姓名”),
职能部门(“员工地址”)
)

请记住,如果要选择所有列,也可以执行
select(“*”)
。如果同时使用
withColumn
函数,您将如何执行此操作?其中我必须包括一个空字段,如
.withColumn('employee_birthdate',func.lit(None).cast(StringType())
有什么干净的方法可以做到这一点吗?我这样做看起来有点难看,但我想不出任何更好的方法你不需要
with column
你可以在
select
语句中添加另一列:
func.lit(None).cast(StringType()).alias(“员工地址”)
将添加名为
employee\u address
的第四列,该列将包含所有
null
值。