gpt4 book ai didi

python - 合并月份和年份列以创建日期列

转载 作者:行者123 更新时间:2023-12-02 16:03:32 24 4
gpt4 key购买 nike

我有一个 pyspark 数据框:

Location    Month   Year
USA 1 2020
USA 1 2021
CAN 1 2020
CAN 2 2020
CAN 1 2021
CAN 2 2021

我需要合并月份和年份列来创建日期列。我预期的数据框应该是:

Location    Month   Year    Date
USA 1 2020 1/1/2020
USA 1 2021 1/1/2021
CAN 1 2020 1/1/2020
CAN 2 2020 2/1/2020
CAN 1 2021 1/1/2021
CAN 2 2021 2/1/2021

所有日期都应该从每个月的 1 号开始。我试过这段代码:

df = df.select(concat_ws('/',df.month,1,df.year).alias('Month') \
,df["*"])

出现这个错误:

Invalid argument, not a string or column

Month和Year都是长数据类型

最佳答案

您得到无效参数,不是字符串或列,因为concat_ws('/', df.month, 1, df. year) 既不是列也不是字符串(应该是列名的字符串)。您可以使用 lit 内置函数来更正它,如下所示:

from pyspark.sql import functions as F

df = df.select(F.concat_ws('/', df.month, F.lit(1), df.year).alias('Month'), df["*"])

关于python - 合并月份和年份列以创建日期列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70065362/

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