gpt4 book ai didi

python - 组合年、月、周数和迄今为止的日期

转载 作者:行者123 更新时间:2023-12-01 00:44:37 25 4
gpt4 key购买 nike

我有以下数据框:

year  month  week_num    day
2019 8 31 Thurs
2019 8 31 Fri
2019 8 32 Tues

日期缩写为 MonTuesWedsThursFri >,周六周日

我想生成另一列,该列将为我提供 yyyy-mm-dd 格式的日期。我怎样才能做到这一点?提前致谢!

最佳答案

模块datetime给你这个机会。 This discussion解释如何从周数获取日期。

然后,您可以定义一个函数来获取日期并将其应用到您的数据框。

代码如下:

# Import modules
import datetime

# Your data
df = pd.DataFrame([
[2019, 8, 29, "Fri"],
[2019, 8, 31, "Sun"],
[2019, 8, 29, "Tues"]],
columns=["year", "month", "week_num", "day"])

# A value per day
val_day = {"Mon": 0, "Tues": 1, "Weds": 2, "Thurs": 3,
"Fri": 4, "Sat": 5, "Sun": 6}

# Get the date from the year, number of week and the day


def getDate(row):
# Create string format
str_date = "{0}-W{1}-1".format(row.year,
row.week_num - 1)
print(str_date)
# Get the date
date = datetime.datetime.strptime(
str_date, "%Y-W%W-%w") + datetime.timedelta(days=val_day[row.day])
# Update date field
row["date"] = date.strftime("%Y-%m-%d")
return row


# apply the function to each row
df = df.apply(getDate, axis=1)
print(df)
# year month week_num day date
# 0 2019 8 1 Thurs 2019-01-03
# 1 2019 8 29 Fri 2019-07-19
# 2 2019 8 29 Tues 2019-07-16

关于python - 组合年、月、周数和迄今为止的日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57083983/

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