Pandas 시간대 인식 DateTimeIndex를 지정된 시간대의 Naive Timestamp로 변환
Pandas는 시간대 인식 Timestamp 또는 DateTimeIndex를 생성하기 위해 tz_localize 함수를 제공합니다. . 하지만 이 작업을 취소하고 싶다면 어떻게 해야 할까요? 시간대를 변경하지 않고 시간대 인식 Timestamp를 기본 타임스탬프로 어떻게 변환합니까?
문제:
시간대 인식 DateTimeIndex를 고려해 보겠습니다.
<code class="python">t = pd.date_range(start="2013-05-18 12:00:00", periods=10, freq='s', tz="Europe/Brussels")</code>
시간대를 없음으로 설정하면 시간대는 제거되지만 타임스탬프는 UTC로 변환되어 표시 시간이 변경됩니다.
해결책(Pandas 0.15.0 ):
Pandas 0.15.0부터 tz_localize 메소드를 사용하여 시간대를 없음으로 설정할 수 있습니다. 이는 현지 시간을 유지하면서 시간대 정보를 제거합니다.
<code class="python">t.tz_localize(None)</code>
이 결과는 순진한 현지 시간 DateTimeIndex가 됩니다.
또는 tz_convert(None)를 사용하여 순진한 UTC 시간으로 변환할 수 있습니다. :
<code class="python">t.tz_convert(None)</code>
성능 고려 사항:
tz_localize(None) 메서드는 루프를 사용하여 시간대 정보를 바꾸는 것보다 훨씬 더 효율적입니다.
<code class="python">%timeit t.tz_localize(None) 1000 loops, best of 3: 233 µs per loop %timeit pd.DatetimeIndex([i.replace(tzinfo=None) for i in t]) 10 loops, best of 3: 99.7 ms per loop</code>
위 내용은 Pandas 시간대 인식 DateTimeIndex를 특정 시간대의 순진한 타임스탬프로 변환하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!