F# 处理连接字符串列

标签 f# deedle

我有一个带有两列StringFrame

let first = Series.ofValues(["a";"b";"c"])
let second = Series.ofValues(["d";"e";"f"])
let df = Frame(["first"; "second"], [first; second])

如何生成第三列作为两列的串联? 在pythonpandas中,这可以通过简单的+运算符来实现,但是如果我这样做,deedle会给出错误,

error FS0043: No overloads match for method 'op_Addition'. 

最佳答案

听起来你想要的是返回类似以下内容的东西:

Series.ofValues(["ad"; "be"; "cf"])

那么我认为你需要定义一个加法运算符,如下所示:

let additionOperator = (fun (a:string) (b:string) -> (a + b))

然后你可以像这样添加它们:

Series.zipInto additionOperator first second

我得到的结果是:

val it : Series<int,string> = series [ 0 => ad; 1 => be; 2 => cf]

但是,如果您同意将元组作为结果,则可以使用:

Series.zip first second

关于F# 处理连接字符串列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35697643/

相关文章:

generics - 与泛型相关的类型错误取决于函数的位置

string - F#,字符序列 -> 字符串

c# - C# 中的 F# 中缀运算符?

visual-studio - 为什么Deedle的Frame.X静态方法在VS 2017中生成警告?

c# - 如何合并具有重叠行的 deedle 中的数据帧?

.net - F#、Deddle 和 R.Net : seq<'a> [] vs. IEnumerable 数组

bitmap - 将 .png 加载到位图

c# - 使用 F# 实现 C# 异步接口(interface)

c# - 如何转发填充 C# 数据框中的缺失值

f# - 在 F# 中处理 Deedle 时间序列中的缺失值 (1)