前提・実現したいこと
イベントのログデータの中で、
入退場の時間がobject型で取り込まれています。
これをdatetime型に変換し、
滞在時間を計算して傾向を読みたいと考えています。
データの中身は
Entry Time Exit Time 2018-10-04 08:07:20 2018-10-04 08:08:29 2018-10-04 08:11:15 2018-10-04 08:11:48 2018-10-04 08:13:28 2018-10-04 08:15:00 2018-10-04 08:18:23 2018-10-04 08:19:00 2018-10-04 08:19:39 2018-10-04 08:19:59
このようなイメージです。
発生している問題・エラーメッセージ
TypeError Traceback (most recent call last) c:\users\lib\site-packages\pandas\core\arrays\datetimes.py in objects_to_datetime64ns(data, dayfirst, yearfirst, utc, errors, require_iso8601, allow_object) 1855 try: -> 1856 values, tz_parsed = conversion.datetime_to_datetime64(data) 1857 # If tzaware, these values represent unix timestamps, so we pandas\_libs\tslibs\conversion.pyx in pandas._libs.tslibs.conversion.datetime_to_datetime64() TypeError: Unrecognized value type: <class 'str'> During handling of the above exception, another exception occurred: ValueError Traceback (most recent call last) <ipython-input-13-a72422e4282a> in <module> 1 import datetime as dt 2 for a in data[['Entry Time', 'Exit Time']]: ----> 3 pd.to_datetime(a, format='%Y-%m-%d %H:%M:%S') 4 5 c:\users\01037485\taishi\lib\site-packages\pandas\core\tools\datetimes.py in to_datetime(arg, errors, dayfirst, yearfirst, utc, format, exact, unit, infer_datetime_format, origin, cache) 742 result = convert_listlike(arg, format) 743 else: --> 744 result = convert_listlike(np.array([arg]), format)[0] 745 746 return result c:\users\lib\site-packages\pandas\core\tools\datetimes.py in _convert_listlike_datetimes(arg, format, name, tz, unit, errors, infer_datetime_format, dayfirst, yearfirst, exact) 445 errors=errors, 446 require_iso8601=require_iso8601, --> 447 allow_object=True, 448 ) 449 c:\users\lib\site-packages\pandas\core\arrays\datetimes.py in objects_to_datetime64ns(data, dayfirst, yearfirst, utc, errors, require_iso8601, allow_object) 1859 return values.view("i8"), tz_parsed 1860 except (ValueError, TypeError): -> 1861 raise e 1862 1863 if tz_parsed is not None: c:\users\lib\site-packages\pandas\core\arrays\datetimes.py in objects_to_datetime64ns(data, dayfirst, yearfirst, utc, errors, require_iso8601, allow_object) 1850 dayfirst=dayfirst, 1851 yearfirst=yearfirst, -> 1852 require_iso8601=require_iso8601, 1853 ) 1854 except ValueError as e: pandas\_libs\tslib.pyx in pandas._libs.tslib.array_to_datetime() pandas\_libs\tslib.pyx in pandas._libs.tslib.array_to_datetime() ValueError: time data Entry Time doesn't match format specified
該当のソースコード
Python
1import datetime as dt 2for a in data[['Entry Time', 'Exit Time']]: 3 pd.to_datetime(a, format='%Y-%m-%d %H:%M:%S') 4 5 6data.info()
試したこと
format='%Y-%m-%d %H:%M:%S'の部分を
format='%Y-%m-%d%H:%M:%S'にしたり、
format='%Y-%m-%d_%H:%M:%S'にしたり、
してみましたが、効果はなく、、、、
formatの問題と出ているのですが、
こちらの書き方以外にも問題はありそうですかね?
ご教示のほど、
何卒宜しくお願い致します。
補足情報(FW/ツールのバージョンなど)
DateTime 4.3
pandas 1.0.0
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/03/04 03:23