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

Python Pandas入門:DateTimeIndexから頻度オブジェクトを文字列として抽出する方法

PandasでDateTimeIndexに設定された頻度(frequency)オブジェクトを文字列として取得したい場合は、DateTimeIndex.freqstrプロパティを使用します。このプロパティを使うことで、頻度情報を人間が読みやすい文字列形式で簡単に確認できます。

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

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

import pandas as pd

DatetimeIndexの作成

次に、期間6・頻度「D」(日単位)のDatetimeIndexを作成します。タイムゾーンは「Australia/Adelaide」を指定しています。

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

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

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

さらに、DateTimeIndexの頻度を文字列として表示します。

print("DateTimeIndex frequency as string...\n", datetimeindex.freqstr)

サンプルコード全体

以下が完全なコード例です。freqプロパティとfreqstrプロパティの出力の違いも確認できます。

import pandas as pd

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

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

# DateTimeIndexの頻度オブジェクトを表示
print("DateTimeIndex frequency...\n", datetimeindex.freq)

# DateTimeIndexの頻度を文字列として表示
print("DateTimeIndex frequency as string...\n", datetimeindex.freqstr)

実行結果

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

DateTimeIndex...
DatetimeIndex(['2021-10-20 02:30:50+10:30', '2021-10-21 02:30:50+10:30',
'2021-10-22 02:30:50+10:30', '2021-10-23 02:30:50+10:30',
'2021-10-24 02:30:50+10:30', '2021-10-25 02:30:50+10:30'],
dtype='datetime64[ns, Australia/Adelaide]', freq='D')

DateTimeIndex frequency...
<Day>

DateTimeIndex frequency as string...
D

ポイント解説

freqプロパティは頻度オブジェクトそのもの(この例では<Day>)を返すのに対し、freqstrプロパティは同じ頻度情報を文字列「D」として返します。データ分析の際に頻度情報をログ出力したり、条件分岐で比較したりする場合には、文字列として扱えるfreqstrの方が便利です。

  1. Python Pandas:Indexオブジェクトから相対度数を取得する方法

    PandasのIndexオブジェクトから相対度数(出現割合)を求めるには、index.value_counts()メソッドを使用し、パラメータnormalizeをTrueに設定します。normalize=Trueを指定すると、各値の出現回数が全体の合計で正規化され、0〜1の範囲の相対度数として返されます。 必要なライブラリのインポート まず、必要なライブラリをインポートします。 import pandas as pd Pandasインデックスの作成 次に、PandasのIndexオブジェクトを作成します。 index = pd.Index([50, 10, 70, 110, 90, 50, 1

  2. Python Pandas入門:文字列入力からTimedeltaオブジェクトの秒を取得する方法

    Timedeltaオブジェクトから秒の値を取得するには、timedelta.secondsプロパティを使用します。まず、必要なライブラリをインポートしましょう。import pandas as pdTimeDeltasは、Python標準のdatetimeライブラリで使われるtimedeltaとは異なる表現形式を持つデータ型です。ここでは、文字列で時間間隔を指定してTimedeltaオブジェクトを作成します。単位として「分」や「秒」を含む文字列をそのまま渡せるのが特徴です。timedelta = pd.Timedelta(1 min 30 s)作成したTimedeltaオブジェクトを表示してみ