Skip to content

How to transform Date column into C# DateTime Column? #3186

@agarwal-peeush

Description

@agarwal-peeush

I'm working on a specific regression problem which provides Date of journey in string in dd/MM/yyyy format. How can I GetColumn as C# DateTime datatype column?

public class IssueSample
{
        [LoadColumn(0)]
        public string Col1;
        [LoadColumn(1)]
        public string DateOfJourneyStr;
        
        private const string DATETIME_FORMAT = "dd/MM/yyyy";
        public DateTime? DateOfJourney
            => ParseDateTime(DateOfJourneyStr);
        public static DateTime? ParseDateTime(string dateOfJourneyStr)
        {
            if (DateTime.TryParseExact(dateOfJourneyStr, DATETIME_FORMAT, CultureInfo.InvariantCulture, DateTimeStyles.None, out var result))
                return result;
            return null;
        }
}

I'm trying to get Min and Max DateOfJourney values as following:

private static void BuildTrainEvaluateAndSaveModel(MLContext mlContext)
        {
            // STEP 1: Common data loading configuration
            IDataView baseTrainingDataView = mlContext.Data.LoadFromTextFile<IssueSample>(TrainDataPath, hasHeader: true, separatorChar: ',');
            IDataView testDataView = mlContext.Data.LoadFromTextFile<IssueSample>(TestDataPath, hasHeader: true, separatorChar: ',');

            var dateOfJourneyMin = baseTrainingDataView.GetColumn<DateTime?>(mlContext, nameof(IssueSample.DateOfJourney)).Min();
            System.Console.WriteLine($"Min DateOfJourney = {dateOfJourneyMin}");
            var dateOfJourneyMax = baseTrainingDataView.GetColumn<DateTime?>(mlContext, nameof(IssueSample.DateOfJourney)).Max();
            System.Console.WriteLine($"Max DateOfJourney = {dateOfJourneyMax}");
        }

But I get an error as follows:

System.ArgumentOutOfRangeException: 'Could not find input column 'DateOfJourney'
Parameter name: columnName'

Could somebody suggest how to achieve this in ML.NET?

Metadata

Metadata

Assignees

No one assigned

    Labels

    questionFurther information is requested

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions