【问题标题】:timedelta to integers while ignoring NaT values in a python pandas DataFrametimedelta 到整数,同时忽略 python pandas DataFrame 中的 NaT 值
【发布时间】:2021-05-10 16:43:34
【问题描述】:

我创建了一个 timedelta 列并获得了几个 NaT 值,它们实际上对我来说很重要,可以保存。现在我想改变我的时间增量,现在是这样的:234 天和 NaT 值。我想得到整数。这些是到目前为止的代码:

reports['delinquency_free_time'] = reports['delinquency_free_time'].dt.total_seconds().astype(int)

ValueError: 无法将非有限值(NA 或 inf)转换为整数

请注意,days 而不是 total_seconds 也不起作用

【问题讨论】:

  • 如果你真的必须使用int dtype,你仍然可以这样做,但你需要定义一个“非数字”标识符,即您知道它在您的上下文中无效的值,例如-9999 或类似的东西。只需在astype(int) 之前添加fillna。

标签: python datetime integer timedelta


【解决方案1】:

好的,我明白了:我可能无法转换为 int,但我可以转换为 float。

【讨论】:

猜你喜欢
  • 2021-04-30
  • 2018-10-11
  • 2017-12-27
  • 2018-03-13
  • 2021-11-19
  • 1970-01-01
  • 2018-02-04
  • 2018-11-12
  • 2017-05-30
相关资源
最近更新 更多