Datetime转换速度慢

2024-04-27 00:27:17 发布

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

我有一个数据帧,看起来像这样:

date,time,metric_x
2016-02-27,00:00:28.0000000,31
2016-02-27,00:01:19.0000000,40
2016-02-27,00:02:55.0000000,39
2016-02-27,00:03:51.0000000,48
2016-02-27,00:05:22.0000000,42
2016-02-27,00:05:59.0000000,35

我希望生成一个新列

df['time_slot'] = df.apply(lambda row: time_slot_convert(pd.to_datetime(row['time'])), axis =1)

在哪里

def time_slot_convert(time):
    return time.hour + 1

此函数用于查找此记录的小时数加1。你知道吗

这是非常缓慢的。我知道数据是作为字符串读取的。有没有更有效的方法来加速这一进程?你知道吗


Tags: to数据lambdaconvertdfdatetimedatetime
1条回答
网友
1楼 · 发布于 2024-04-27 00:27:17

更快的是删除apply

df['time_slot'] = pd.to_datetime(df['time']).dt.hour + 1

print (df)
         date              time  metric_x  time_slot
0  2016-02-27  00:00:28.0000000        31          1
1  2016-02-27  00:01:19.0000000        40          1
2  2016-02-27  00:02:55.0000000        39          1
3  2016-02-27  00:03:51.0000000        48          1
4  2016-02-27  00:05:22.0000000        42          1
5  2016-02-27  00:05:59.0000000        35          1

相关问题 更多 >