Julia DataFrame如何提取指定列的前N项与最后N项数据?
Julia DataFrames提取单列前N项/后N项操作指南
首先你提供的示例数据初始化代码如下:
using DataFrames data = DataFrame(X=[1,2,3,4,5,6,7], Y=[2,4,7,9,10,11,14])
你可以根据返回结果的格式需求,选择以下对应操作:
提取结果为单独向量
- 提取X列前3项(推荐使用内置
first函数,可读性与容错性更高)
代码:first(data.X, 3)
输出:3-element Vector{Int64}: 1, 2, 3
等价下标写法:data.X[1:3] - 提取X列最后3项(推荐使用内置
last函数)
代码:last(data.X, 3)
输出:3-element Vector{Int64}: 5, 6, 7
等价下标写法:data.X[end-2:end] - 如需将前3项和后3项合并为一个向量:
代码:vcat(first(data.X, 3), last(data.X, 3))
提取结果为单列DataFrame
如果需要保留DataFrame结构而非单独向量,可使用如下写法:
- 前3项X列的DataFrame:
first(data[:, [:X]], 3)
等价下标写法:data[1:3, [:X]] - 最后3项X列的DataFrame:
last(data[:, [:X]], 3)
等价下标写法:data[end-2:end, [:X]] - 合并前3项与后3项为一个DataFrame:
代码:vcat(first(data[:, [:X]], 3), last(data[:, [:X]], 3))
注意:使用
first/last函数的容错性更高,当指定的N值大于列总长度时,会自动返回该列的全部元素,不会触发下标越界错误。
内容的提问来源于stack exchange,提问作者Jeremy S
相关产品推荐
相关产品推荐

