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

Python Pandas - PeriodIndexオブジェクトの文字列表現をフォーマットする方法

PeriodIndexオブジェクトの文字列表現を任意の形式にフォーマットするには、periodIndex.strftime()メソッドを使用します。引数にフォーマット指定子(ディレクティブ)を渡すことで、日付や時刻を読みやすい文字列へ変換できます。

PeriodIndexオブジェクトの作成手順

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

import pandas as pd

次に、PeriodIndexオブジェクトを作成します。PeriodIndexは、時間軸上の一定期間を示す序数値を保持する不変(イミュータブル)なndarrayです。ここでは「freq」パラメータを使って頻度を「Y」(年単位)に設定しています。

periodIndex = pd.PeriodIndex(['2021-09-25 07:30:35', '2019-10-30 04:15:45',
'2020-07-15 02:55:15', '2022-06-25 09:40:55'], freq="Y")

作成したPeriodIndexオブジェクトを表示します。

print("PeriodIndex...\n", periodIndex)

strftime()メソッドでフォーマットした結果を表示します。

print("\nString representation (format with different directives)...\n",
periodIndex.strftime('%b. %d, %Y was a %A'))

コード例

以下が完全なサンプルコードです。

import pandas as pd

# PeriodIndexオブジェクトを作成
# PeriodIndexは、時間軸上の一定期間を示す序数値を保持する不変なndarray
# 「freq」パラメータで頻度を設定
periodIndex = pd.PeriodIndex(['2021-09-25 07:30:35', '2019-10-30 04:15:45',
'2020-07-15 02:55:15', '2022-06-25 09:40:55'], freq="Y")

# PeriodIndexオブジェクトを表示
print("PeriodIndex...\n", periodIndex)

# PeriodIndexの頻度オブジェクトを表示
print("\nPeriodIndex frequency object...\n", periodIndex.freq)

# PeriodIndexの頻度を文字列として表示
print("\nPeriodIndex frequency object as a string...\n", periodIndex.freqstr)

# フォーマットした結果を表示
print("\nString representation (format with different directives)...\n",
periodIndex.strftime('%b. %d, %Y was a %A'))

出力結果

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

PeriodIndex...
PeriodIndex(['2021', '2019', '2020', '2022'], dtype='period[A-DEC]')

PeriodIndex frequency object...
<YearEnd: month=12>

PeriodIndex frequency object as a string...
A-DEC

String representation (format with different directives)...
Index(['Dec. 31, 2021 was a Friday', 'Dec. 31, 2019 was a Tuesday', 'Dec. 31, 2020 was a Thursday', 'Dec. 31, 2022 was a Saturday'],
dtype='object')

主なフォーマット指定子

strftime()メソッドでよく使われる指定子は以下の通りです。

  • %Y:4桁の年(例: 2021)
  • %b:月の省略名(例: Dec)
  • %d:ゼロ埋め2桁の日(例: 31)
  • %A:曜日の完全名(例: Friday)

なお、freq="Y"を指定した場合、各要素は年の終わり(12月31日)を示す期間となるため、元の入力データの日時に関わらず、出力はすべて12月31日の日付になります。これはPeriodIndexが「時点」ではなく「期間」を表すためです。特定の日付をそのまま扱いたい場合は、freqを変更するかDatetimeIndexの使用を検討してください。

  1. Python・Pandasでインデックスがobject型(dtype)かどうかを確認する方法

    Pandasのインデックスがobject型(dtype)であるかどうかを確認するには、index.is_object()メソッドを使用します。このメソッドは、インデックスの値がobject型であればTrue、そうでなければFalseを返します。必要なライブラリのインポートまず、必要なライブラリをインポートします。import pandas as pdPandasインデックスの作成文字列や数値など、異なる型が混在したPandasインデックスを作成します。index = pd.Index(["Electronics", 6, 10.5, "Accessories&qu

  2. Pythonでオブジェクトを文字列表現に変換する方法:str()とrepr()の違いを解説

    Pythonでオブジェクトを文字列に変換する基本Pythonでオブジェクトを文字列表現に変換する最も一般的な方法は、標準ライブラリに組み込まれている str() 関数を使うことです。str() は、渡されたオブジェクトを人間が読みやすい形式の文字列に変換して返します。str()関数の使用例>>> no = 100 >>> str(no) 100 >>> L1 = [1, 2, 3, 4] >>> str(L1) [1, 2, 3, 4] >>> d = {a: 1, b: 2, c: 3, d: 4} &