julia ...处理数据帧滞后列中的缺失值

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

朱莉娅新手...

我需要找到连续日期时间之间的差异...并在发现时间差异超过 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)

dataframe date julia lag
1个回答
0
投票

尚不完全清楚您想要对具有

missing
值的行执行什么操作。

如果您想摆脱它们,请在操作前使用

dropmissing
功能。

如果您想保留它,这取决于您认为

missing
实际持有什么。最简单的方法可能是使用 Impute.jl 中的
Impute.locf
Imputel.nocb
函数来填充
missing
,该值将为您提供所需的分割。

如果我写的内容不清楚,请发表评论(最好是显示输入和所需的输出 - 包括示例中的

missing
值)。

需要考虑的一些其他情况:

  • 如果数据以
    missing
    值开始/结束,您会想要什么?
  • 如果有多个连续的
    missing
    值,您想要什么?
  • 是否保证数据帧按时间戳列排序?
© www.soinside.com 2019 - 2024. All rights reserved.