Python でデータ分析を実行する場合、たとえば売上の周期的なパターンを見つけるために、日付ごとにグループ化して集計することも必要になります。
したがって、データ統計に Python を使用する前に、指定された日付から曜日を取得するという追加の手順を追加する必要があります。たとえば、2022年2月22日は旧暦第一月22日の火曜日に当たるため、この日に婚姻届を提出する人が特に多くなります。この記事では、2022-02-22 を例として、Python で指定した日付の「曜日」を取得する 6 つの方法を説明します。
datetime モジュールは Python の組み込みライブラリです。pip をインストールする必要はありません。日付と日付を表示するだけでなく、時刻だけでなく、日付と時刻の操作や書式設定も実行できます。
datetime モジュールのメソッド Weekday() を使用すると、曜日を取得できます。結果は、「月曜日」から「日曜日」を表す 0 から 6 までの整数を返します。
対話型環境で次のコマンドを入力します:
from datetime import datetime datetime.date(2022, 2, 22).weekday()
出力:
1
コードでは、datetime モジュールは最初に年、月、日で構成される日付を変換します。日時の日付に変換します。次に、weekday() メソッドは「2022-02-22」を取得します。これは火曜日です。
しかし、私たちの家庭の習慣に従って、1を直接出力することはできません。したがって、最初に中国語の「曜日」を含むリストをカスタマイズしてから、インデックス作成を通じて中国語の曜日を返すことができます。
対話型環境で次のコマンドを入力します:
week_list = ["星期一","星期二","星期三","星期四","星期五","星期六","星期日"] week_list[datetime.date(2022, 2, 22).weekday()]
出力:
'星期二'
結果は直接火曜日になります。
isoweekday() メソッドは、前の Weekday() メソッドと同様に機能します。最大の違いは、「曜日」を表す 1 ~ 7 の整数を返すことです。月曜日" 「日曜日」へ。
対話型環境で次のコマンドを入力します。
import datetime datetime.date(2022, 2, 22).isoweekday()
出力:
2
今回の出力結果はそのまま「week 2」です。
日付の英語の週名を直接出力したい場合は、strftime() メソッドを試してみるとよいでしょう。
日時オブジェクトは、strftime() メソッドを使用して文字列として表示できます。私たちは、strftime('%b-%m-%y %H:%M:%S') など、日付形式を文字列形式に変換することに実際に精通しています。コマンドを %A に変更するだけで、日付が取得されます。曜日。
対話型環境で次のコマンドを入力します:
import datetime datetime.date(2022, 2, 22).strftime("%A")
出力:
'Tuesday'
コード内の %A を %a に変更すると、曜日は次のようになります。出力の略語。
datetime.date(2022, 2, 22).strftime("%a")
出力:
'Tue'
Python のカレンダー モジュールも組み込みライブラリであり、カレンダーを処理するための多くのメソッドを提供し、非常に便利です。カレンダー・週間カレンダーなどの作成に使えます。同様に、指定した日付の曜日をクエリするための Weekday() メソッドと day_name() メソッドも提供します。
対話型環境で次のコマンドを入力します:
import calendar calendar.weekday(2022, 2, 22)
出力:
1
これは、最初のメソッドの datetime モジュールの Weekday() メソッドとまったく同じです。その上。
日付の英語の週名を直接出力したい場合、カレンダー モジュールにはこれを実現するメソッドもあります。
import datetime import calendar date_week = datetime.date(2022, 2, 22).weekday() calendar.day_name[date_week]
出力:
'Tuesday'
datetime モジュールには、タイム ゾーンの問題の処理など、いくつかの制限もあります。振り子モジュールは、組み込みの datetime モジュールのすべての問題を解決できるサードパーティのオープン ソース ライブラリです。
https://www.php.cn/link/ebc03fa648c2cd7da9d63b9ed835664e
もちろん曜日を出力する方法もあります指定された日付の場合。
対話型環境で次のコマンドを入力します。
import pendulum pendulum.parse('2022-02-22').day_of_week
出力:
2
出力結果はそのまま「week 2」です。
最後に、私が最もよく使用するメソッドの 1 つについてお話したいと思います。 Xiaowu は通常 Pandas でデータを処理するため、「週」列を生成する際には Pandas のメソッドが確実に優先されます。
Series.dt を使用すると、日時のような形式で系列の値にアクセスし、いくつかのプロパティを返すことができます。 Series.dt.day_name() 関数は、指定されたロケールの DateTimeIndex を含む日付名を返します。
対話型環境で次のコマンドを入力します。
import pandas as pd from datetime import datetime df = pd.DataFrame({ "name": ["张三", "李四", "朱五"], "date": [datetime(2022, 2, 21), datetime(2022, 2, 22), datetime(2022, 2, 23)]}) df
出力は次のようになります。
df["week_num1"] = df["date"].dt.dayofweek df["week_num2"] = df["date"].dt.weekday df["week_name"] = df["date"].dt.day_name() df
以上が超完成度! Python で特定の日付の「曜日」を取得する 6 つの方法!の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。