My function outputs a “Seq” and not a String in F#?
我很好奇为什么在运行此命令时,函数" parsenumber"会作为Seq而不是一个整数输出。
1 2 3 4 | |> Seq.map (fun ((number,income,sex,house),data) -> let parsenumber = number |> Seq.skip 9 |> Seq.take 5 let numberofpets = data |> Seq.map (fun row -> (1.0 - float row.pets)) ((parsenumber,income,sex,house),numberofpets) |
这是结果:
1 2 | (<seq>,"30050","Male","Yes") (<seq>,"78000","Female","No") |
如何更改此设置,以便它输出数字而不是
对于Seq.skip和Seq.take,我试图跳过每个观察值的前9个整数,并返回最后5个。
原始CSV数据:
1 2 | 10000000001452,30050,Male,Yes 10000000001455,78000,Female,No |
我想要的结果是:
1 2 | ('01452','30050','Male','Yes') ('01455','78000','Female','No') |
我实际上得到的是:
1 2 | (<seq>,"30050","Male","Yes") (<seq>,"78000","Female","No") |
我不需要输出,而是实际数字。
当您说"我试图跳过每个观察值的前9个整数并返回后5个"时,您是说"数字"而不是"整数"吗?即
顺便说一句,如果要使用
1 2 3 4 | |> Seq.map (fun ((number : string, income, sex, house), data) -> let parsenumber = number.Substring(9, 5) let numberofpets = data |> Seq.map (fun row -> (1.0 - float row.pets)) ((parsenumber, income, sex, house), numberofpets) |
此外,