You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C# Deedle DataFrame如何获取指定三列的逐行最大值

实现方案

你要实现按行取三列最大值的逻辑,直接对选中列的行集合做聚合即可,不需要额外重新索引排序:

// 选中目标三列后按行计算最大值,返回和原索引对齐的序列
var tr = df.Columns[new[] { "high_low", "high_pc", "low_pc" }]
           .Rows
           .Select(kvp => kvp.Value.As<double>().Max());

// 直接添加到原DataFrame
df.AddColumn("tr", tr);

说明

  • 原DataFrame已经是按DateTime索引且排好序的状态,选取子列后会自动保留原索引和行顺序,不需要重复调用IndexRows和SortRowsByKey,计算得到的tr序列和原df的行是完全对齐的,不会出现错位问题。
  • 如果你的三列数值类型不是double,把As<double>替换为实际对应的数值类型(如float、decimal)即可。

内容的提问来源于stack exchange,提问作者Robnauticus

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 03:15:02