f# - 选择列的子集(即通过列键的集合过滤数据框)

标签 f# deedle

有一些示例说明如何从这样的数据框中获取单个列。

people?Age
people.["Age"]
people.GetColumn("Countries")

但是如何获得多个列的子集呢?例如,我希望能够执行以下操作:

people.[["age";"Countries"]]  

people.GetColumn(["age";"Countries"])

并让它返回一个仅包含这两列/系列的数据框。有没有简单的方法可以做到这一点?

最佳答案

使用 Frame.sliceCols 是实现此目的的一种方法,但您也可以使用切片语法。诀窍是在 people.Columns 上使用切片,而不是直接在框架上使用切片:

people.Columns.[["age";"Countries"]]  

这样做的动机是您可能还想对行进行切片,在这种情况下您可以执行 people.Rows.[ [1;3;5 ]。如果您的框架具有有序行索引,您可以选择一个范围并执行 people.Rows.[1 .. 10]

关于f# - 选择列的子集(即通过列键的集合过滤数据框),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23830085/

相关文章:

C# - 将 R 数据帧转换为 Deedle.Frame

f# - 将 F# seq 表达式转换为 OCaml

f# - 什么是| f# 中的符号?

linq - 如何使用 FLinq 在 F# 中进行外连接?

f# - 这个序列表达式应该是尾递归的吗?

f# - 与列表相比,Deedle/Series 慢是正确的吗?

f# - Deedle 数据框中的 pretty-print

f# - Deedle - 根据同一行另一列中另一个项目的值替换列中项目的最有效(最快)方法是什么

F#可选参数和重载替代方案