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