2

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

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

但是你怎么能得到列的一个子集呢?例如,我希望能够执行以下操作:

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

或者

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

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

4

2 回答 2

2

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

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

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

于 2014-05-23T15:58:09.267 回答
1

我在框架 API 部分找到了我想要的东西。可以选择多个列,通过以下方式创建一个新框架:

let newFrame = people |> Frame.sliceCols(["age";"Countries"])

我认为当前的文档很棒,但是通过在Manipulating data frames of this page部分添加这样的示例可能会受益。

于 2014-05-23T13:31:07.533 回答