Python I';我使用熊猫数据帧,我需要在不使用循环的情况下将一整列历元时间戳转换为人类时间
目前我正在使用for循环,这需要很多时间:Python I';我使用熊猫数据帧,我需要在不使用循环的情况下将一整列历元时间戳转换为人类时间,python,pandas,time-series,epoch,Python,Pandas,Time Series,Epoch,目前我正在使用for循环,这需要很多时间: for i in range (0,len(df)): df['time1[i]']=(time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(df.time[i]))) 有人能建议一种没有循环和更快的方法吗?你可以简单地使用pd.to\u datetime和unit='ms'如果你有其他时间单位,比如秒、分,你可以在unit部分指定 time 1527910027791 1527911500516
for i in range (0,len(df)):
df['time1[i]']=(time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(df.time[i])))
有人能建议一种没有循环和更快的方法吗?你可以简单地使用
pd.to\u datetime
和unit='ms'
如果你有其他时间单位,比如秒、分,你可以在unit部分指定
time
1527910027791
1527911500516
df['time'] = pd.to_datetime(df['time'], unit='ms')
print(df)
2018-06-02 03:27:07.791
2018-06-02 03:51:40.516
如果您的时间戳是UTC,那么您可以简单地转换为本地时间
df['time'] = pd.to_datetime(df['time'], unit= 'ms').dt.tz_localize('utc') \
.dt.tz_convert(tz='USE YOUR TIME ZONE HERE').apply \
(lambda x: datetime.replace(x, tzinfo=None))
如果需要GMT+一些小时之类的信息,那么您可以忽略上面使用
apply
和lambda
的代码您可以添加一些数据样本吗?时间响应字节0 1514772306.266 0 396 1 1514772306.806 0 393 2 1514772306.808 0 393