見出し画像

SQL・Pythonデータ処理に役立つ!日付・日時型の完全変換チートシート(SQL,Numpy,Pandas,Datatimeの変換)


本記事の内容

日付や日時データの取り扱いは、データ分析やシステム開発で頻繁に登場する作業です。Pythonでこれらのデータを効率よく扱うために、datetime、Pandas、Numpy、さらにはSQLやUnix Timeに関連する型を徹底解説します。この記事では、それぞれの型の特徴と変換方法を一目で理解できるよう、シンプルなチートシート形式でまとめました。

困った際、見返すためにぜひ、ブックマークといいねをお願いします!

X(Twitter)で有益な情報を告知しているので、よかったらフォローお願いします!

よく使う型について

まずはそれぞれのよく使う型について、一覧で記載します。

1. datetime モジュールの型

Python標準ライブラリの datetime モジュールに含まれる日付型。

datetime モジュールの型

2. Pandasの型

Pandasは大量のデータを扱うために効率的な日付型を提供します。

Pandasの型

3. Numpyの型

Numpyは日付型を効率よく処理するための特殊な型を提供します。

Numpyの型

4. Unix時間(POSIX時間)

  • 型: 整数または浮動小数点数

  • 説明: 1970年1月1日からの経過秒数を表す形式。多くのシステムやAPIで使用される。

  • 例: 1706784000 (2024-02-01 00:00:00 のUnixタイムスタンプ)

5. 文字列形式の日付

日付データが文字列として保存されている場合も一般的に扱われます。

文字列形式の日付

6. SQLの型

SQLの型

上記では型の一覧を記載してきましたが、以下にこの型をそれぞれ変換する方法を記載します。変換する際に困ったらすぐにこのページを再確認できるようにいいねブックマークをお願いします!

型変換方法の一覧

1. datetime モジュール(Python標準ライブラリ)を基にした変換一覧

datetime.dateを基にした表
・使用しているサンプルデータ
date_obj = datetime.date(2024, 2, 1)

datetime.date

datetime.timeを基にした表
※使用しているサンプルデータ
time_obj = datetime.time(12, 34, 56)

datetime.time

datetime.datetime を基にした表
※使用しているサンプルデータ
datetime_obj = datetime.datetime(2024, 2, 1, 12, 34, 56)

datetime.datetime

2. Pandasの型を基にした変換一覧

pd.Timestamp を基にした表
※使用しているサンプルデータ
timestamp_obj = pd.Timestamp('2024-02-01 12:34:56'))

pd.Timestamp

pd.DatetimeIndex を基にした表
※使用しているサンプルデータ
datetime_index = pd.DatetimeIndex(['2024-02-01'])

pd.DatetimeIndex

pd.Timedelta を基にした表
※使用しているサンプルデータ
timedelta_obj = pd.Timedelta('7 days')

pd.Timedelta

pd.Period を基にした表
※使用しているサンプルデータ
period_obj = pd.Period('2024-02', freq='M')

pd.Period

pd.PeriodIndex を基にした表
※使用しているサンプルデータ
period_index = pd.period_range('2024-01', '2024-12', freq='M')

pd.PeriodIndex

3. 文字型 (str) を基にした変換一覧

文字型 (str) を基にした表 (Python datetime及び、Padans)
※使用しているサンプルデータ
str_obj = '2024-02-01 12:34:56'

文字型 (str) / Python datetime及び、Padansの変換

数値形式の文字列
※使用しているサンプルデータ
str_obj = '20240201'

数値形式の文字列

日付のみの文字列
※使用しているサンプルデータ
str_obj = '2024-02-01'

日付のみの文字列

スラッシュ区切りの文字列
※使用しているサンプルデータ
str_obj = '2024/02/01'

スラッシュ区切りの文字列

4. numpyの型を基にした変換一覧

numpy.datetime64 を基にした表
※使用しているサンプルデータ
変換元 (例: datetime64_obj = np.datetime64('2024-02-01T12:34:56'))

numpy.datetime64

numpy.timedelta64 を基にした表
※使用しているサンプルデータ
timedelta64_obj = np.timedelta64(7, 'D'))

numpy.timedelta64

文字型 (str)を基にnumpy.datetime64で変換した表

numpy.datetime64

文字型 (str)を基にnumpy.timedelta64で変換した表

numpy.timedelta64

5. SQLの型を基にした変換一覧

DATE型 を基にした表
※使用しているサンプルデータ
DATE : '2024-02-01'

DATE型

DATE型 を基にした表
※使用しているサンプルデータ
TIME '12:34:56'

TIME

DATETIME型 を基にした表
※使用しているサンプルデータ
DATETIME '2024-02-01 12:34:56'

DATETIME型

TIMESTAMP型 を基にした表
※使用しているサンプルデータ
TIMESTAMP '2024-02-01 12:34:56 UTC'

TIMESTAMP型

INTERVAL型 を基にした表
※使用しているサンプルデータ
INTERVAL '7 days'

INTERVAL型

Unix Time型 を基にした表
※使用しているサンプルデータ
1706788496

Unix Time型

文字列型を基にした表

文字列型

最後に

以上です。
型変換は種類が多く、混乱しがちですが冷静に1つずつ変換すれば慣れてくると思います。ぜひ、参考にしてみて下さい。

データ分析や業務効率化についての副業も募集してます。
案件の連絡はX(旧ツイッター)からお願いします!

いいなと思ったら応援しよう!

K.M
よろしければサポートお願いします。 サポートいただいた方のリクエストに出来るだけ応えた記事を書いていければと思います。