Pandas에서 시간대 인식 타임스탬프를 순진한 현지 시간으로 변환하는 방법
Pandas에서는 tz_localize 함수를 사용하여 타임스탬프를 생성합니다. 또는 시간대를 인식하는 DateTimeIndex. 그러나 이미 시간대를 인식하는 데이터를 처리할 때는 현지 시간에 대한 시간대 정보를 유지하면서 이를 원래의 타임스탬프로 다시 변환해야 할 수도 있습니다.
한 가지 옵션은 시간대를 없음으로 설정하는 것입니다. , 그러나 이로 인해 시간이 UTC로 변환됩니다. 이를 방지하기 위해 pandas는 사용자에게 표시되는 시간을 현지 시간대에서 유지하면서 시간대 정보를 효과적으로 제거하는 tz_localize(None) 함수를 제공합니다.
예를 들어 다음 시간대를 고려하세요. -aware DateTimeIndex:
t = pd.date_range(start="2013-05-18 12:00:00", periods=2, freq='H', tz="Europe/Brussels")
tz_localize(None)를 사용하면 이를 순진한 현지 시간으로 변환할 수 있습니다.
t_naive_local = t.tz_localize(None)
결과 인덱스는 이전과 동일한 시간을 갖지만 시간대 정보 없이:
t_naive_local DatetimeIndex(['2013-05-18 12:00:00', '2013-05-18 13:00:00'], dtype='datetime64[ns]', freq='H')
또한 pandas는 시간대 정보를 제거하고 시간을 UTC로 변환하여 순진한 UTC 시간을 생성하는 tz_convert(None) 함수도 제공합니다.
이 변환은 다음 타이밍에서 알 수 있듯이 datetime.replace 메서드를 사용하는 대체 접근 방식보다 훨씬 더 효율적입니다.
%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
이러한 기능을 활용하면 쉽게 변환할 수 있습니다. 시간대 인식 팬더 데이터를 현지 시간 또는 UTC로 변환하여 사용자가 볼 수 있는 시간을 보존하고 데이터 처리 효율성을 높입니다.
위 내용은 Pandas에서 시간대 인식 타임스탬프를 순진한 현지 시간으로 변환하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!