微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

计算列之间的差异并将其添加到数据框中

如何解决计算列之间的差异并将其添加到数据框中

我被这个问题难住了,不知道该怎么问。我有一个时间戳表作为列标题。每行都有一个纬度/经度点和时间温度。数据仅以 3 小时为增量,我想要完成的是获得整个时期的每小时温度。我已经能够用数据之间的时间创建一个列。

这是该数据框的示例

    Latitude | Longitude | 2021-6-11 10:00 | 2021-6-11 11:00 | 2021-6-11 12:00 | 2021-6-11 13:00 
   34.698848 | -104.9723 | 83.03           |     0           |      0          |   92.93
   34.702147 | -104.9177 | 81.95           |     0           |      0          |   92.93
    

我想要完成的是显示零到直到温度从 10:00 到 13:00 的列,如 92.93-83.03 = 9.9 除以 3 对于两个时隙 = 3.3。输出数据帧应如下所示

    Latitude | Longitude | 2021-6-11 10:00 | 2021-6-11 11:00 | 2021-6-11 12:00 | 2021-6-11 13:00
   34.698848 | -104.9723 | 83.03           |   86.33         |  86.93          | 92.93
   34.702147 | -104.9177 | 81.95           |   85.61         |  89.27          | 92.93

我的数据框在 72 小时内每小时继续使用列,但只有每第三列有一个值。我该如何实现?

解决方法

您基本上是在描述固定间隔的线性插值。 以下应该适用于您的数据框 df

df = df.where(df!=0) # replace 0 with nan
df = df.interpolate(axis=1) # linear interpolation over nan values

我的 2 美分:如果温度为 0°F,最好直接使用 nan 值而不是 0 值创建新列。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。