gpt4 book ai didi

python - 如何将 Pandas isocalendar() 应用于日期列表而不是单个日期

转载 作者:太空宇宙 更新时间:2023-11-03 20:25:23 25 4
gpt4 key购买 nike

是否可以将 isocalender() 应用于日期列表?这应该相当简单,我只是在语法上苦苦挣扎。

我可以很好地处理单个日期,但是当我尝试循环列表时,它会出现错误

这是第一步,适用于单个日期。

# Takes a single date and outputs the week of the year that date is in (24)
dt = datetime.date(2010, 6, 16)
dt.isocalendar()[1]

Out[143]: 24

这是我第一次尝试将 isocalender() 与日期列表一起使用。它给出了错误:'list'对象没有属性'isocalendar'

dt = pd.date_range(pd.datetime.today(), periods=100).tolist() #List of dates
dt.isocalendar()[1]

我尝试将其放入 for 循环中,但得到了相同的错误:“list”对象没有属性“isocalendar”

date_list = []
dt = pd.date_range(pd.datetime.today(), periods=100).tolist() #List of dates
for date in dt:
date_list.append(dt.isocalendar()[1])

我想看到这样的列表:

date                                               week_of_year
Timestamp('2019-09-09 17:16:01.971533', freq='D') 37
Timestamp('2019-09-10 17:16:01.971533', freq='D') 37
Timestamp('2019-09-11 17:16:01.971533', freq='D') 37
… …
Timestamp('2019-12-16 17:16:01.971533', freq='D') 51
Timestamp('2019-12-17 17:16:01.971533', freq='D') 51

最佳答案

在 for 循环中,您感到困惑 dt 是一个列表,而 date 是列表的元素。您可以这样安排代码:

date_list = []
dt = pd.date_range(pd.datetime.today(), periods=100).tolist() #List of dates
for date in dt:
date_list.append(date.isocalendar()[1])

或者您只需一行代码即可解决问题,如下所示:

date_list = [date.isocalendar()[1] for date in pd.date_range(pd.datetime.today(), periods=100).tolist()]

关于python - 如何将 Pandas isocalendar() 应用于日期列表而不是单个日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57861937/

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