C# 有一个datatable 目前有好多行 新增一行 新增的一行前几列和第一行一样 后几列显示前面几行该列的平均值
时间: 2024-02-05 14:14:10 浏览: 65
你可以按照以下步骤操作:
1. 复制第一行并创建新行。
2. 遍历该行中除了前几列之外的每一列,计算该列前面所有行该列的平均值。
3. 将计算得到的平均值填充到新行的对应列中。
以下是示例代码:
```csharp
// 复制第一行并创建新行
DataRow newRow = dataTable.NewRow();
DataRow firstRow = dataTable.Rows[0];
for (int i = 0; i < firstRow.ItemArray.Length; i++)
{
newRow[i] = firstRow[i];
}
dataTable.Rows.Add(newRow);
// 遍历该行中除了前几列之外的每一列
for (int i = firstRow.ItemArray.Length - 1; i >= numColumnsToSkip; i--)
{
// 计算该列前面所有行该列的平均值
double sum = 0;
for (int j = 0; j < dataTable.Rows.Count - 1; j++)
{
sum += Convert.ToDouble(dataTable.Rows[j][i]);
}
double avg = sum / (dataTable.Rows.Count - 1);
// 将计算得到的平均值填充到新行的对应列中
newRow[i] = avg;
}
```
其中,`numColumnsToSkip` 表示需要跳过的前几列。
阅读全文