目录

1、介绍

2、用法

2.1 设置go代理

2.2 创建表

2.3 插入和删除行

2.4 排序

3、统计学

平均数

中位数

标准差

4、包


1、介绍

数据帧用于统计、机器学习和数据操作/探索。您可以将数据帧视为 Excel 电子表格。 该软件包设计为轻巧直观。

  1. 从CSV,JSONL,Parquet,MySQL和PostgreSQL导入
  2. 导出到 CSV、JSONL、Excel、Parquet、MySQL 和 PostgreSQL
  3. 开发人员友好
  4. 灵活 - 创建自定义系列(自定义数据类型)
  5. 高性能
  6. 与 gonum 包的互操作性。
  7. 熊猫子包
  8. 虚假数据生成
  9. 插值(前向填充、向后填充、线性、样条、拉格朗日)
  10. 时间序列预测(SES,霍尔特-温特斯)
  11. 数学函数
  12. 绘图(跨平台)

2、用法

2.1 设置go代理

go env -w GO111MODULE=on
go env -w GOPROXY=https://goproxy.cn,direct

然后执行:

go get github.com/rocketlaunchr/dataframe-go

2.2 创建表

package mainimport ("fmt"dataframe "github.com/rocketlaunchr/dataframe-go"
)func main() {// 创建表s1 := dataframe.NewSeriesInt64("day", nil, 1, 2, 3, 4, 5, 6, 7, 8)s2 := dataframe.NewSeriesFloat64("sales", nil, 50.3, 23.4, 56.2, nil, nil, 84.2, 72, 89)df := dataframe.NewDataFrame(s1, s2)fmt.Print(df.Table())
}
+-----+-------+---------+
|     |  DAY  |  SALES  |
+-----+-------+---------+
| 0:  |   1   |  50.3   |
| 1:  |   2   |  23.4   |
| 2:  |   3   |  56.2   |
| 3:  |   4   |   NaN   |
| 4:  |   5   |   NaN   |
| 5:  |   6   |  84.2   |
| 6:  |   7   |   72    |
| 7:  |   8   |   89    |
+-----+-------+---------+
| 8X2 | INT64 | FLOAT64 |
+-----+-------+---------+

2.3 插入和删除行

df.Append(nil, 9, 123.6)df.Append(nil, map[string]interface{}{"day":   10,"sales": nil,
})df.Remove(0)

2.4 排序

sks := []dataframe.SortKey{{Key: "sales", Desc: true},{Key: "day", Desc: true},
}df.Sort(ctx, sks)

3、统计学

go get gonum.org/v1/gonum/stat

平均数

package mainimport ("context""fmt"dataframe "github.com/rocketlaunchr/dataframe-go""gonum.org/v1/gonum/stat"
)func main() {// 创建表s := dataframe.NewSeriesInt64("random", nil, 1, 2, nil)var ctx = context.Background()/*ctx: 上下文true: 移除nil类型*/sf, _ := s.ToSeriesFloat64(ctx, true)mean := stat.Mean(sf.Values, nil)// 平均数fmt.Println(mean)
}

中位数

 go get github.com/montanaflynn/stats
package mainimport ("context""fmt""github.com/montanaflynn/stats""github.com/rocketlaunchr/dataframe-go"
)func main() {// 创建表s := dataframe.NewSeriesInt64("random", nil, 1, 2, 3, 5)var ctx = context.Background()/*ctx: 上下文true: 移除nil类型*/sf, _ := s.ToSeriesFloat64(ctx, true)median, _ := stats.Median(sf.Values)fmt.Println(median)
}

标准差

标准差定义是总体各单位标准值与其平均数离差平方的算术平均数的平方根。

简单来说,标准差是一组数据平均值分散程度的一种度量。一个较大的标准差,代表大部分数值和其平均值之间差异较大;一个较小的标准差,代表这些数值较接近平均值。

package mainimport ("context""fmt""github.com/rocketlaunchr/dataframe-go""gonum.org/v1/gonum/stat"
)func main() {// 创建表s := dataframe.NewSeriesInt64("random", nil, 1, 2, 3, 5)var ctx = context.Background()/*ctx: 上下文true: 移除nil类型*/sf, _ := s.ToSeriesFloat64(ctx, true)std := stat.StdDev(sf.Values, nil)fmt.Println(std)
}

4、包

GitHub - rocketlaunchr/dataframe-go:DataFrame for Go:用于统计、机器学习和数据操作/探索https://github.com/rocketlaunchr/dataframe-go

【go 科学计算】用于统计、机器学习和数据操作相关推荐

  1. 用于处理机器学习大数据文件的7种方法

    机器学习数据文件太大而不能装入内存数据集是很常见的. 这会导致以下问题: 如何加载多个G的数据文件? 当我尝试运行我的数据集时算法崩溃;我该怎么办? 您能帮助纠正内存不足的错误吗? 在这篇文章中,我想 ...

  2. 视频教程-Python科学计算与图形渲染库-大数据

    Python科学计算与图形渲染库 东北大学计算机专业硕士研究生,欧瑞科技创始人&CEO,曾任国内著名软件公司项目经理,畅销书作者,企业IT内训讲师,CSDN学院专家讲师,制作视频课程超过100 ...

  3. python扩展库用于科学计算的有哪些_数据科学必备的十大 Python 库

    ​Python 已成为当今使用最广泛的编程语言之一,尤其是在数据科学领域. Python 是一种高性能的语言,易于学习和调试,并且具有广泛的库支持.这些库都有自己独特的功能,一些专注于数据挖掘,一些专 ...

  4. 数据科学 IPython 笔记本 7.3 Pandas 数据操作

    7.3 Pandas 数据操作 原文:Data Manipulation with Pandas 译者:飞龙 协议:CC BY-NC-SA 4.0 本节是<Python 数据科学手册>(P ...

  5. python科学计算三剑客_机器学习三剑客之Numpy

    NumpyNumPy是Python语言的一个扩充程序库.支持高级大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库.Numpy内部解除了Python的PIL(全局解释器锁),运算效率极好 ...

  6. setInc 和 setDec 用于统计字段,更新操作

    统计字段(通常指的是数字类型)的更新,ThinkPHP中有 setInc和setDec方法. $User = M("User"); // 实例化User对象 $User->w ...

  7. Python_机器学习_常用科学计算库_第6章_ Seaborn+综合案例

    Python_机器学习_常用科学计算库_第6章_ Seaborn+综合案例 文章目录 Python_机器学习_常用科学计算库_第6章_ Seaborn+综合案例 Seaborn 学习目标 6.1 Se ...

  8. 【科普】一文把数据科学、人工智能与机器学习讲清楚

    目录 什么是数据科学? 什么是人工智能? 什么是机器学习? 数据科学.人工智能.机器学习的关系 数据科学.人工智能.机器学习的区别 数据科学.人工智能.机器学习工作 尽管"数据科学" ...

  9. 数据科学、人工智能与机器学习傻傻分不清楚,看这篇就够了

    数据科学.人工智能与机器学习的区别 什么是数据科学? 什么是人工智能? 什么是机器学习? 数据科学.人工智能.机器学习的关系 数据科学.人工智能.机器学习的区别 数据科学.人工智能.机器学习工作 尽管 ...

最新文章

  1. Linux下查看进程和线程
  2. 10kv开关柜价格_什么是10KV开闭所,开闭所主要是什么作用?一起来探个究竟
  3. 通过正则表达式分句提取中文内容
  4. 刷magisk模块后不能开机_刷Magisk模块开机卡Logo了怎么办?两种方法教你轻松解决...
  5. 前端学习(2116):为什么组件data必须是函数
  6. 【转】VNC不同软件之间的联系与区别
  7. php商品在最少购买,ECSHOP给商品设置最少购买数量的方法
  8. mysql面试关联查询语句_sql语句多表联查语句的练习(面试题)
  9. 用eslint + prettier + pre-commit管理项目(React)
  10. android广播的使用
  11. Eclipse下载与安装及汉化(详解版)
  12. FreeRTOS-时间片轮转调度
  13. Flash游戏开发技术分析(下)
  14. ERP软件厂商薪资情况披露
  15. Docker端口映射只有Ipv6端口导致Ipv4访问不通
  16. 长期性喝茶的好处和弊端
  17. 携手NVIDIA等40余家国内外伙伴,飞桨硬件生态狂飙
  18. pycharm多行注释
  19. 计算机二级考试公网入口和教育网入口,考试入口
  20. 关于使用fluxion工具破解wifi密码的详细教程

热门文章

  1. html页面初始化代码,使用DW制作网页,如何初始化代码
  2. [转]和《红楼梦》咏菊花诗十二首
  3. Canvas 绘制点线相交
  4. html盒子两个背景图片,css怎么实现两张图片叠加在一起,css添加盒子背景图片
  5. mx550和3050参数对比 mx550和rtx3050差多少
  6. 隐函数存在定理1的几何解释
  7. 重新启动linux系统应使用 命令实现,在重新启动Linux系统的同时把内存中的信息写入硬盘,应使用哪个命令...
  8. 移动端适配iphoneX、iPhone XS、iPhone XS Max、iPhone XR方法
  9. 最新vue实战视屏 vue2.x thinkPHP5.0后台 nodejs+mong0DB
  10. python简单爬取安居客的新房和二手房信息