在datetime字段中按小时划分NumPy数组

2024-05-14 19:00:49 发布

您现在位置:Python中文网/ 问答频道 /正文

在Python中,我一直在为如何根据包含日期和时间的字段中的小时对csv中的记录进行分组而苦苦挣扎。该文件包含大约1000000条记录。我已经将文件读入Pandas数据帧,并创建了一个二维NumPy数组,这样每个记录都是NumPy数组中的一个子列表,例如:

#this is a NumPy array
npdata = ([somedata, '2014-07-01 08:18:21', somedata, somedata, somedata, somedata, etc], 
[somedata, '2014-07-01 10:01:40', somedata, somedata, somedata, somedata, etc], etc...])

日期和时间是一个字符串,在每个子列表中始终位于相同的位置(1)。我创建了变量“hourlist”,它是一个包含24个空子列表的列表。我想在“npdata”上迭代,用npdata的子列表子集填充“hourlist”中的24个子列表,这些子列表在日期和时间字段中包含相同的小时。E、 g.日期为00:xx:xx的所有“npdata”子列表将在“hourlist”的一个子列表中,所有01:xx:xx在另一个子列表中,所有02:00:00都在另一个子列表中,从0到23小时。我一直在想办法解决这个问题,但一直碰壁。根据一些谷歌搜索结果,我认为日期时间.strptime()类方法应该作为解决方案的一部分,但我不知道如何使用。在

我真的很感激你的任何建议。在


Tags: 文件csv数据numpypandas列表记录时间
1条回答
网友
1楼 · 发布于 2024-05-14 19:00:49

给定时间字符串的格式,小时始终是字符串的位置[11:13],并且始终是整数。在

因此,只需编写一个函数来获取该整数并将其用作索引,如下所示:

def get_hour(in_array):
    return int(in_array[1][11:13])

for x in npdata:
    hourlist[get_hour(x)].append(x)

相关问题 更多 >

    热门问题