gpt4 book ai didi

python - Pyspark Dataframe 选择少数列上带有别名的所有列

转载 作者:行者123 更新时间:2023-12-05 02:15:21 29 4
gpt4 key购买 nike

我有一个包含很多列(超过 50 列)的数据框,我想选择所有列,因为它们只有少数列名称通过维护以下顺序重命名。我尝试了以下,

cols = list(set(df.columns) - {'id','starttime','endtime'})
df.select(col("id").alias("eventid"),col("starttime").alias("eventstarttime"),col("endtime").alias("eventendtime"),*cols,lit(proceessing_time).alias("processingtime"))

得到了错误,语法错误:只有命名参数可以跟在 *expression 之后

此外,我尝试传递一个列类型列表,而不是 *cols

df.select(col("id").alias("eventid"),col("starttime").alias("eventstarttime"),col("endtime").alias("eventendtime"),([col(x) for x in cols]),lit(proceessing_time).alias("processingtime"))

这给出了以下错误,

`TypeError: 'Column' object is not callable`

非常感谢任何帮助。

最佳答案

我们可以将列附加在一起并从 df 中选择,

df.select([col("id").alias("eventid"),col("starttime").alias("eventstarttime"),col("endtime").alias("eventendtime")]+cols+[lit(proceessing_time).alias("processingtime")])

关于python - Pyspark Dataframe 选择少数列上带有别名的所有列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52013232/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com