首頁 >後端開發 >Python教學 >如何將 Pandas 時區感知的 DateTimeIndex 轉換為特定時區的樸素時間戳記?

如何將 Pandas 時區感知的 DateTimeIndex 轉換為特定時區的樸素時間戳記?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-11-04 12:18:30983瀏覽

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

將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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn