>  기사  >  백엔드 개발  >  Pandas 시간대 인식 DateTimeIndex를 특정 시간대의 순진한 타임스탬프로 변환하는 방법은 무엇입니까?

Pandas 시간대 인식 DateTimeIndex를 특정 시간대의 순진한 타임스탬프로 변환하는 방법은 무엇입니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-11-04 12:18:30889검색

How to Convert a Pandas Timezone-Aware DateTimeIndex to a Naive Timestamp in a Specific Timezone?

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.