【问题标题】:Python - how to find next max datePython - 如何找到下一个最大日期
【发布时间】: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

提前致谢

【问题讨论】:

    标签: python date get max next


    【解决方案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 时收到此错误消息跨度>
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-09
    • 2010-12-13
    • 2016-07-04
    • 2020-02-07
    • 1970-01-01
    相关资源
    最近更新 更多