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

【Python・Pandas】DateTimeIndexをSeriesに変換する方法 – to_series()メソッドの使い方

pandasのDateTimeIndexをSeriesに変換したい場合は、to_series()メソッドを使用します。このメソッドを使うと、DatetimeIndexの日時データがそのままSeriesの値として格納され、元のインデックスも保持されたまま変換されます。

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

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

import pandas as pd

DatetimeIndexの作成

次に、pd.date_range()を使って期間5、頻度40秒(freq='40S')のDatetimeIndexを作成します。タイムゾーンにはオーストラリアのアデレード(Australia/Adelaide)を指定しています。

datetimeindex = pd.date_range('2021-10-18 07:20:32.261811624', periods=5,
tz='Australia/Adelaide', freq='40S')

DateTimeIndexをSeriesに変換する

変換はto_series()メソッドを呼び出すだけです。以下のように表示してみましょう。

print("\nDateTimeIndex to series...\n",
datetimeindex.to_series())

サンプルコード全体

ここまでの手順をまとめた完全なコードは以下の通りです。

import pandas as pd

# 期間5、頻度40秒(S=秒)のDatetimeIndexを作成
# タイムゾーンはAustralia/Adelaide
datetimeindex = pd.date_range('2021-10-18 07:20:32.261811624', periods=5,
tz='Australia/Adelaide', freq='40S')

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

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

# DatetimeIndexをSeriesに変換して表示
print("\nDateTimeIndex to series...\n",
datetimeindex.to_series())

実行結果

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

DateTimeIndex...
DatetimeIndex(['2021-10-18 07:20:32.261811624+10:30',
'2021-10-18 07:21:12.261811624+10:30',
'2021-10-18 07:21:52.261811624+10:30',
'2021-10-18 07:22:32.261811624+10:30',
'2021-10-18 07:23:12.261811624+10:30'],
dtype='datetime64[ns, Australia/Adelaide]', freq='40S')
DateTimeIndex frequency...
<40 * Seconds>

DateTimeIndex to series...
2021-10-18 07:20:32.261811624+10:30 2021-10-18 07:20:32.261811624+10:30
2021-10-18 07:21:12.261811624+10:30 2021-10-18 07:21:12.261811624+10:30
2021-10-18 07:21:52.261811624+10:30 2021-10-18 07:21:52.261811624+10:30
2021-10-18 07:22:32.261811624+10:30 2021-10-18 07:22:32.261811624+10:30
2021-10-18 07:23:12.261811624+10:30 2021-10-18 07:23:12.261811624+10:30
Freq: 40S, dtype: datetime64[ns, Australia/Adelaide]

ポイントのまとめ

  • to_series()を使うと、DatetimeIndexの各日時がSeriesの値になり、同時にインデックスとしても保持されます。
  • タイムゾーン情報(+10:30など)や頻度(Freq: 40S)、dtype(datetime64[ns, Australia/Adelaide])もそのまま引き継がれます。
  • 引数に名前を渡すことで、生成されるSeriesに任意の名前を付けることも可能です(例:to_series(name='timestamp'))。
  1. Python Pandas – TimedeltaをNumPy timedelta64に変換する方法

    TimedeltaをNumPy timedelta64に変換する方法 PandasのTimedeltaオブジェクトをNumPyのtimedelta64型に変換するには、timedelta.to_timedelta64()メソッドを使用します。このメソッドを呼び出すだけで、Pandas独自の時間差表現をNumPy互換の形式へ簡単に変換できます。 必要なライブラリのインポート まず、pandasをインポートします。 import pandas as pd Timedeltaオブジェクトの作成 次に、日数・時間・分・秒・ミリ秒・ナノ秒を指定してTimedeltaオブジェクトを作成します。 timed

  2. Python・Pandasシリーズの最後の要素にアクセスする方法

    Pandasシリーズの最後の要素にアクセスするには、iat属性を使用するのが便利です。iatは、行と列の位置を整数(インデックス番号)で指定して単一の値を高速に取得するための属性であり、負のインデックス「-1」を指定すれば、末尾の要素に直接アクセスできます。必要なライブラリのインポートまず、Pandasライブラリをインポートします。import pandas as pdサンプルデータの作成数値を含むPandasシリーズを作成します。data = pd.Series([10, 20, 5, 65, 75, 85, 30, 100])iatで最後の要素を取得するiatに「-1」を渡すことで、シリー