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

Python Pandas – DateTimeIndexを使って日時を作成する方法

DateTimeIndexで日時を作成する方法

PythonのPandasライブラリで日時データを作成するには、date_range()メソッドを使用します。このメソッドでは、開始日時に加えて、生成する期間数(periods)、タイムゾーン(tz)、頻度(freq)をまとめて指定することができます。

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

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

import pandas as pd

DatetimeIndexの作成

ここでは、期間を8、頻度を「M」(月単位)としてDatetimeIndexを作成します。タイムゾーンは「Australia/Sydney」に設定しています。

datetime = pd.date_range('2021-09-24 02:35:55', periods=8, tz='Australia/Sydney', freq='M')

日時の表示

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

print("DateTime...\n", datetime)

サンプルコード

以下が完全なコード例です。日時の作成後、曜日名・月名・年・時・分・秒など、さまざまな日時要素を取得しています。

import pandas as pd

# 期間8、頻度「M」(月単位)のDatetimeIndexを作成
# タイムゾーンはAustralia/Sydney
datetime = pd.date_range('2021-09-24 02:35:55', periods=8, tz='Australia/Sydney', freq='M')

# 表示
print("DateTime...\n", datetime)

# 曜日名を取得
print("\n曜日名の取得..\n", datetime.day_name())

# 月名を取得
print("\n月名の取得..\n", datetime.month_name())

# 年を取得
print("\n年の取得..\n", datetime.year)

# 時を取得
print("\n時の取得..\n", datetime.hour)

# 分を取得
print("\n分の取得..\n", datetime.minute)

# 秒を取得
print("\n秒の取得..\n", datetime.second)

出力結果

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

DateTime...
DatetimeIndex(['2021-09-30 02:35:55+10:00', '2021-10-31 02:35:55+11:00',
               '2021-11-30 02:35:55+11:00', '2021-12-31 02:35:55+11:00',
               '2022-01-31 02:35:55+11:00', '2022-02-28 02:35:55+11:00',
               '2022-03-31 02:35:55+11:00', '2022-04-30 02:35:55+10:00'],
              dtype='datetime64[ns, Australia/Sydney]', freq='M')

Getting the day name..
Index(['Thursday', 'Sunday', 'Tuesday', 'Friday', 'Monday', 'Monday','Thursday', 'Saturday'],
dtype='object')

Getting the month name..
Index(['September', 'October', 'November', 'December', 'January', 'February','March', 'April'], dtype='object')

Getting the year name..
    Int64Index([2021, 2021, 2021, 2021, 2022, 2022, 2022, 2022], dtype='int64')

Getting the hour..
    Int64Index([2, 2, 2, 2, 2, 2, 2, 2], dtype='int64')

Getting the minutes..
    Int64Index([35, 35, 35, 35, 35, 35, 35, 35], dtype='int64')

Getting the seconds..
    Int64Index([55, 55, 55, 55, 55, 55, 55, 55], dtype='int64')

コードのポイント解説

この例では、開始日時「2021-09-24 02:35:55」を起点として、各月の月末の日付が8つ自動的に生成されています。freq='M'を指定すると、各月の最終日に合わせて日付が調整される点が重要です。

また、タイムゾーンに「Australia/Sydney」を設定しているため、夏時間(UTC+10:00)と標準時間(UTC+11:00)が日付に応じて自動的に切り替わっていることにも注目してください。

さらに、day_name()で曜日名、month_name()で月名を取得でき、yearhourminutesecondといった属性を使えば、個々の日時要素にも簡単にアクセスできます。時系列データの前処理や分析において非常に便利な機能なので、ぜひ活用してみてください。

  1. Seabornで箱ひげ図(ボックスプロット)を作成する方法 – Python・Pandas入門

    データ分析において、外れ値の検出や分布の把握に欠かせないのが箱ひげ図(ボックスプロット)です。Pythonの可視化ライブラリ「Seaborn」を使えば、カテゴリごとのデータ分布を美しい箱ひげ図として簡単に描画できます。本記事では、seaborn.boxplot()関数を使用して箱ひげ図を作成する具体的な手順を、サンプルコード付きでわかりやすく解説します。箱ひげ図とは?箱ひげ図は、データの中央値、四分位範囲(IQR)、最小値・最大値、そして外れ値を一目で確認できる強力な可視化手法です。特に、カテゴリ変数と数値変数の関係を比較する際に非常に役立ちます。準備:必要なライブラリのインポートまず、今回使

  2. Seabornで散布図を作成する方法 – PythonとPandasによるデータ可視化

    Seabornのscatterplot()メソッドは、複数の意味的なグループ分けが可能な散布図を描画するための機能です。2つの数値変数の関係や相関を視覚的に把握したい場合に非常に便利なツールです。Seabornのscatterplot()とはseaborn.scatterplot()は、X軸とY軸にそれぞれ数値データを配置し、個々のデータを点(マーカー)としてプロットする関数です。hueパラメータを使えば、カテゴリごとに色分けした散布図も簡単に作成できます。使用するデータセット今回は、クリケット選手の情報をまとめたCSVファイル「Cricketers.csv」を使用します。このデータには、選手