パンダ: 列内の最も古い日付を見つける方法
次のメソッドを使用して、pandas DataFrame の列内の最も古い日付を検索できます。
方法 1: 列内の最も古い日付を検索する
df[' date_column ']. min ()
方法 2: 列内の最も古い日付を持つ行を検索する
df. iloc [df[' date_column ']. argmin ()]
次の例は、実際に次の pandas DataFrame でこの構文を使用する方法を示しています。
import pandas as pd #createDataFrame df = pd. DataFrame ({' date ': pd.to_datetime (['2022-04-01', '2022-02-12', '2022-06-13', '2022-02-04', '2022-07-01', '2022-02-19', '2022-12-03', '2022-04-04']), ' sales ': [12, 15, 24, 24, 14, 19, 12, 38]}) #view DataFrame print (df) dirty date 0 2022-04-01 12 1 2022-02-12 15 2 2022-06-13 24 3 2022-02-04 24 4 2022-07-01 14 5 2022-02-19 19 6 2022-12-03 12 7 2022-04-04 38
例 1: 列内の最も古い日付を検索する
次のコードを使用して、DataFrame の日付列で最も古い日付を検索できます。
#find earliest date in 'date' column df[' date ']. min () Timestamp('2022-02-04 00:00:00')
結果から、日付列の最も古い日付は 02/04/2022 であることがわかります。
注: 最新の日付を検索したい場合は、コード内のmin()をmax()に置き換えるだけです。
例 2: 列内の最も古い日付を持つ行を検索します。
次のコードを使用して、DataFrame の日付列で最も古い日付を持つ行を検索できます。
#find row with earliest date in 'date' column df. iloc [df[' date ']. argmin ()] date 2022-02-04 00:00:00 dirty 24 Name: 3, dtype: object
出力には、日付列の最も古い日付を含む行全体が表示されます。
たとえば、この行には次の値が表示されます。
- 日付: 2022 年 2 月 4 日
- 汚れ: 24
最も古い日付を持つ行のインデックス位置だけを知りたい場合は、次のように.ilocを.indexに置き換えます。
#find index position of row with earliest date in 'date' column df. index [df[' date ']. argmin ()] 3
これは、インデックス位置3の行に日付列の最も古い日付が含まれていることを示します。
注: 最新の日付を持つ行を検索したい場合は、コード内のargmin()をargmax()に置き換えるだけです。
追加リソース
次のチュートリアルでは、パンダで他の一般的な操作を実行する方法を説明します。
Pandas で日付に日数を加算および減算する方法
Pandas で 2 つの日付の間の行を選択する方法
Pandasで年、月、日から日付列を作成する方法