我想设置 Pandas DataFrame 中列值的时区。我正在使用 pandas.read_csv() 读取 DataFrame。
最佳答案
您可以直接从 read_csv
读取 UTC 日期通过手动设置date_parser
函数,例如:
from dateutil.tz import tzutc
from dateutil.parser import parse
def date_utc(s):
return parse(s, tzinfos=tzutc)
df = read_csv('my.csv', parse_dates=[0], date_parser=date_utc)
.
如果您要创建时间序列,则可以使用 date_range
的 tz
参数:
dd = pd.date_range('2012-1-1 1:30', periods=3, freq='min', tz='UTC')
In [2]: dd
Out[2]:
<class 'pandas.tseries.index.DatetimeIndex'>
[2012-01-01 01:30:00, ..., 2012-01-01 01:32:00]
Length: 3, Freq: T, Timezone: UTC
.
如果您的 DataFrame/Series 已按时间序列建立索引,则可以使用 tz_localize
设置时区的方法:
df.tz_localize('UTC')
或者如果它已经有时区,请使用 tz_convert
:
df.tz_convert('UTC')
关于numpy - 如何在 Pandas DataFrame 中设置值的时区?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14002158/