如何将 SEQ 中的整个 ROW 从十进制数转换为浮点数,然后再返回?

圣诞老人

如何将序列中的整行从十进制数转换为浮点数,删除缺失值或 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)]

这是一个 SEQUENCE 中许多人观察到的一个例子。我需要使用上述函数过滤掉这个特定的观察结果。

我曾尝试使用 Double.Is.NaN,但由于某种原因它不起作用。

|> Seq.filter (fun element -> not (Double.IsNaN element))

我收到此错误:

  Practice2.fsx(39,53): error FS0001: This expression was expected to have 
     type
  'float'    
     but here has type
  'CsvProvider<...>.Row'
s952163

您应该查看Csv 类型提供程序Csv 文件解析器文档例如,您可以直接在 Csv 提供的类型上应用FilterMap来转换您的数据。在这种情况下,您将直接对类型进行操作(而不是它的Row,例如在 CsvFile.GetSample() 上)。此外,csv 文件解析更适合格式错误的数据。可能有选项可以直接指定架构和类型,以及处理缺失值。

您当然也可以nan以通常的方式过滤掉浮点数并将其转换为十进制(这在 CsvProvider.Row 上运行):

data 
|> Seq.filter (fun x -> not  (Double.IsNaN(x.Income)))
|> Seq.map (fun x -> (x.Id, x.State, decimal x.Income))
//val it : seq<int * string * decimal> =seq [(40, "TX", 2000.1M); (15, "TX", 3000M)]

我使用的数据:

Id,State,Income
40,TX,2000.1
48,MO,#N/A
15,TX,3000
78,TN,
41,VT,

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在monotouch中,如何将字符串转换为十进制/浮点数?

如何使用脚本将时间转换为Google表格中的十进制浮点数?

如何将 seq[row] 转换为 Scala 中的数据帧

将列中的字符串十进制数转换为 Pandas DataFrame 中的浮点数

将浮点数转换为十进制数

Python如何将浮点数十六进制转换为十进制

将十进制浮点数转换为二进制并返回

如何将浮点数转换为十进制整数乘以2的幂?

如何将浮点数转换为docplex中的二进制变量?

以固定长度的科学形式将浮点数转换为十进制数

将 Python 浮点数转换为 C# 十进制数

如何将 Seq[Try] 转换为 Try[Seq]

计算机如何将浮点数转换为十进制字符串?

如何在bigquery中以浮点数或十进制数获取两个日期时间之间的小时差

将十进制浮点数转换为二进制

python:将Unicode转换为具有十进制精度的浮点数

数据框将浮点数转换为全十进制字符串

如果十进制值大于 C# 中的浮点数,如何抛出异常

MemSQL - 如何在 MemSQL 中将整数/十进制值转换为浮点数?

在Python中,如何将列表中的所有项目都转换为浮点数?

(Scala)如何将List转换为Seq

Spark:如何将RDD的Seq转换为RDD

如何将案例类的值转换为Seq?

如何将Spark数据集转换为Scala Seq

如何将 Scala Seq 转换为 Java 枚举

如何将scala中的十六进制十进制列转换为int

如何将 txt 文件转换为浮点数组(在 C# 中)?

如何将 void 指针转换为要在 C 中的函数中使用的浮点数?

如何将字符串数组转换为numpy中的浮点数组?