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

【Python・Pandas】インデックスを無視してDateTimeIndexからDataFrameを作成する方法

PandasのDateTimeIndexからインデックスを無視してDataFrameを作成するには、to_frame()メソッドを使用します。このとき、パラメータindexFalseを指定することで、元のインデックスを引き継がないDataFrameを生成できます。

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

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

import pandas as pd

DateTimeIndexの作成

次に、周期5、頻度「S」(秒)でDatetimeIndexを作成します。タイムゾーンにはオーストラリアのアデレード(Australia/Adelaide)を指定し、40秒間隔の時系列データを生成しています。

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

DateTimeIndexの表示

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

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

インデックスを無視してDataFrameに変換

to_frame(index=False)を使うことで、返されるDataFrameに元のインデックスは設定されません。日時の値は通常の列データとして格納されます。

print("\nDateTimeIndex to DataFrame...\n", datetimeindex.to_frame(index=False))

サンプルコード全体

以下に完全なコード例を示します。

import pandas as pd

# 周期5、頻度「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("\nDateTimeIndex frequency...\n", datetimeindex.freq)

# インデックスを無視してDateTimeIndexからDataFrameを作成
# index=False を指定することで、元のインデックスは設定されない
print("\nDateTimeIndex to DataFrame...\n", datetimeindex.to_frame(index=False))

実行結果

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

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 DataFrame...
0
0 2021-10-18 07:20:32.261811624+10:30
1 2021-10-18 07:21:12.261811624+10:30
2 2021-10-18 07:21:52.261811624+10:30
3 2021-10-18 07:22:32.261811624+10:30
4 2021-10-18 07:23:12.261811624+10:30

ポイントまとめ

  • to_frame()メソッドは、DateTimeIndexをDataFrame形式に変換します。
  • 引数index=Falseを指定すると、日時の値がインデックスではなく通常の列として扱われます。
  • デフォルト(index=True)では、元の日時がそのままDataFrameのインデックスとして設定されます。
  1. 【Python】Pandas DataFrameからnull(欠損値)行を削除する方法|dropna()の使い方

    PandasのDataFrameからnull(NaN)行を削除するには、dropna()メソッドを使用します。この記事では、NaNを含むCSVファイルを読み込み、dropna()で欠損値を含む行を取り除くまでの手順を、サンプルコードと実行結果とともにわかりやすく解説します。前提:NaNを含むCSVファイル今回の例では、一部にNaN(null値)が含まれる以下のようなCSVファイル(CarRecords.csv)を使用します。手順1:read_csv()でCSVファイルを読み込むまずpandasをインポートし、read_csv()を使ってCSVファイルを読み込みます。ここではデスクトップ上に保存

  2. Python Pandas – データフレームのインデックスをマルチインデックス形式で表示する方法

    Pandas のデータフレームでインデックスをマルチインデックス(MultiIndex)形式で表示するには、dataframe.index を使用します。まずは、リストからなる辞書を作成してみましょう。 # リストの辞書 d = {Car: [BMW, Lexus, Audi, Mercedes, Jaguar, Bentley], Date_of_purchase: [2020-10-10, 2020-10-12, 2020-10-17, 2020-10-16, 2020-10-19, 2020-10-22]} 上記の辞書をもとに、DataFrame を作成します。 dataFra