PandasにおけるDataFrameの日付から曜日を取得する

PandasにおけるDataFrameの日付から曜日を取得してみます。

■Python

今回のPythonのバージョンは、「3.8.5」を使用しています。(Windows10)(pythonランチャーでの確認)

■DataFrameの日付から曜日を取得する

では、早速DataFrameの日付から曜日を取得するスクリプトを書いていきます。

■コード

import pandas as pd

date = '2021/02/19'

date = pd.to_datetime(date, format="%Y/%m/%d")

print(date.day_name())

インポートでPandasモジュールを呼び出します。dateという変数を作成し、その中に、日付を記述し格納します。格納後、dateという変数に対して、pd.to_datetime()と記述し、変数内の日付を日付データに変換します。変換する際は、括弧内の第1の引数に、日付を格納した変数を指定し、第2の引数には、「format=」でフォーマットを指定します。

その後、日付データに変換した日付を、date.day_name()で曜日をprint関数で出力してみます。

■実行

今回のスクリプトを「day_from_date.py」という名前で保存し、コマンドプロンプトから実行してみます。

実行してみると、今回変数の中に格納した日付「2021/02/19」が「Friday(金曜日)」であることを出力できました。

■日本語の曜日を取得する

次に日本語の曜日を取得してみます。

■コード

import pandas as pd
import datetime as dt
import locale

locale.setlocale(locale.LC_TIME, '')

date = '2021/02/19'

date = pd.to_datetime(date, format="%Y/%m/%d")

print(date.strftime('%A'))

日本語の曜日を取得する際は、localeモジュールとdatetimeモジュールを使用します。この2つのPythonの標準ライブラリですので、事前にインストールする必要はありません。

なお、locale.setlocale()を使ってロケールを変更する際に、「locale.setlocale(locale.LC_TIME, ‘ja_JP.UTF-8’)」としてしまうと、日本語の曜日が、一部文字化けしてしまいました。そのため、「locale.setlocale(locale.LC_TIME, ”)」と記述しています。

■実行

このスクリプトを「day_from_date_2.py」という名前で保存し、コマンドプロンプトから実行してみます。

実行してみると、変数の中に格納した日付「2021/02/19」の曜日が日本語で出力できることを確認できました。

コメント

タイトルとURLをコピーしました