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

Python Pandas入門:Periodオブジェクトの頻度を秒から日単位に変換する方法

PandasでPeriodオブジェクトの頻度(freq)を「秒」から「日」に変更したい場合は、period.asfreq()メソッドを使い、引数に'D'を指定します。asfreq()メソッドは、Periodオブジェクトを指定した頻度に変換するための便利な機能です。

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

まず、pandasをインポートします。

import pandas as pd

Periodオブジェクトの作成

pandas.Periodは、ある期間の時点を表すオブジェクトです。ここでは、freqパラメータに'S'(秒)を指定してPeriodオブジェクトを作成します。

period = pd.Period(freq="S", year=2021, month=4, day=16, hour=2, minute=35, second=15)

作成したPeriodオブジェクト(秒単位の頻度)を表示してみましょう。

print("Period...\n", period)

頻度を秒から日に変換する

asfreq()メソッドに'D'を渡すことで、Periodオブジェクトの頻度を秒から日単位へ変換できます。

res = period.asfreq('D')

完全なコード例

以下に、ここまでの手順をまとめたサンプルコードを示します。

import pandas as pd

# pandas.Periodは期間の時点を表すオブジェクト
# freqパラメータで頻度を秒('S')に設定してPeriodオブジェクトを作成
period = pd.Period(freq="S", year=2021, month=4, day=16, hour=2, minute=35, second=15)

# 秒単位の頻度を持つPeriodオブジェクトを表示
print("Period...\n", period)

# asfreq()に'D'を指定して、頻度を秒から日単位に変換
res = period.asfreq('D')

# 変換後の結果を表示
print("\nFinal result after converting frequency ...\n", res)

実行結果

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

Period...
2021-04-16 02:35:15

Final result after converting frequency ...
2021-04-16

このように、元のPeriodオブジェクトは「2021-04-16 02:35:15」という秒単位の情報を持っていましたが、asfreq('D')によって「2021-04-16」という日単位の表現に変換されました。時刻以下の詳細情報は切り捨てられ、その日を表すPeriodオブジェクトになります。


  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 プロパティを使用します。この記事では、実際のコード例とともに、その使い方を詳しく解説します。必要なライブラリのインポートまず、pandasライブラリをインポートします。import pandas as pdTimedeltaオブジェクトとはTimeDeltasは、Pythonの標準datetimeライブラリにおける時間差(timedelta)を表すデータ型です。Pandasでは pd.Timedelta() を使って簡単に作成できます。ここでは、「10秒・15ミリ秒・33ナノ秒」のTimedeltaオブ