Pandas:如何查找列中最早的日期


您可以使用以下方法查找 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 中添加和减去日期中的天数
如何在 Pandas 中选择两个日期之间的行
如何在 Pandas 中根据年、月、日创建日期列

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注