2013-04-12 36 views
0

我有一個支持時區的TimeSeries 0.10.1。我想要導出到Excel,但時區會阻止日期在Excel中被識別爲日期。我可以將熊貓DataFrame導出到Excel剝離tzinfo嗎?

In [40]: resultado 
Out[40]: 
fecha_hora 
2013-04-11 13:00:00+02:00 31475.568 
2013-04-11 14:00:00+02:00 37263.072 
2013-04-11 15:00:00+02:00 35979.434 
2013-04-11 16:00:00+02:00 35132.890 
2013-04-11 17:00:00+02:00 36356.584 

如果我剝用.tz_convert(None)的tzinfo,日期被轉換爲UTC:

In [41]: resultado.tz_convert(None) 
Out[41]: 
fecha_hora 
2013-04-11 11:00:00 31475.568 
2013-04-11 12:00:00 37263.072 
2013-04-11 13:00:00 35979.434 
2013-04-11 14:00:00 35132.890 
2013-04-11 15:00:00 36356.584 

是否有適用於.replace(tzinfo=None)索引中的各日起TimeSeries的方法?

另外,有沒有辦法正確導出時間感知的TimeSeries到Excel?

回答

2

您可以簡單地創建一個沒有時區的副本。

import pandas as pa 

time = pa.Timestamp('2013-04-16 10:08', tz='Europe/Berlin') 
time_wo_tz = pa.datetime(year=time.year, month=time.month, day=time.day, 
         hour=time.hour, minute=time.minute, second=time.second, 
         microsecond=time.microsecond) 

當你想將時間序列的整個索引轉換,使用列表理解。

ts.index = [pa.datetime(year=x.year, month=x.month, day=x.day, 
         hour=x.hour, minute=x.minute, second=x.second, 
         microsecond=x.microsecond) 
      for x in ts.index] 
+0

其實,我不想循環索引。我相信.replace比使用每個組件重新創建日期更清晰。 – rapto

+0

好的。但由於日期時間是不可變的(並且應該是不可變的),所以如果不創建副本,您可能不會找到這樣的函數。 有什麼可以幫助的是某些轉換函數,同時寫入csv。雖然這似乎存在'write_csv',它不適用於'to_csv'和'to_excel'。 –