Python - 如何找到下一个最大日期

Posted

技术标签:

【中文标题】Python - 如何找到下一个最大日期【英文标题】:Python - how to find next max date 【发布时间】:2020-01-31 09:14:20 【问题描述】:

我有一个像 (1-Jan-2020, 1-Feb-2020, 1-Mar-2020) 这样的数据框。 Datetime 模块为我们提供了 Max 和 min 函数来查找最大和最小日期,即 1-Jan-20201-Mar-2020

我尝试使用list.remove 函数将此数据框转换为列表并删除最大日期的其他选项。但这会使列表为空。谁能帮我得到输出1-Feb-2020

提前致谢

【问题讨论】:

【参考方案1】:

您可以使用 pandas 提供的 .nlargest 方法从数据框中获取第一个 n 最大元素。

这将返回n 最大元素的列表。

只需获取列表的最后一个元素,您的工作就应该完成了。

类似这样的:

df['dates'].nlargest(2).iloc[-1]

由于您没有任何列名,请考虑以下示例:

df = pd.DataFrame('year': [2015, 2016],
               'month': [2, 3],
               'day': [4, 5])
dataframe = pd.to_datetime(df)

second_max_date = dataframe.nlargest(2).iloc[-1]

【讨论】:

我的数据框没有任何列名.. 上面的代码需要列名 您如何访问日期列? 我拥有的是 dataframe=pd.to_datetime(df,format="%d-%M-%Y",errors="ignore") 而这个 df 有(2020 年 1 月 1 日, 2020 年 2 月 1 日,2020 年 3 月 1 日)。当我访问 max(dataframe) - 它返回 2020 年 1 月 1 日。和 min(dataframe) - 它返回 2020 年 2 月 1 日。我尝试了很多方法来获得 2020 年 2 月 1 日,但没有任何效果 使用与查找maxmin 相同的方法。而不是maxmin 使用.nlargest 应该可以。 "dtype dtype".format(method=method, dtype=dtype) TypeError: Cannot use method 'nlargest' with dtype object ---- 在使用 .nlargest 时收到此错误消息跨度>

以上是关于Python - 如何找到下一个最大日期的主要内容,如果未能解决你的问题,请参考以下文章

如何让我的 python 程序运行得更快?

python - 如何从具有另一个属性的属性中找到最大值作为Python中的要求? [复制]

在一个查询中查找多个最大日期

如何在python中找到参数的最大范围?

在一个查询中查找多个最大日期

试图在Python中找到用户出生日期和现在之间的天数差异