Как преобразовать целую строку в последовательности из десятичного числа в число с плавающей запятой, удалить пропущенные значения или значения nan, а затем превратить те же значения обратно в десятичные числа в одной и той же функции.
Есть предложения?
Под строкой я подразумеваю строку, которую вы выбираете при создании типа из поставщика CSV.
type IncomeCsv = CsvProvider<IncomeCsvFile>
IncomeCsv.GetSample().Rows
|> Seq.filter (fun row -> row.State = "TX")
|> List.ofSeq
Для одного наблюдения за TX яполучение этих значений:
[(TX, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan,
nan, nan, nan, nan, nan, nan, nan, nan, nan, nan,
nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan,
nan, nan, nan, nan, nan, nan, nan, nan, nan, nan)]
Это пример одного наблюдения из многих в ПОСЛЕДОВАТЕЛЬНОСТИ.Мне нужно отфильтровать это конкретное наблюдение с помощью функции, описанной выше.
Я пытался использовать Double.Is.NaN, но по какой-то причине оно не работает.
|> Seq.filter (fun element -> not (Double.IsNaN element))
Iполучаю эту ошибку:
Practice2.fsx(39,53): error FS0001: This expression was expected to have
type
'float'
but here has type
'CsvProvider<...>.Row'