2013-04-12 2 views
0

팬드 0.10.1에 Timezone aware TimeSeries가 있습니다. Excel로 내보내려고하지만 표준 시간대로 인해 날짜가 Excel에서 날짜로 인식되지 않습니다. 내가 .tz_convert(None)로 tzinfo을 제거하면pandas DataFrame을 tzinfo를 스트리핑하는 Excel로 내보낼 수 있습니까?

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 

날짜는 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를 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) 

timeseries의 전체 색인을 변환하려면 목록 이해를 사용하십시오.

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

그러나 datetimes는 불변이므로 (불변이어야한다), 복사본을 만들지 않고 이런 일을하는 함수를 발견하지 못할 것이다. csv에 쓰는 동안 일종의 변환 기능이 도움이 될 수 있습니다. 이것이'write_csv'에 존재하는 것처럼 보일지라도,'to_csv'와'to_excel'을위한 것이 아닙니다. –