如何在KUSTO中基于值列填充日期列空值为最新记录值
解决方案
核心逻辑
- 仅在
value列有值的行,将对应Date写入新列;value为空的行先留空 - 对新列执行向前填充,后续空行会沿用最近一次有值的日期,直到下一个
value更新时替换
代码示例(基于Pandas)
假设数据存储在DataFrame df中,执行以下代码即可:
# 简洁写法:给value非空的行赋值Date,其余留空后向前填充 df['Expected Date'] = df['Date'].where(df['value'].notna()).ffill()
或者分步写更清晰:
# 第一步:仅保留value非空行的Date,其余设为NaN df['Expected Date'] = df.loc[df['value'].notna(), 'Date'] # 第二步:向前填充空值,实现日期延续 df['Expected Date'] = df['Expected Date'].ffill()
之前方法失效的原因
prev()只能取上一行的值,无法跨多行维持同一个日期,满足不了需求fill_forward()(即Pandas的ffill())没生效,大概率是你没先把value为空行的日期置为空,直接填充会把所有原始Date连起来,不符合规则
内容的提问来源于stack exchange,提问作者Swathi Miney
相关产品推荐
相关产品推荐

