You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过索引删除gota DataFrame中的行?

用Gota删除DataFrame指定行的方法

Gota确实没有提供直接删除行的API,但可以通过筛选保留目标行以外的所有数据来实现需求,下面是两种实用的方法(假设你已经用dataframe.ReadCSV读取了CSV文件到df变量中,行索引从0开始):

方法一:用Filter函数过滤目标行

通过自定义过滤条件,排除掉指定索引的行,返回新的DataFrame:

import (
    "github.com/go-gota/gota/dataframe"
    "log"
)

func main() {
    df, err := dataframe.ReadCSV("your_file.csv")
    if err != nil {
        log.Fatal(err)
    }

    // 定义要删除的行索引(示例为第2行,索引从0开始)
    targetRowIdx := 2
    // 过滤掉目标行
    newDF := df.Filter(func(row dataframe.Row) bool {
        return row.Index() != targetRowIdx
    })
}

方法二:拆分拼接DataFrame

把原DataFrame拆分成目标行之前的部分和之后的部分,再拼接起来:

import (
    "github.com/go-gota/gota/dataframe"
    "log"
)

func main() {
    df, err := dataframe.ReadCSV("your_file.csv")
    if err != nil {
        log.Fatal(err)
    }

    targetRowIdx := 2
    // 取目标行之前的所有行
    part1 := df.Range(0, targetRowIdx)
    // 取目标行之后的所有行
    part2 := df.Range(targetRowIdx+1, df.Nrow())
    // 拼接得到删除后的新DataFrame
    newDF := part1.Append(part2)
}

注意事项

  • Gota的DataFrame是不可变对象,所有操作都会返回新的实例,不会修改原DataFrame
  • 行索引从0开始,要确认你要删除的i对应的索引值(比如第1行对应索引0)

内容的提问来源于stack exchange,提问作者Ymi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 19:13:12