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 中根据年、月、日创建日期列