ホームページ > バックエンド開発 > Python チュートリアル > Pandas のタイムゾーン対応 DateTimeIndex を特定のタイムゾーンの Naive タイムスタンプに変換する方法

Pandas のタイムゾーン対応 DateTimeIndex を特定のタイムゾーンの Naive タイムスタンプに変換する方法

Mary-Kate Olsen
リリース: 2024-11-04 12:18:30
オリジナル
987 人が閲覧しました

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

Convert Pandas Timezone-Aware DateTimeIndex to Naive Timestamp in Specified Timezone

Pandas は、タイムゾーン対応のタイムスタンプまたは DateTimeIndex を作成する 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>
ログイン後にコピー

タイムゾーンを None に設定すると、タイムゾーンは削除されますが、タイムスタンプが UTC に変換され、表示される時間が変更されます。

解決策 (Pandas 0.15.0 ):

Pandas 0.15.0 以降、tz_localize メソッドを使用してタイムゾーンを None に設定できるようになりました。これにより、現地時間を維持しながらタイムゾーン情報が削除されます:

<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 を特定のタイムゾーンの Naive タイムスタンプに変換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート