如何在保留時區的同時將Pandasonic 時區感知的DateTimeIndex 轉換為樸素時間戳
問題:
如何轉換具有時區感知能力的pandas時間戳或DateTimeIndex 為天真的而不修改其時區?原始程式碼:
使用tz = None 刪除時區,但也會將時間轉換為UTC:<code class="python">t.tz = None</code>
建議解:
從pandas 0.15.0 開始:
使用tz_localize(None) 刪除時區<code class="python">t.tz_localize(None)</code>或使用tz_convert(None) 刪除時區並轉換為UTC:
<code class="python">t.tz_convert(None)</code>
Pre-pandas 0.15.0:Pre-pandas 0.15.0:
Pre-pandas 0.15.0:0.15.
<code class="python">pd.DatetimeIndex([i.replace(tzinfo=None) for i in t])</code>手動取代使用清單理解的None 時區資訊。但是,此方法的效率低於內建方法。
示例:
<code class="python">t = pd.date_range(start="2013-05-18 12:00:00", periods=2, freq='H', tz="Europe/Brussels") # Using 'tz_localize(None)' t_naive_local = t.tz_localize(None) # Using 'tz_convert(None)' t_naive_utc = t.tz_convert(None) print(t_naive_local) print(t_naive_utc)</code>
輸出:
DatetimeIndex(['2013-05-18 12:00:00', '2013-05-18 13:00:00'], dtype='datetime64[ns]', freq='H') DatetimeIndex(['2013-05-18 10:00:00', '2013-05-18 11:00:00'], dtype='datetime64[ns]', freq='H')
以上是如何在不更改時區的情況下將時區感知的 Pandas DateTimeIndex 轉換為樸素時間戳?的詳細內容。更多資訊請關注PHP中文網其他相關文章!