因此,我尝试将熊猫数据框中的“事件时间”(自1970-01-01 00:00:00 UTC以来的时间,以微秒为单位)转换为人类可读的日期和时间。
列名: df ['事件时间']
输入: df ['Event Time']。iloc [0]
输出: 1519952249827533
我需要一个脚本来转换整个列。
我尝试了以下方法,但需要做的简单得多:
from datetime import datetime, timedelta
epoch = datetime(1970, 1, 1)
cookie_microseconds_since_epoch = df['Event Time'].iloc[0]
cookie_datetime = epoch + timedelta(microseconds=cookie_microseconds_since_epoch)
str(cookie_datetime)
谢谢!
答案 0 :(得分:2)
使用pd.to_datetime
并将unit
指定为微秒。请注意,微秒单位为us
(我不知道几分钟前(-:)
df['Event Time'] = pd.to_datetime(df['Event Time'], unit='us')
df = pd.DataFrame({'Event Time': [1519952249827533]})
df['Event Time'] = pd.to_datetime(df['Event Time'], unit='us').dt.floor('s')
df
Event Time
0 2018-03-02 00:57:29
如果您想要字符串结果而不是Timestamps
,请使用strftime
pd.to_datetime(df['Event Time'], unit='us').dt.strftime('%Y-%m-%d %H:%M:%S')
0 2018-03-02 00:57:29
Name: Event Time, dtype: object
有关使用strftime的更多信息,请参见strftime.org。