从 pandas 的时间序列范围中查找最小和最大日期
Posted
技术标签:
【中文标题】从 pandas 的时间序列范围中查找最小和最大日期【英文标题】:Finding the min and max date from a timeseries range in pandas 【发布时间】:2022-01-17 01:01:58 【问题描述】:我有一个如下所示的数据框,其中包含站点名称和每个站点的日期范围。
Site Date
Site_1 02/09/2011
Site_1 03/09/2011
Site_1 04/09/2011
Site_1 05/09/2011
Site_2 14/01/2010
Site_2 15/01/2010
Site_2 16/01/2010
Site_2 17/01/2010
我想找到每个站点的开始和结束日期,并像这样布置数据框:
Site Start_Date End_Date
Site_1 02/09/2011 04/09/2011
Site_2 14/01/2010 17/01/2010
我知道我可以像这样找到整个范围的最小值和最大值:
df['Date'].max()
df['Date'].min()
只是不确定将其分别应用于每个站点的最佳方法是什么。
【问题讨论】:
这能回答你的问题吗? Max and Min date in pandas groupby 【参考方案1】:使用groupby
+agg
的高级语法可以直接得到你的自定义格式:
df.groupby('Site')['Date'].agg([('Start_Date', 'min'), ('End_Date', 'max')])
输出:
Start_Date End_Date
Site
Site_1 02/09/2011 05/09/2011
Site_2 14/01/2010 17/01/2010
【讨论】:
【参考方案2】:我建议在“站点”列上使用groupby
,并将每个组聚合为min
和max
日期。
df.groupby("Site").agg('date': ['min', 'max'])
这将返回每个站点的 min
和 max
日期。
我还没有尝试过代码,但它应该可以满足您的需求。
【讨论】:
以上是关于从 pandas 的时间序列范围中查找最小和最大日期的主要内容,如果未能解决你的问题,请参考以下文章
如何从从excel文件派生的大量字典中的值列表中查找最小值和最大值
用于在多张纸上循环的范围内查找最大值和最小值的 VBA 代码
pandas基于时序数据计算模型预测推理需要的统计数据(累计时间长度变化变化率方差均值最大最小等):数据持续的时间(分钟)获得某一节点之后的数据总变化量获得范围内的统计量
pandas基于时序数据计算模型预测推理需要的统计数据(累计时间长度变化变化率方差均值最大最小等):范围内的统计量变化率获得数据集最后的几条数据的统计量变化率获得范围内的统计量