2012-12-22 1 views
6

datetime64[ns]の値を持つパンダシリーズがあります。日付はESTタイムゾーンにあり、UTCタイムゾーンに変換したいと思います。パンダシリーズの値のタイムゾーンを変換する方法

例えば、

UTCに sを変換する方法
s=pd.Series(pd.date_range('2012-1-1 1:30',periods=3,freq='min')) 

(私は実際にそのtzパラメータはオプションではありません使用してそうdate_range()を使用していないことに注意してください。)

答えて

7

更新:

In [11]: s.dt.tz_localize('UTC') 
Out[11]: 
0 2012-01-01 01:30:00+00:00 
1 2012-01-01 01:31:00+00:00 
2 2012-01-01 01:32:00+00:00 
dtype: datetime64[ns, UTC] 
:最近のパンダでは、あなたがこれを放送するためにDTアクセサを使用することができます

はここに1つの方法です(TZがすでに設定されている場合によってはそれがあるかもしれないtz_convertむしろtz_localizeより):

In [21]: from pandas.lib import Timestamp 

In [22]: s.apply(lambda x: x.tz_localize('UTC')) 
Out[22]: 
0 2012-01-01 06:30:00+00:00 
1 2012-01-01 06:31:00+00:00 
2 2012-01-01 06:32:00+00:00 
+0

これは機能しますが、実際は遅いです。これを行うためのブロードキャストベースの方法はありませんか? –

+1

はい! 's.dt.tz_localize'を使用してください(これは2012年に利用できませんでした) –

+0

あなたはそれを新しい回答として投稿できるので、私はそれを投票することができますか? –

関連する問題