ホームページ  >  記事  >  バックエンド開発  >  超完成度! Python で特定の日付の「曜日」を取得する 6 つの方法!

超完成度! Python で特定の日付の「曜日」を取得する 6 つの方法!

WBOY
WBOY転載
2023-04-19 09:28:022328ブラウズ

超完成度! Python で特定の日付の「曜日」を取得する 6 つの方法!

Python でデータ分析を実行する場合、たとえば売上の周期的なパターンを見つけるために、日付ごとにグループ化して集計することも必要になります。

したがって、データ統計に Python を使用する前に、指定された日付から曜日を取得するという追加の手順を追加する必要があります。たとえば、2022年2月22日は旧暦第一月22日の火曜日に当たるため、この日に婚姻届を提出する人が特に多くなります。この記事では、2022-02-22 を例として、Python で指定した日付の「曜日」を取得する 6 つの方法を説明します。

超完成度! Python で特定の日付の「曜日」を取得する 6 つの方法!

weekday()

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()

isoweekday() メソッドは、前の Weekday() メソッドと同様に機能します。最大の違いは、「曜日」を表す 1 ~ 7 の整数を返すことです。月曜日" 「日曜日」へ。

対話型環境で次のコマンドを入力します。

import datetime
datetime.date(2022, 2, 22).isoweekday()

出力:

2

今回の出力結果はそのまま「week 2」です。

strftime()

日付の英語の週名を直接出力したい場合は、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'

calendar

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'

pendulum

datetime モジュールには、タイム ゾーンの問題の処理など、いくつかの制限もあります。振り子モジュールは、組み込みの datetime モジュールのすべての問題を解決できるサードパーティのオープン ソース ライブラリです。

https://www.php.cn/link/ebc03fa648c2cd7da9d63b9ed835664e

もちろん曜日を出力する方法もあります指定された日付の場合。

対話型環境で次のコマンドを入力します。

import pendulum
pendulum.parse('2022-02-22').day_of_week

出力:

2

出力結果はそのまま「week 2」です。

Pandas

最後に、私が最もよく使用するメソッドの 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

出力は次のようになります。

超完成度! Python で特定の日付の「曜日」を取得する 6 つの方法!

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 つの方法!

今日の記事では、指定した日付から曜日を取得する方法を合計6つ紹介しました。

私の共有がお役に立てば幸いです。記事の最後に友達が表示されたら、離れる前に右下隅に「いいね」を押してください~

以上が超完成度! Python で特定の日付の「曜日」を取得する 6 つの方法!の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事は51cto.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。