【问题标题】:pandas datetime not finding max time correctly熊猫日期时间没有正确找到最大时间
【发布时间】:2018-01-26 02:19:10
【问题描述】:

我有来自 SQL 服务器的数据。我已经将这些转换为 pandas 日期时间,如下所示: pd.to_datetime(max(df2[endTime]), format='%H:%M:%S %p') 但是它无法正常工作以获得系列的最大时间。有谁知道为什么?

如您所见,索引 100 是最长时间,但它给了我索引 763。

【问题讨论】:

    标签: python sql-server pandas datetime max


    【解决方案1】:

    你应该把它分配回去

    s=pd.to_datetime(s,format='%H:%M:%S %p').dt.time
    s.max()
    Out[1294]: datetime.time(10, 9, 57)
    

    数据输入

    s=pd.Series(['10:09:57 AM','9:59:55 AM'])
    

    更新

    s=pd.Series(['10:09:57 AM','9:59:55 AM'])
    s=pd.to_datetime(s,format='%H:%M:%S %p')
    
    s-s.max()
    Out[1313]: 
    0            00:00:00
    1   -1 days +23:49:58
    dtype: timedelta64[ns]
    

    【讨论】:

    • 酷。这确实有效,但我现在无法减去时间。我需要做最大时间减去最小时间。有什么建议吗?
    • @JuliaDills 看到更新,datetime.time 不支持'-'
    • 非常抱歉! @Wen - 你太棒了。我没有及时得到更新。作为记录,这也有效:duration = datetime.combine(date.min, end) - datetime.combine(date.min, start) 但你必须导入两件事:import datetime from datetime import datetime, date
    • @JuliaDills 不用担心,编码愉快:-)
    猜你喜欢
    • 2022-10-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-05
    • 2019-06-16
    • 2017-02-23
    相关资源
    最近更新 更多