Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonで現在の週番号を取得する方法

Pythonで今日が一年のうち何週目にあたるのかを調べたい場合は、標準ライブラリのdatetimeモジュールが提供するisocalendar()メソッドを使うのが最も簡単です。

isocalendar() メソッドの基本

isocalendar()は、ISO 8601形式の暦に基づいて情報を返すメソッドです。まずdateオブジェクトを作成し、そのオブジェクトに対してisocalendar()を呼び出します。戻り値は次の3つの要素を持つタプルです。

  • 年(year):ISO暦における年
  • 週番号(week number):その年の何週目か(1〜53)
  • 曜日(day of week):月曜日を1、日曜日を7とした数値

サンプルコード

import datetime

my_date = datetime.date.today() # 例:日付が2018/01/01の場合
year, week_num, day_of_week = my_date.isocalendar()
print("Week #" + str(week_num) + " of year " + str(year))

実行結果

上記のコードを実行すると、以下のような出力が得られます。

Week #1 of year 2018

補足:より読みやすい書き方

Python 3.9以降では、isocalendar()は名前付きタプルを返すため、属性名を使ってより直感的に値へアクセスできます。

import datetime

today = datetime.date.today()
iso = today.isocalendar()
print(f"{iso.year}年の第{iso.week}週 {iso.weekday}曜日相当")

なお、単純に文字列として週番号が欲しい場合はstrftime("%W")strftime("%U")も使えますが、これらはISO規格とは週の数え方が異なるため、厳密な週番号が必要な場面ではisocalendar()を使用することをおすすめします。

  1. TensorFlowとPythonで画像分類の予測結果を確認・可視化する方法

    TensorFlowでは、「matplotlib」ライブラリの「imshow」メソッドを使ってImageNetによる予測結果を可視化することで、予測を簡単に確認できます。本記事では、その具体的な手順と背景となる概念について解説します。 畳み込みニューラルネットワーク(CNN)とは 少なくとも1つの畳み込み層(Convolutional Layer)を含むニューラルネットワークは、畳み込みニューラルネットワーク(CNN)と呼ばれます。CNNを活用することで、画像認識に強い高性能な学習モデルを構築することが可能です。 転移学習の基本的な考え方 画像分類における転移学習(Transfer Le

  2. TensorFlowとPythonを使ってモデルをトレーニングする方法

    TensorFlowでは、fitメソッドを使ってモデルをトレーニングできます。このメソッドには、エポック数(データセット全体を何回繰り返して学習させるかを示す数値)とトレーニング用データを指定します。実行環境について本記事のコードはGoogle Colaboratory(Google Colab)で実行しています。Google Colabはブラウザ上でPythonコードを実行できるサービスで、面倒な環境構築が不要なうえ、GPU(グラフィックス処理ユニット)を無料で利用できるのが大きな特徴です。ColaboratoryはJupyter Notebookをベースに構築されています。モデルのトレーニ