如何在 Pandas 数据框中获取日期时间的最大值和最小值?

4

我正在使用pandas探索一些数据(我使用read_excel从excel导入了数据集)。

我的其中一列是日期时间...如何选择该日期时间列的“最大值”和“最小值”?

这与此处相同:

从pandas dataframe获取最小和最大日期

但是,那里没有回答...我的datetime列不是我的索引(我只有默认索引0,1,2,3...)

我尝试使用max(df['creation_date']),但我不认为它识别到了日期,我得到了

'31-10-2020 22:33:10'

(在数据集中,我也有来自2021年的日期时间...)

我如何选择最大和最小日期?我必须将日期作为索引才能实现吗?

(我来自sql背景...当我执行df.info()时,日期时间的Dtype为object,我可以更改数据帧的列的数据类型为datetime吗?)


请提供期望的MRE - 最小可复现示例。显示中间结果与您期望的结果不同的地方。我们应该能够将您的代码块粘贴到文件中,运行它,并重现您的问题。这也让我们在您的上下文中测试任何建议。特别是,请检查您的列的类型。不,它不必是索引,但它必须是具有排序函数(例如<)定义所需语义的类型。日期时间是一个不错的选择。 - Prune
请在示例中包含您的最小数据框作为一部分:将其复制到剪贴板 - Prune
1个回答

5

只需将您的'creation_date'列从object更改为datetime数据类型,方法如下:

df['creation_date']=pd.to_datetime(df['creation_date'])

现在只需按以下方式计算最小和最大日期值:-
df['creation_date'].max()
df['creation_date'].min()

注意:您还可以在导入数据时,通过在pd.read_excel()方法的parse_date参数中传递具有日期格式的列的list,将列转换为datetime格式。

示例:

df=pd.read_excel('your file.xlsx',engine='openpyxl',parse_dates=['creation_date'])

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接