DataTable の各列を平均し、それらの平均をリストに追加しています。平均に 0 の値が含まれないようにするにはどうすればよいですか? 以下のコードを試してみましたが、!=
演算子を型のオペランドに適用できないというエラーが表示されobject[]
、int
for (int col = 5; col < DT2.Columns.Count; col++)
{
double avg = DT2.AsEnumerable()
.Where(x =>
x[DT2.Columns[col]] != DBNull.Value ||
x[DT2.Rows[col].ItemArray != 0)
.Average(x => double.Parse(x[DT2.Columns[col]].ToString()));
averages.Add(avg);
}
5列目以降のすべての列を平均したいだけなので、col = 5から始めます。平均化される列のデータは double 型です。0 の値を削除しようとしているコードを削除すると、コードが実行されますが、たとえば、最初の列を平均し、列に 10 行あり、そのうちの 3 行に 0 が含まれている場合、すべての行を合計して 10 で割ります。 7で割る必要がある場合