gpt4 book ai didi

python - 如何匹配日期时间[ns]和日期时间[D]

转载 作者:太空宇宙 更新时间:2023-11-03 16:59:47 24 4
gpt4 key购买 nike

我使用 pandas 读取范围从 1982 年到 2015 年(仅包括工作日)的日期列表,其类型为 datetime[ns]。我想将大列表分成按一年分组的小列表。我所做的事情如下:

list_Date = []
list_Close = []
for i in range(1982,2016):
dateONEyear = []
CloseOneyear = []
date = np.arange(str(i),str(i+1),dtype='datetime64[D]')
for ii,jj in zip(AAPL['Date'],AAPL['Close']):
if str(ii) in date:
dateBYyear.append(ii)
CloseOneyear.append(jj)
list_Date.append(dateONEyear)
list_Close.append(CloseOneyear)

但是它不起作用。我的问题是:

1) 如何匹配这两种不同的数据类型?

2)或者有人有更好的想法以一年为单位对数据进行分组?

3)我可以使用另一种方法来读取日期列表,但类型是unicode,如何将unicode与datetime64匹配?

最佳答案

您可以使用列表和字典理解来生成以年份为关键字的字典。

dates = pd.date_range('1982-1-1', '2016-1-28', freq='B')
date_dict = {yr: [d for d in dates if d.year == yr]
for yr in range(dates[0].year, dates[-1].year + 1)}

>>> dates_dict[2016]
[Timestamp('2016-01-01 00:00:00', offset='B'),
Timestamp('2016-01-04 00:00:00', offset='B'),
Timestamp('2016-01-05 00:00:00', offset='B'),
Timestamp('2016-01-06 00:00:00', offset='B'),
Timestamp('2016-01-07 00:00:00', offset='B'),
Timestamp('2016-01-08 00:00:00', offset='B'),
Timestamp('2016-01-11 00:00:00', offset='B'),
Timestamp('2016-01-12 00:00:00', offset='B'),
Timestamp('2016-01-13 00:00:00', offset='B'),
Timestamp('2016-01-14 00:00:00', offset='B'),
Timestamp('2016-01-15 00:00:00', offset='B'),
Timestamp('2016-01-18 00:00:00', offset='B'),
Timestamp('2016-01-19 00:00:00', offset='B'),
Timestamp('2016-01-20 00:00:00', offset='B'),
Timestamp('2016-01-21 00:00:00', offset='B'),
Timestamp('2016-01-22 00:00:00', offset='B'),
Timestamp('2016-01-25 00:00:00', offset='B'),
Timestamp('2016-01-26 00:00:00', offset='B'),
Timestamp('2016-01-27 00:00:00', offset='B'),
Timestamp('2016-01-28 00:00:00', offset='B')]

关于python - 如何匹配日期时间[ns]和日期时间[D],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35090630/

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