Take Your Time

仕事や研究、コンピューターとの付き合い方

イテレーション、forloop、時間の扱い

概要

Pythonイテレーションしてみた。クソむずかった。

やりたかったこと

ある特定の日付からの秒数が入ったカラムを実際の日時時刻にしたい。

手順

  • まず、起点となる日時をstart_pointにdatetime型で入れる。この場合、2017年8月26日0時0分0秒。
  • 次にデータフレームdt_trainのcreated_atに時間を変更して入れる。
  • datetime.timedeltaへの引数にintをかますのがポイント。そのままだと受け入れてくれない。
  • なおwariningが発生する模様。
import pandas as pd
import numpy as np
import datetime

start_point = datetime.datetime(2017, 8, 26, 0, 0, 0)  # initialization
for i, v in dt_train.created_at.iteritems():
    dt_train.created_at[i] = start_point + datetime.timedelta(seconds = int(v))