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

Python Pandas入門:DateTimeIndex.strftime()で日付書式を指定した整形済み文字列のインデックスを取得する方法

日付書式(date format)を指定して整形済み文字列のインデックスを返すには、PandasのDateTimeIndex.strftime()メソッドを使用します。このメソッドを使うことで、「2021年10月30日は土曜日でした」のような、人間が読みやすい形式の日付文字列を簡単に生成できます。

必要なライブラリのインポート

まず、必要なライブラリをインポートします。

import pandas as pd

DatetimeIndexの作成

次に、期間7・頻度「2D」(2日ごと)・タイムゾーン「Australia/Adelaide」を指定したDatetimeIndexを作成します。

datetimeindex = pd.date_range('2021-10-30 02:30:50', periods=7, tz='Australia/Adelaide', freq='2D')

DateTimeIndexの表示

作成したDateTimeIndexを表示してみましょう。

print("DateTimeIndex...\n", datetimeindex)

strftime()による書式設定

strftime()メソッドに書式ディレクティブを渡して、整形済みの文字列インデックスを取得します。

print("\nFormat with different directives...\n",
datetimeindex.strftime('%b. %d, %Y was a %A'))

完全なコード例

以下が実行コード全体です。

import pandas as pd

# 期間7・頻度2D(2日ごと)のDatetimeIndexを作成
# タイムゾーンは Australia/Adelaide を指定
datetimeindex = pd.date_range('2021-10-30 02:30:50', periods=7, tz='Australia/Adelaide', freq='2D')

# DateTimeIndexを表示
print("DateTimeIndex...\n", datetimeindex)

# DateTimeIndexの頻度を表示
print("\nDateTimeIndex frequency...\n", datetimeindex.freq)

# 書式ディレクティブを適用した結果を表示
print("\nFormat with different directives...\n",
datetimeindex.strftime('%b. %d, %Y was a %A'))

出力結果

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

DateTimeIndex...
DatetimeIndex(['2021-10-30 02:30:50+10:30', '2021-11-01 02:30:50+10:30',
'2021-11-03 02:30:50+10:30', '2021-11-05 02:30:50+10:30',
'2021-11-07 02:30:50+10:30', '2021-11-09 02:30:50+10:30',
'2021-11-11 02:30:50+10:30'],
dtype='datetime64[ns, Australia/Adelaide]', freq='2D')

DateTimeIndex frequency...
<2 * Days>

Format with different directives...
Index(['Oct. 30, 2021 was a Saturday', 'Nov. 01, 2021 was a Monday',
'Nov. 03, 2021 was a Wednesday', 'Nov. 05, 2021 was a Friday',
'Nov. 07, 2021 was a Sunday', 'Nov. 09, 2021 was a Tuesday',
'Nov. 11, 2021 was a Thursday'],
dtype='object')

主な書式ディレクティブの解説

この例で使用している書式ディレクティブは以下の通りです。

%b … 月の省略名(Oct、Novなど)
%d … 日(ゼロ埋めの2桁)
%Y … 4桁の西暦年
%A … 曜日の完全な名前(Saturday、Mondayなど)

これらのディレクティブを組み合わせることで、用途に応じた柔軟な日付文字列を作成できます。レポート作成やデータの可視化の際に、日付を見やすい形式へ変換したい場合に非常に便利です。

  1. Python・Pandasでインデックスの最小値を取得する方法(index.min()の使い方)

    Pandasのインデックス(Index)から最小値を返すには、index.min()メソッドを使用します。このメソッドを呼び出すだけで、インデックスに含まれる要素の中から最も小さい値を簡単に取得できます。まず、必要なライブラリをインポートしましょう。import pandas as pdPandasインデックスの作成次に、数値データを含むPandasインデックスを作成します。index = pd.Index([10.5, 20.4, 40.5, 25.6, 5.7, 6.8, 30.8, 50.2])作成したインデックスを表示して確認します。print(Pandas Index...\n, i

  2. Pythonで解く「バディ文字列」問題:1回のスワップで2つの文字列を一致させられるか判定する

    問題の概要小文字だけで構成された2つの文字列 A と B が与えられたとします。このとき、A の中から2文字を選んで入れ替える(スワップする)操作をちょうど1回行うことで、A を B と一致させることができるかどうかを判定するのが「バディ文字列(Buddy Strings)」問題です。例えば、入力が A = ba、B = ab の場合、先頭の2文字を入れ替えるだけで両者は一致するため、出力は True になります。解法のアプローチこの問題は、以下の手順に沿って判定することで効率的に解けます。A と B の長さが異なる場合は False を返します。そもそも文字数が違えば、どんなスワップを行って