gpt4 book ai didi

python - 在 python 中拆分带有日期的数组

转载 作者:行者123 更新时间:2023-12-05 02:53:06 25 4
gpt4 key购买 nike

我有一个由 1 列和 1980796 行充满日期组成的数组。日期类型如下:'2018-01-01 00:00:00 +01:00'我试图将日期分成两个不同的数组,一个根据每一天,另一个根据小时。这是我正在处理的提取这两个数组的代码部分:

    time=np.array(parameters[:,2])
time1=time.astype(str)
month=[]
hour=[]
for i in (time1):
month.append(i.split(' ')[0])
hour.append(i.split(' ')[1])
month1=np.array(month)
hour1=np.array(hour)

当我运行代码时,我收到以下错误:

Traceback (most recent call last):
File "<ipython-input-136-3cf951a10e93>", line 12, in <module>
hour.append(i.split(' ')[1])

IndexError: list index out of range

最后,当我检查新数组的形状与 time1 数组不同时。我只想拆分日期并获得两个与所有索引中的初始数组具有相同形状的新数组。

最佳答案

只要您具有所需的数据质量,您的方法就是正确的。这是一个有效的示例解决方案:将数据拆分为“月”和“小时”- numpy 数组(要测试您的数据质量,请尝试打印出满足或不满足您期望的时间戳格式的所有日期):

from datetime import datetime, timedelta

import numpy as np


parameters = [datetime.today() - timedelta(days=x) for x in range(5)]

months, hours = [], []

for dt in parameters:
month = str(dt).split(' ')[0].split('-')[1]
hour = str(dt).split(' ')[1].split(':')[1]
months.append(month)
hours.append(hour)

months = np.array(months)
hours = np.array(hours)

print(f"{months = }")
print(f"{hours = }")

返回:

months = array(['06', '06', '06', '06', '06'], dtype='<U2')
hours = array(['14', '14', '14', '14', '14'], dtype='<U2')

关于python - 在 python 中拆分带有日期的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62323856/

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