ホームページ  >  記事  >  バックエンド開発  >  タイムゾーンを維持しながらタイムゾーン対応の Pandas DateTimeIndex を単純なタイムスタンプに変換する方法

タイムゾーンを維持しながらタイムゾーン対応の Pandas DateTimeIndex を単純なタイムスタンプに変換する方法

Linda Hamilton
Linda Hamiltonオリジナル
2024-11-05 10:13:02331ブラウズ

How to Convert Timezone-Aware Pandas DateTimeIndex to Naive Timestamps While Preserving Timezone?

タイムゾーンを維持しながら、タイムゾーン対応の Pandas DateTimeIndex を単純なタイムスタンプに変換します

はじめに

Pandas は、タイムスタンプと日付時刻にタイムゾーン情報を追加するための tz_localize 関数を提供しますインデックス。ただし、ここでの質問は逆の操作、つまり元のタイムゾーンを維持しながらタイムゾーン対応のタイムスタンプを単純なものに変換することに関するものです。

タイムゾーンを保持した単純なタイムスタンプへの変換

Pandas 0.15.0 以降、この変換を容易にするために、tz_localize(None) メソッドが実装されました。タイムゾーン対応の DateTimeIndex に適用すると、タイムゾーン情報が削除され、単純な現地時間になります。

import pandas as pd

t = pd.date_range(start="2013-05-18 12:00:00", periods=2, freq='H', tz="Europe/Brussels")

t_naive = t.tz_localize(None)  # Naive local time

print(t_naive)
# Output:
# DatetimeIndex(['2013-05-18 12:00:00', '2013-05-18 13:00:00'], dtype='datetime64[ns]', freq='H')

UTC への追加変換

現地時間に加えて、変換することもできます。

t_utc_naive = t.tz_convert(None)  # Naive UTC time

print(t_utc_naive)
# Output:
# DatetimeIndex(['2013-05-18 10:00:00', '2013-05-18 11:00:00'], dtype='datetime64[ns]', freq='H')

パフォーマンスに関する考慮事項

tz_localize(None) メソッドは、datetime.replace ソリューションを使用する場合と比較して非常に効率的です。 DateTimeIndex が大きい場合、パフォーマンスが大幅に向上する可能性があります。

以上がタイムゾーンを維持しながらタイムゾーン対応の Pandas DateTimeIndex を単純なタイムスタンプに変換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。