Tablesaw是一个JAVA软件,可以用于数据科学的研究学习,软件中包含了一个数据框架和可视化库,软件中为用户提供了加载、转换、过滤等工具,可以让用户放心的进行数据的分析,软件主要包含两部分,一部分是数据解析,还有数据的可视化,都可以让你更好的进行数据分析。
软件介绍
Tablesaw是一个用于数据科学的Java软件,它包括一个数据框架和可视化库,以及用于加载、转换、过滤和总结数据的工具,它的速度很快,而且很注意内存。数据解析库主要是加载数据,对数据进行操作(转化,过滤,汇总等)。数据可视化库就是将目标数据转化为可视化的图表。
软件特色
数据处理和转换
从RDBMS、Excel、CSV、JSON、HTML或Fixed Width文本文件导入数据,无论它们是本地的还是远程的(http、S3等)。
将数据导出到CSV、JSON、HTML或固定宽度文件。
通过追加或连接来合并表格
添加和删除列或行
排序、分组、查询
地图/缩减操作
处理缺失值
怎么用
很多的用户第一次使用这种类型的软件,不知道软件的操作方法,用户需要用到代码,进行图表的创建,然后还要在代码中进行数据的分析,下面小编为大家带来软件的使用方法介绍。让你可以掌握软件的基本使用方法。
1、导入Tablesaw
gradle
//tablesaw 库的核心代码,主要是数据的加工处理操作:数据的追加,排序,分组,查询等
implementation "tech.tablesaw:tablesaw-core:0.38.1"
//数据可视化的子项目,主要作用加载数据生成可视化图表
implementation "tech.tablesaw:tablesaw-jsplot:0.38.1"
maven
2、创建图表
2.1、方式一
//获取数据并创建记录表格
Table table = Table.create("动环状态记录表").addColumns(
StringColumn.create("时间",times),
//这里注意了要是想数据图中显示的数据为真实的数据,则需要用DoubleColumn等Number型对象
DoubleColumn.create(EnvTypeInfo.getEnvTypeName(envType),values));
2.2、方式二
//直接读csv文件,获取数据
Table table = Table.read().csv(filepath);
3、创建折线图
Plot.show(
TimeSeriesPlot.create(
EnvTypeInfo.getEnvTypeName(envType)+"变化时间序列图",//折线图名称
/**
* table:数据来源
* "时间":x轴,名称必须要和table中的一个字段相对应
* EnvTypeInfo.getEnvTypeName(envType):y轴,名称必须要和table中的一个字段相对应
**/
table, "时间", EnvTypeInfo.getEnvTypeName(envType)));
这里注意了,源码中Plot会执行系统默认浏览器,打开生成的html文件。
但是,由于配置原因这里很容易出现浏览器不支持的问题,这是由于程序默认往往在Headless模式下工作,此时默认是系统环境缺少了显示设备、键盘或鼠标。解决这种问题有两种方法。
数据解析教程
软件的一大功能就是数据解析,通过用户导入的数据来进行数据表格的制作,将内部数据全部集成到表格内容中,然后将你的数据加载到表格中,就可以完成数据的解析了。
内部数据制作数据表格
@Test
public void tableSawTest6() {
String[] students = {"小明", "李雷", "小二"};
double[] scores = {90.1, 84.3, 99.7};
Table table = Table.create("学生分数统计表").addColumns(
StringColumn.create("姓名", students),
DoubleColumn.create("分数", scores));
System.out.println(table.print());
}
代码超级简单,首先定义要展示列数据 students 和 scores。然后创建数据展示的 table 定义表格名称,添加表格列数据即可。
效果展示如下:
加载数据文件制作数据表格
@Test
public void tableSawTest10() throws Exception{
Table table = Table.read().csv("/data/bush.csv");
Table whoPercents = table.xTabPercents("who");
whoPercents.columnsOfType(ColumnType.DOUBLE)
.forEach(x -> ((NumberColumn) x).setPrintFormatter(
NumberColumnFormatter.percent(0)));
System.out.println(whoPercents.toString());
}
首先 Table.read 加载数据文件,加载数据支持 csv、数据库结果集、文件、URL 等
指定表格 x 轴的字段,并对 数据进行百分比数据的转化。
bash.csv 文件内容如下:
运行效果如下:
数据可视化
软件中可以对数据进行处理,让数据可视化,更加直观的看到数据的变化情况,方便用户进行后续的数据处理,很多的用户在数据导入之后,不知道后续怎么处理,怎么样才能对数据进行可视化处理,下面小编为大家带来方法介绍。
Table robberies = Table.read().csv("./data/boston-robberies.csv");
Plot.show(
AreaPlot.create(
"Boston Robberies by month: Jan 1966-Oct 1975",
robberies, "Record", "Robberies"));
首先加载数据 Table.read,绘制图表 AreaPlot.create ,然后 Plot.show 在本地生成图表的 html 页面,自动打开浏览器显示。
boston-robberies.csv 文件内容如下:
运行效果如下:
Tablesaw 还可以绘制出很多种类的图表,期待你的发掘。
更新日志
特点
创建气泡图的更多选项 (#781) - 谢谢 @rayeaster
错误修复
修复对java.sql.Time的支持 (#791) - 感谢 @brainbytes42。
允许在聚合时使用空切片 (#795) - 谢谢 @emillynge
修正ColumnType.compare中的NPE(#799)
修正集的NPE(#800)
-
7 简单搜索天气组件
装机必备软件
网友评论