Python中如何将time.time()生成的时间戳转多时区时间并新增列?
处理Unix时间戳并转换为多时区时间
首先,time.time()生成的是秒级Unix时间戳,我们可以用Pandas的时间处理工具快速完成转换和时区转换,以下是完整实现代码:
import pandas as pd import time # 生成示例数据(模拟第三方数据集) df = pd.DataFrame(columns=['number', 'timeStamp']) for t in range(4): df.at[t, 'number'] = t df.at[t, 'timeStamp'] = time.time() time.sleep(1) # 1. 将timeStamp列转换为UTC时间(Unix时间戳默认对应UTC) df['UTC_Time'] = pd.to_datetime(df['timeStamp'], unit='s') # 2. 转换为本地时间 df['Local_Time'] = df['UTC_Time'].dt.tz_localize('UTC').dt.tz_convert('local') # 3. 新增纽约时间和伦敦时间 df['NYK_Time'] = df['UTC_Time'].dt.tz_localize('UTC').dt.tz_convert('America/New_York') df['LONDON_Time'] = df['UTC_Time'].dt.tz_localize('UTC').dt.tz_convert('Europe/London') # 可选:删除中间UTC列(如果不需要) # df.drop('UTC_Time', axis=1, inplace=True) print(df)
关键说明:
pd.to_datetime(df['timeStamp'], unit='s'):将秒级Unix时间戳转为UTC时间对象tz_localize('UTC'):明确标记当前时间为UTC时区tz_convert('时区名称'):将UTC时间转换为目标时区时间,常用时区名称可通过pd.date_range(start='2020-01-01', periods=1, tz='UTC').tz相关方法查看- 本地时间用
'local'可自动识别系统时区,也可手动指定具体时区如'Asia/Shanghai'
内容的提问来源于stack exchange,提问作者Ussu20
相关产品推荐
相关产品推荐

