Python Pandas – ナイーブなタイムスタンプをローカルタイムゾーンに変換する方法
Pandasにおいて、タイムゾーン情報を持たないナイーブ(naive)なタイムスタンプをローカルタイムゾーンに変換するには、timestamp.tz_localize() メソッドを使用します。tz パラメータに変換先のタイムゾーンを指定することで、タイムスタンプにタイムゾーン情報(tz-aware)を付与できます。
必要なライブラリのインポート
まず、必要なライブラリをインポートします。
import pandas as pd
ナイーブなタイムスタンプの作成
次に、タイムゾーン情報を持たないナイーブなタイムスタンプを作成します。
timestamp = pd.Timestamp('2021-09-14T15:12:34.261811624')タイムゾーンの追加
tz_localize() メソッドの tz パラメータに、任意のタイムゾーンを指定して呼び出します。ここでは例として「オーストラリア/ブリスベン」を設定しています。
timestamp.tz_localize(tz='Australia/Brisbane')
コード例
以下は、ここまでの手順をまとめた完全なコードです。
import pandas as pd
# ナイーブなタイムスタンプを作成
timestamp = pd.Timestamp('2021-09-14T15:12:34.261811624')
# タイムスタンプを表示
print("Timestamp...\n", timestamp)
# タイムゾーンを追加してローカルタイムゾーンに変換
print("\nTimestamp to local time zone...\n", timestamp.tz_localize(tz='Australia/Brisbane'))出力結果
上記のコードを実行すると、以下の出力が得られます。
Timestamp... 2021-09-14 15:12:34.261811624 Timestamp to local time zone... 2021-09-14 15:12:34.261811624+10:00
ポイント解説
出力結果を見ると、元のタイムスタンプ「2021-09-14 15:12:34.261811624」に対して、末尾に「+10:00」というUTCオフセットが付加されていることがわかります。これはブリスベンの標準時がUTC+10時間であることを示しています。
なお、tz_localize() は既存の時刻の値をそのまま維持したままタイムゾーン情報を割り当てるメソッドです。一方、すでにタイムゾーン情報を持つタイムスタンプを別のタイムゾーンの時刻に変換したい場合は、tz_convert() メソッドを使用します。両者の違いを理解しておくと、時刻データの扱いで混乱しにくくなります。
-
【Python】PandasのDataFrameを日付(時間)条件でフィルタリングする方法
PandasのDataFrameを特定の日付を基準にフィルタリングしたい場合は、locを使い、その中に抽出条件を指定することで、目的のレコードを簡単に取得できます。この記事では、購入日(Date_of_Purchase)を条件にデータを絞り込む具体的な手順を解説します。 1. 必要なライブラリをインポートする まずはPandasをインポートします。 import pandas as pd 2. 日付データを含む辞書を作成する 次に、車種と購入日のデータを持つ辞書(リスト形式)を作成します。 d = { Car: [BMW, Lexus, Audi, Mercedes, Jaguar
-
Pythonで日付文字列をタイムスタンプに変換する方法【mktime活用】
Pythonで日付を表す文字列をタイムスタンプ(UNIX時間)に変換したい場合、「time」パッケージに含まれるmktimeメソッドを使用するのが一般的です。この記事では、具体的なコード例と実行結果をもとに、その手順をわかりやすく解説します。 サンプルコード import time import datetime my_string = 24/03/2021 print(The date string is :) print(my_string) print(The timestamp is :) print(time.mktime(datetime.datetime.strptime(my