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-2020
和 1-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 日,但没有任何效果 使用与查找max
和min
相同的方法。而不是max
,min
使用.nlargest
应该可以。
"dtype dtype".format(method=method, dtype=dtype) TypeError: Cannot use method 'nlargest' with dtype object ---- 在使用 .nlargest 时收到此错误消息跨度>
以上是关于Python - 如何找到下一个最大日期的主要内容,如果未能解决你的问题,请参考以下文章