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」の曜日が日本語で出力できることを確認できました。
コメント