Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/287.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 熊猫DatezAware_Python_Pandas_Datetime - Fatal编程技术网

Python 熊猫DatezAware

Python 熊猫DatezAware,python,pandas,datetime,Python,Pandas,Datetime,我用的是熊猫,其中一个栏目是年份和时间结构。差不多 2017-10-06T00:00:00+00:00 至少在一开始,我认为我从未给它指定过时区。当前的“数据类型”是“对象” 但是,如果我试图使用 data[datetime] = pd.to_datetime(data[datetime], errors='coerce', yearfirst=True).dt.tz_localize('UTC') 出现一个错误,提示“已识别tz,请使用tz_convert进行转换。” 我的问题是,它本来就

我用的是熊猫,其中一个栏目是年份和时间结构。差不多

2017-10-06T00:00:00+00:00
至少在一开始,我认为我从未给它指定过时区。当前的“数据类型”是“对象”

但是,如果我试图使用

data[datetime] = pd.to_datetime(data[datetime], errors='coerce', yearfirst=True).dt.tz_localize('UTC')
出现一个错误,提示“已识别tz,请使用tz_convert进行转换。”

我的问题是,它本来就是“客体”,怎么能被唤醒呢?如果它知道,它使用的时区是什么?如果我使用tz_convert,它会改变列中的值吗


因为我有另一个数据帧,可以使用tz_localize(“UTC”)而不会出现任何问题。我想比较这两个数据帧,所以如果我使用tz_convert('UTC'),我不希望第一个数据帧的值更改为其他值。

如果datetime是UTC,那么tada就完成了!对于像“2017-10-06T00:00:00+00:00”这样的文本,“+00:00”表示这已经在UTC时区中

如果您知道这是不正确的,因为正如您所说,“不要认为我曾经为它指定过时区。”您可以删除此本地化以使时区“幼稚”

df.index
Out[2]: DatetimeIndex(['2017-10-06 00:00:00+00:00'], dtype='datetime64[ns, UTC]', freq=None)

df.index.tz_localize(None)
Out[3]: DatetimeIndex(['2017-10-06'], dtype='datetime64[ns]', freq=None)
现在它没有本地化,您可以设置一个新的时区,然后转换到它所属的位置

df.index.tz_localize('America/New_York')
Out[8]: DatetimeIndex(['2017-10-06 00:00:00-04:00'], dtype='datetime64[ns, America/New_York]', freq=None)

df.index.tz_localize('America/New_York').tz_convert('UTC')
Out[9]: DatetimeIndex(['2017-10-06 04:00:00+00:00'], dtype='datetime64[ns, UTC]', freq=None)