目前我正在使用一个大数据框(12x47800)。十二列之一是由整数秒组成的列。我想将此列更改为由 datetime.time 格式组成的列。Schedule 是我的数据框,我尝试更改名为“depTime”的列。因为我希望它是一个 datetime.time 并且它可能会跨越午夜,所以我添加了 if 语句。这“有效”,但速度确实很慢,正如人们想象的那样。有没有更快的方法来做到这一点?我当前的代码,我唯一可以工作的是:
for i in range(len(schedule)):
t_sec = schedule.iloc[i].depTime
[t_min, t_sec] = divmod(t_sec,60)
[t_hour,t_min] = divmod(t_min,60)
if t_hour>23:
t_hour -= 23
schedule['depTime'].iloc[i] = dt.time(int(t_hour),int(t_min),int(t_sec))
Run Code Online (Sandbox Code Playgroud)
预先感谢各位。
Ps:我对Python还很陌生,所以如果有人能帮助我,我将非常感激:)