我正在尝试从 csv 创建一个数据框,它的第一列就像
"2013-08-25T00:00:00-0400";
"2013-08-25T01:00:00-0400";
"2013-08-25T02:00:00-0400";
"2013-08-25T03:00:00-0400";
"2013-08-25T04:00:00-0400";
这是带时区的日期时间!我已经用过类似的东西
df1 = DataFrame(pd.read_csv(PeriodC, sep=';', parse_dates=[0], index_col=0))
但结果是
2013-09-02 04:00:00
2013-09-03 04:00:00
2013-09-04 04:00:00
2013-09-05 04:00:00
2013-09-06 04:00:00
2013-09-07 04:00:00
2013-09-08 04:00:00
谁能解释一下如何将日期时间与时区分开?
原文由 palas 发布,翻译遵循 CC BY-SA 4.0 许可协议
Pandas 解析器将考虑时区信息(如果可用),并为您提供原始时间戳(原始 == 无时区信息),但会考虑时区偏移量。
要将时区信息保留在您的 DataFrame 中,您应该首先将时间戳本地化为
UTC
然后将它们转换为它们的时区(在本例中为Etc/GMT+4
):如果要完全丢弃时区信息,则只需指定
date_parser
拆分字符串并仅将日期时间部分传递给解析器。