gpt4 book ai didi

python - 通过在 Pandas 中添加一些天数将年份转换为日期

转载 作者:行者123 更新时间:2023-11-28 21:04:51 25 4
gpt4 key购买 nike

我有一个如下所示的数据框:

Year    vl
2017 20
2017 21
2017 22
2017 23
2017 24
2017 25
2017 26
...

我需要将年份转换为 dd.mm.yyyy 格式。每次从年初一开始。例如,2017 将变为 01.01.2017。然后,我需要将“vl”列中的每个值乘以 7,并将它们作为天数逐行添加到列中,其中日期将采用新格式(如示例 01.01.2017) .结果应该是这样的:

Year    vl     new_date
2017 20 21.05.2017
2017 21 28.05.2017
2017 22 04.06.2017
2017 23 11.06.2017
2017 24 18.06.2017
2017 25 25.06.2017
2017 26 02.07.2017
...

最佳答案

这是一个选项,可以将年份 (%Y) 和年份 (%j) 粘贴在一起,然后对其进行解析和重新格式化:

from datetime import datetime
df.apply(lambda r: datetime.strptime("{}{}".format(r.Year, r.vl*7+1), "%Y%j").strftime("%d.%m.%Y"), axis=1)

#0 21.05.2017
#1 28.05.2017
#2 04.06.2017
#3 11.06.2017
#4 18.06.2017
#5 25.06.2017
#6 02.07.2017
#dtype: object

将列分配回原始数据框:

df['new_date'] = df.apply(lambda r: datetime.strptime("{}{}".format(r.Year, r.vl*7+1), "%Y%j").strftime("%d.%m.%Y"), axis=1)

关于python - 通过在 Pandas 中添加一些天数将年份转换为日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44806389/

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