この記事ではPythonで日付と文字列の変換(年月日:yyyymmddや年月日時分秒 hh:mm:ssなど)する方法について解説していきます。
ポイントとしては
・strftime関数
・strptime関数
・pd.to_datetime関数
を使用することです。
pythonなどのプログラミングでは初〜中級者の段階では考えるよりも、見て覚えて慣れてしまうのがおすすめなので、ぜひ本記事をご活用くださいませ。
それでは詳しく確認していきます。
Pythonで日付を文字列に変換する方法【元がyyyymmdd形式】
それではまず、Pythonで日付を文字列に変換する方法(元が年月日、yyyymmdd形式とsします)について解説していきます。
import datetime
# 日付オブジェクトを作成
hiduke = datetime.date(2023, 5, 10)
# 日付を文字列に変換(yyyymmdd形式)
hiduke_str = hiduke.strftime("%Y%m%d")
print(hiduke_str) # 2023年5月10日の日付が文字列"20230510"に変換されて出力される
実行結果は以下の通りです。
Pythonで文字列を日付に変換する方法【元がyyyymmdd形式】
続いては、Pythonで文字列を日付に変換する方法について解説していきます。
元がyyyymmdd形式の文字列とします。
from datetime import datetime
# 文字列を日付に変換
moji = "20230510"
hiduke = datetime.strptime(moji, "%Y%m%d")
print(hiduke) # 文字列"20230510"が2023年5月10日の日付オブジェクトに変換されて出力される
出力結果の例
実行結果は以下の通りです。
Pythonで文字列を日付に変換する方法【データフレームのdate列の文字列データをyyyymmdd hh:mm:ss形式の日付に一括変換】
最後に、Pythonでデータフレームにおける特定列の文字列を日付に一括変換する方法について解説します。
具体的には、データフレームのdate列の文字列データをyyyymmdd hh:mm:ss形式の日付に一括変換してみましょう
import pandas as pd
# サンプルデータフレームを作成
deta = {'date': ['20230510 10:30:45', '20230511 11:15:00', '20230512 14:45:30'],
'value': [100, 200, 300]}
df = pd.DataFrame(deta)
print("変換前:")
print(df.dtypes) # date列のデータ型が文字列(object)であることを確認
# date列の文字列を日付型に変換
df['date'] = pd.to_datetime(df['date'], format='%Y%m%d %H:%M:%S')
print("\n変換後:")
print(df.dtypes) # date列のデータ型が日付型(datetime64[ns])に変換されたことを確認
df #dfを表示
出力結果の例
jupyter notebookでの出力結果のスクショは以下の通りです。
まとめ Pythonの文字列と日付と変換(年月日:yyyymmddや年月日時分秒 hh:mm:ssなど)する方法
この記事では、Pythonでの日付と文字列の変換方法について解説しました。
strftime関数を使って日付を文字列に変換したり、strptime関数で文字列を日付に変換する方法、さらにはpd.to_datetime関数でデータフレームの文字列データを一括で日付型に変換する方法などを紹介しました。
Pythonの扱いになれ、さらに快適な生活を送っていきましょう!