来自DataTable的double [] []

时间:2017-04-20 17:19:46

标签: c# arrays datatable mathnet

我正在使用Math.Net Numerics包进行一些统计工作和回归等。因为特定表中的各种不同列可以用作自变量,所以我决定编写一个方法来创建一个通过创建double [] []数组并将其传递给MathNet.Numerics中的DenseOfRowArrays()方法,从DataTable直接从查询中生成矩阵。调用代码将确保只有具有数值的列才会出现在DataTable中。

我在这里听到了答案:C# Cast Entire Array?

public static Matrix<double> DenseOfDataTable(DataTable dt)
        {
            double[][] arrayFromDataTable = dt.AsEnumerable().Select(row => Array.ConvertAll(row.ItemArray, item => (double)item)).ToArray();

            return CreateMatrix.DenseOfRowArrays(arrayFromDataTable);
        }

我的问题是在运行时我在(double)item上收到InvalidCastException,item在检查时显示的值为0.000。

0 个答案:

没有答案