【Python・Pandas】インデックスを無視してDateTimeIndexからDataFrameを作成する方法
PandasのDateTimeIndexからインデックスを無視してDataFrameを作成するには、to_frame()メソッドを使用します。このとき、パラメータindexにFalseを指定することで、元のインデックスを引き継がない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のインデックスとして設定されます。
-
【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ファイルを読み込みます。ここではデスクトップ上に保存
-
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