パンダ: 列内の最も古い日付を見つける方法


次のメソッドを使用して、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で年、月、日から日付列を作成する方法

コメントを追加する

メールアドレスが公開されることはありません。 が付いている欄は必須項目です