我试图从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
有人能给我解释一下如何把日期时间和时区分开吗?
如果您正在使用
pandas
,则可以尝试Pandas解析器将考虑时区信息(如果可用),并给您一个简单的时间戳(naive==no timezone info),但要考虑时区偏移量。
要将时区信息保留在数据帧中,首先应将时间戳本地化为
UTC
,然后将其转换为时区(在本例中为Etc/GMT+4
):如果您想完全放弃时区信息,那么只需指定一个
date_parser
,它将拆分字符串并只将datetime部分传递给解析器。来自https://stackoverflow.com/a/18912631/4318671的
x.rpartition('-')
不太好。从infloxdb获取的带有“Asia/Shanghai”的datetime的字符串格式为:
相关问题 更多 >
编程相关推荐