將Pandas 時區感知的DateTimeIndex 轉換為指定時區的樸素時間戳
Pandas 提供tz_localize 🎜>
Pandas 提供tz_localize 函數來DateTimeIndex 。但如果您想撤銷此操作怎麼辦?如何將時區感知的時間戳轉換為天真的時間戳記而不改變其時區?
問題:<code class="python">t = pd.date_range(start="2013-05-18 12:00:00", periods=10, freq='s', tz="Europe/Brussels")</code>讓我們考慮一個時區感知的DateTimeIndex:
將時區設定為None 會刪除時區,但會刪除時區時間戳轉換為UTC,從而更改可見時間。
解(Pandas 0.15.0 ):<code class="python">t.tz_localize(None)</code>從 Pandas 0.15.0 開始,可以使用 tz_localize 方法將時區設定為 None。這將刪除時區訊息,同時保留本地時間:
這會產生一個簡單的本地時間 DateTimeIndex。
<code class="python">t.tz_convert(None)</code>或者,tz_convert(None) 可用於轉換為簡單的UTC 時間:
效能注意事項:
<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>tz_localize(None)方法比使用循環替換時區資訊高效得多:
以上是如何將 Pandas 時區感知的 DateTimeIndex 轉換為特定時區的樸素時間戳記?的詳細內容。更多資訊請關注PHP中文網其他相關文章!