julia 处理数据帧中的时间差异

问题描述 投票:0回答:1

我有一个带有日期时间列的数据框。正如你在下面看到的,我已经设法 阅读它,甚至改变日期。

using CSV
using Dates
using DataFrames
using DataFramesMeta
csv = CSV.read(IOBuffer("""
date,Amount
2023-12-27 18:40,4
2023-12-27 18:45,254
2023-12-27 18:50,24
2023-12-27 18:55,24
2023-12-27 19:00,5
"""),DataFrame)
transform!(csv,[:date].=>ByRow(s->DateTime(s,dateformat"y-m-d H:M"))=>:date)

但我想计算行之间的时间差。我来自 R,我会写:

df |> mutate(diff=date-lag(date)) # (etc)

我不知道如何在 Julia 中执行此操作。我认为这是另一种转变,但滞后让我迷惑了!任何帮助表示赞赏

dataframe julia lag
1个回答
0
投票

怎么样:

csv.diff = vcat([0],[csv.date[i]-csv.date[i-1] for i=2:length(csv.date)])

这会在 DataFrame

diff
中添加一个名为
csv
的新列,它是每个连续行之间的差异,将第一个行初始化为零,因为它之前没有要比较的行(但如果您想要)。

© www.soinside.com 2019 - 2024. All rights reserved.