📅  最后修改于: 2023-12-03 15:10:18.259000             🧑  作者: Mango
在数据处理中,经常需要处理时区问题,特别是在不同地区、不同时段的数据查询和分析中。Python 提供了丰富的时区操作库,其中 pandas 是其中一个非常常用的。本文将介绍如何使用 pandas 将 tz naive 的数据帧时间索引转换为 tz 感知的时间。
import pandas as pd
from pytz import timezone
# 创建一个数据帧,以时间戳为索引,使用上海时区
tz = timezone('Asia/Shanghai')
dates = pd.date_range('2019-01-01', '2019-01-02', freq='1h', tz=tz)
df = pd.DataFrame(range(24), index=dates, columns=['value'])
print(df.index)
# 将 tz naive 转化为 tz 感知
df.index = df.index.tz_localize(None).tz_localize(tz)
print(df.index)
pandas
和 pytz
。pytz
是一个第三方时区操作库,比 Python 标准库中提供的时区操作更加丰富。value
。tz_localize
将 tz naive 的时间转换为 tz 感知的时间,并将其赋值给数据帧索引。