XML ファイルを操作する場合、42580.3333333333 などの Excel スタイル形式のタイムスタンプが発生することがあります。幸いなことに、Pandas はこれらの数値を通常の datetime オブジェクトに変換する簡単な方法を提供します。
この変換を実行するには、TimedeltaIndex とスカラー datetime という 2 つの主要なコンポーネントを利用します。 TimedeltaIndex は Excel スタイルの float 値から作成され、特定の日付からの日数を表します。この TimedeltaIndex を 1900 年 1 月 1 日のスカラー日時に追加することで、タイムスタンプを対応する日付と時刻に効果的に調整します。
このプロセスを示す例は次のとおりです。
import pandas as pd import datetime as dt df = pd.DataFrame({'date': [42580.3333333333, 10023]}) df['real_date'] = pd.TimedeltaIndex(df['date'], unit='d') + dt.datetime(1900, 1, 1) print(df)
出力:
date real_date 0 42580.333333 2016-07-31 07:59:59.971200 1 10023.000000 1927-06-12 00:00:00.000000
または、次の日付を扱う場合は、 1899 年 12 月 30 日に始まる Excel の日付システムでは、次のように変換を調整できます:
df['real_date'] = pd.TimedeltaIndex(df['date'], unit='d') + dt.datetime(1899, 12, 30)
この修正により、日付が Excel の内部日付システムに合わせられ、正確な日付変換が保証されます。
以上がPandas は Excel スタイルの日付を標準の Datetime オブジェクトにどのように変換できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。