Pandas DataFrame で整数を日時に変換するには:

df["DataFrame Column"] = pd.to_datetime(df["DataFrame Column"], format=specify format)

注記整数は指定された形式と一致する必要があります。

例1: 「YYYYMMDD」の日付形式

簡単な例から始めるには、「dates」という列に整数(YYYYMMDD形式)を含むDataFrameを作成します。

import pandas as pd

data = {"dates": [20240305, 20240316, 20240328], 
        "status": ["open", "open", "close"]
        }

df = pd.DataFrame(data)

print(df)
print(df.dtypes)

ご覧のとおり、「dates」列の値のデータ型は整数です。

Pandas DataFrame で整数を日時に変換する 1

YYYYMMDD の日付形式は次のように表すことができます (さまざまな形式については次のソースを参照してください)。

format='%Y%m%d'

したがって、整数を日時に変換する完全なコードは次のようになります。

import pandas as pd

data = {"dates": [20240305, 20240316, 20240328], 
        "status": ["open", "open", "close"]
        }

df = pd.DataFrame(data)

df["dates"] = pd.to_datetime(df["dates"], format="%Y%m%d")

print(df)
print(df.dtypes)

Python でコードを実行すると、「dates」列のデータ型が datetime になっていることがわかります。

Pandas DataFrame で整数を日時に変換する 2

例2: 「YYMMDD」の日付形式

ここで、日付が YYMMDD 形式であると仮定します。

import pandas as pd

data = {"dates": [240305, 240316, 240328],
        "status": ["open", "open", "close"]
        }

df = pd.DataFrame(data)

print(df)
print(df.dtypes)

ご覧のとおり、データ型も整数です。

Pandas DataFrame で整数を日時に変換する 3

したがって、YYMMDD を表すために必要な日付形式は次のようになります。

format="%y%m%d"

完全な Python コードは次のようになります。

import pandas as pd

data = {"dates": [240305, 240316, 240328],
        "status": ["open", "open", "close"]
        }

df = pd.DataFrame(data)

df["dates"] = pd.to_datetime(df["dates"], format="%y%m%d")

print(df)
print(df.dtypes)

前と同様に、整数は日時に変換されます。

Pandas DataFrame で整数を日時に変換する 4

例3: 「YYYYMMDDHHMMSS」の日付形式

その場合、指定する必要がある形式は次のとおりです。

format="%Y%m%d%H%M%S"

したがって、完全な Python コードは次のようになります。

import pandas as pd

data = {
    "dates": [20240305093000, 20240316093000, 20240328200000],
    "status": ["open", "open", "closed"],
}

df = pd.DataFrame(data)

df["dates"] = pd.to_datetime(df["dates"], format="%Y%m%d%H%M%S")

print(df)
print(df.dtypes)

これで、日付時刻形式が取得されます。

Pandas DataFrame で整数を日時に変換する 5