从 daru 数据框中删除前 n 行

Drop the first n rows from daru dataframe

可以使用 Array#drop.

删除数组的前 n 个元素
a = [1,2,3]
a.drop(2) # => [3]

我想删除 Daru::DataFrame 对象的前 n 行。似乎这个 class 没有实现这样的 drop 方法。

如何从 Daru::DataFrame 对象中删除前 n 行?

您可以使用 row_at 检索除前 4 行之外的所有行。

示例:

2.4.5 :001 > require 'daru'
 => true
2.4.5 :002 > df = Daru::DataFrame.new({
2.4.5 :003 >         'col0' => [1,2,3,4,5,6],
2.4.5 :004 >         'col2' => ['a','b','c','d','e','f'],
2.4.5 :005 >         'col1' => [11,22,33,44,55,66]
2.4.5 :006?>       })
 => #<Daru::DataFrame(6x3)>
      col0 col2 col1
    0    1    a   11
    1    2    b   22
    2    3    c   33
    3    4    d   44
    4    5    e   55
    5    6    f   66

检索行:

2.4.5 :010 > df.row_at(4..df.shape()[0])
 => #<Daru::DataFrame(2x3)>
      col0 col2 col1
    4    5    e   55
    5    6    f   66

你可以把它放到一个循环中:

df.delete_row(0)

https://www.rubydoc.info/gems/daru/0.1.4.1/Daru/DataFrame#delete_row-instance_method