【问题标题】:How can I subset based on smaller than time XYZ?如何根据小于时间 XYZ 进行子集化?
【发布时间】:2022-01-09 04:47:31
【问题描述】:

我正在尝试创建一个新的数据框,它排除所有大于/晚于 12:00:00 的时间戳。我尝试了多种方法,但我一直遇到问题。时间以前是一个日期时间列,我将其更改为 2 列,一个日期和时间列(格式 datetime.time)

代码:

抛出的问题:

您有什么建议可以正确地做到这一点吗?

【问题讨论】:

  • Convert column to DateTime 然后你就可以做大于操作了。
  • 我刚刚尝试通过: df44['Time'] = pd.to_datetime(df44['Time'], format='%H:%M:%S') 当我运行它时它会导致to: TypeError: dtype=datetime64[ns] 和 int 之间的无效比较
  • 12:00 不是有效的 Python 表达式。将其转换为 datetime 对象。

标签: python pandas dataframe date time


【解决方案1】:

好的解决方案:

  1. 将 Datetype 从 datetime.time 更改为 Datetime
  2. 使用 between 方法,将 Datetime 列设置为索引并设置范围

结果是基于所需时间范围的数据帧的子集。

【讨论】:

    猜你喜欢
    • 2019-03-19
    • 2021-12-03
    • 2015-04-13
    • 2019-01-30
    • 2013-10-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-02
    相关资源
    最近更新 更多