从pandas数据框中获取最小和最大日期

101 投票
3 回答
225134 浏览
提问于 2025-04-18 03:27

我想知道怎么从一个数据表的主要部分获取最小和最大日期。

           value
Date                                           
2014-03-13  10000.000 
2014-03-21   2000.000 
2014-03-27   2000.000 
2014-03-17    200.000 
2014-03-17      5.000 
2014-03-17     70.000 
2014-03-21    200.000 
2014-03-27      5.000 
2014-03-27     25.000 
2014-03-31      0.020 
2014-03-31     12.000 
2014-03-31      0.022

简单来说,我想找到最小和最大日期,比如说 2014-03-132014-03-31。我试过用 numpy.min 或者 df.min(axis=0),这样可以得到最小值或最大值,但这不是我想要的结果。

3 个回答

6

使用 agg 可以在一行代码中找出最小值和最大值:

In [5]: df['Date'].agg(['min', 'max'])
Out[5]: 
min    2014-03-13
max    2014-03-31

如果你想要查找的列在索引里,首先需要重置索引:

df.reset_index()['Date'].agg(['min', 'max'])
71
min(df['some_property'])
max(df['some_property'])

内置函数和Pandas数据框配合得很好。

139

“日期”是你的索引,所以你想要做的是,

print (df.index.min())
print (df.index.max())

2014-03-13 00:00:00
2014-03-31 00:00:00

撰写回答