朱莉娅新手...
我需要找到连续日期时间之间的差异...并在发现时间差异超过 5 分钟时分割文件。当我减去周期时,我会得到以毫秒为单位的答案,并且滞后列中也有一个缺失值。如果我跳过缺失值,则无法更新数据框。不知道如何继续。
using CSV
using DataFrames
using ShiftedArrays: lag
using Dates
df = CSV.read(IOBuffer("""
date
2024-01-25 19:15
2024-01-25 19:20
2024-01-25 19:25
2024-01-25 21:20
2024-01-25 21:25
"""),DataFrame; dateformat=DateFormat("yy-mm-dd H:M"))
condf=transform(df,[:date,:date] => ((x,y)->Dates.CompoundPeriod.(skipmissing(x-lag(y,1)))) =>:ldate)
尚不完全清楚您想要对具有
missing
值的行执行什么操作。
如果您想摆脱它们,请在操作前使用
dropmissing
功能。
如果您想保留它,这取决于您认为
missing
实际持有什么。最简单的方法可能是使用 Impute.jl 中的 Impute.locf
或 Imputel.nocb
函数来填充 missing
,该值将为您提供所需的分割。
如果我写的内容不清楚,请发表评论(最好是显示输入和所需的输出 - 包括示例中的
missing
值)。
需要考虑的一些其他情况:
missing
值开始/结束,您会想要什么?missing
值,您想要什么?