Go语言数据科学-CSV文件处理

主要使用 encoding/csv 来解析 csv 文件。同时简单使用dataframe包更快速地操作CSV文件。

package main
import (
"fmt"
"log"
"os"
"github.com/kniren/gota/dataframe"
)
func main() {
// 打开CSV文件
irisData, err := os.Open("D:/Code/Datasets/iris.csv")
if err != nil {
log.Fatal(err)
}
// 关闭文件
defer irisData.Close()
// 创建一个dataframe
irisDF := dataframe.ReadCSV(irisData)
// 展示数据
fmt.Println(irisDF)
// 创建一个filter,少选Iris-cersicolor类型的花
filter := dataframe.F{
Colname: "species",
Comparator: "==",
Comparando: "Iris-versicolor",
}
versicolorDF1 := irisDF.Filter(filter)
if versicolorDF1.Err != nil {
log.Fatal(versicolorDF1.Err)
}
// 只选择"speal_width"列
versicolorDF2 := irisDF.Filter(filter).Select([]string{"sepal_width", "species"})
if versicolorDF2.Err != nil {
log.Fatal(versicolorDF2.Err)
}
// 只展示前三条数据
versicolorDF3 := irisDF.Filter(filter).Select([]string{"spetal_width", "species"}).Subset([]int{1, 2, 3})
if versicolorDF3.Err != nil {
log.Fatal(versicolorDF3.Err)
}
}
posted @   MRWH7  阅读(442)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
· AI 智能体引爆开源社区「GitHub 热点速览」
点击右上角即可分享
微信分享提示