예제 #1
0
        public IList <int> GetMissingValueIndices(int columnIndex)
        {
            int index   = 0;
            var indices = new List <int>();

            if (MissingValueIndicies.ContainsKey(columnIndex))
            {
                return(MissingValueIndicies[columnIndex]);
            }

            if (preprocessingData.VariableHasType <double>(columnIndex))
            {
                foreach (var v in preprocessingData.GetValues <double>(columnIndex))
                {
                    if (double.IsNaN(v))
                    {
                        indices.Add(index);
                    }
                    index++;
                }
            }
            else if (preprocessingData.VariableHasType <string>(columnIndex))
            {
                foreach (var v in preprocessingData.GetValues <string>(columnIndex))
                {
                    if (string.IsNullOrEmpty(v))
                    {
                        indices.Add(index);
                    }
                    index++;
                }
            }
            else if (preprocessingData.VariableHasType <DateTime>(columnIndex))
            {
                foreach (var v in preprocessingData.GetValues <DateTime>(columnIndex))
                {
                    if (DateTime.MinValue.Equals(v))
                    {
                        indices.Add(index);
                    }
                    index++;
                }
            }
            else
            {
                throw new ArgumentException("column " + columnIndex + " contains a non supported type.");
            }

            MissingValueIndicies[columnIndex] = indices;
            return(MissingValueIndicies[columnIndex]);
        }
예제 #2
0
 public IList <int> GetMissingValueIndices(int columnIndex)
 {
     if (!MissingValueIndicies.ContainsKey(columnIndex))
     {
         if (preprocessingData.VariableHasType <double>(columnIndex))
         {
             MissingValueIndicies[columnIndex] = GetMissingValueIndices <double>(columnIndex);
         }
         else if (preprocessingData.VariableHasType <string>(columnIndex))
         {
             MissingValueIndicies[columnIndex] = GetMissingValueIndices <string>(columnIndex);
         }
         else if (preprocessingData.VariableHasType <DateTime>(columnIndex))
         {
             MissingValueIndicies[columnIndex] = GetMissingValueIndices <DateTime>(columnIndex);
         }
         else
         {
             throw new ArgumentException("column " + columnIndex + " contains a non supported type.");
         }
     }
     return(MissingValueIndicies[columnIndex]);
 }