Python I';我使用熊猫数据帧,我需要在不使用循环的情况下将一整列历元时间戳转换为人类时间

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循环,这需要很多时间:

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