【问题标题】:Calculating Root-Mean-Square of pandas dataframe column计算熊猫数据框列的均方根
【发布时间】:2020-01-11 14:30:04
【问题描述】:

我在 df['Residuals'] 下有 50 个格式为 00:00:00.0000 的残差值,但在 Pandas 数据框列中保存实际值,例如:

00:00:04.7328

00:00:01.4252

等等。我想以秒为单位计算这些时间的 rms 值,但不能将它们从这种格式转换为十进制格式。上面列出的值的 dtype 表示我不熟悉的 m8[ns]。我的问题是如何将它从这种 m8[ns] 格式转换为整数然后运行计算?

【问题讨论】:

  • 您在pandas 和numpy 之间似乎存在一些版本问题:stackoverflow.com/questions/29206612/…
  • @ALollz 有什么建议吗?我按照建议更新了 numpy 和 pandas,但没有任何改变。
  • 是否有一段可重现的代码让我们可以重现问题?

标签: pandas time python-3.7


【解决方案1】:

首先要注意的是dtype,不管是<m8[ns](也就是TimedeltaProperties)还是<M8[ns](就是DatetimeProperties)

<m8[ns]的情况下:

df['Residuals'].dt.seconds + df['Residuals'].dt.microseconds*1e-6 

应该会给你答案。

<M8[ns]的情况下:

df['Residuals'].dt.second + df['Residuals'].dt.microsecond*1e-6 # without 's'

应该会给你答案。

【讨论】:

    猜你喜欢
    • 2019-07-18
    • 2015-01-28
    • 1970-01-01
    • 1970-01-01
    • 2018-10-26
    • 1970-01-01
    • 2021-07-21
    • 2022-11-14
    • 2020-03-03
    相关资源
    最近更新 更多