Dataframe to datatable r.net fastly

ぃ、小莉子 提交于 2019-12-25 09:01:32

问题


I would like to know if there is a better method to convert a datanet from rnet to a datatable of system.data or something like that. Currently, what I'm doing is

Dataframe dataset = engine.evaluate ("some dataframe"). AsDataframe ();
DataTable dtable = new DataTable ();

  For (int i = 0; i <dataset.ColumnCount; ++ i)
             {
                 Dtable.Columns.Add (dataset.ColumnNames [i]);
             }

             For (int k = 0; k <dataset.RowCount; ++ k)
             {
                 Dtable.Rows.Add (dataset.GetRow (k) .DataFrame);

             }

             For (int i = 0; i <dataset.RowCount; i ++)
             {
                 For (int j = 0; j <dataset.ColumnCount; j ++)
                 {
                     Dtable.Rows [i] [j] = dataset [i, j];
                 }
             }

However, the method is very slow and wanted to know if there is another method faster.

regards


回答1:


You can easily eliminate one for loop

Dataframe dataset = engine.evaluate ("some dataframe"). AsDataframe ();
DataTable dtable = new DataTable ();

For (int i = 0; i <dataset.ColumnCount; ++ i)
{
   Dtable.Columns.Add (dataset.ColumnNames [i]);
}


For (int i = 0; i <dataset.RowCount; i ++)
{
   DataRow newRow = Dtable.Rows.Add();
   For (int j = 0; j <dataset.ColumnCount; j ++)
   {
      newRow[j] = dataset [i, j];
   }
}


来源:https://stackoverflow.com/questions/45537671/dataframe-to-datatable-r-net-fastly

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!