タイムゾーンを変更せずにタイムゾーン対応の Pandas DateTimeIndex を単純なタイムスタンプに変換する方法

Barbara Streisand
リリース: 2024-11-04 13:04:30
オリジナル
991 人が閲覧しました

How to Convert a Timezone-Aware Pandas DateTimeIndex to Naive Timestamps Without Changing the Timezone?

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

問題:

タイムゾーンを変更せずに、タイムゾーン対応のパンダの Timestamp または 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>
    ログイン後にコピー
  • Prepandas 0.15.0:

    リスト内包表記を使用して、タイムゾーン情報を手動で None に置き換えます。ただし、このメソッドは組み込みメソッドよりも効率が低くなります。

    <code class="python">pd.DatetimeIndex([i.replace(tzinfo=None) for i in t])</code>
    ログイン後にコピー

例:

<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 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!