软件介绍
Tablesaw是一款可以对各类数据表进行处理的强大软件,基于Java语言开发,具有创建统计模型和可视化效果的能力,通过该软件用户可以各种可视化数据绘图,可以通过绘图的方式将表格数据直观的展示出来;Tablesaw功能丰富、简单易用,内置强大稳定的数据框架和可视化库,可用于加载、转换、过滤和总结数据,对于经常处理各种表格数据的用户可下载这款软件进行使用,该软件支持各类数据可视化,可自由选择多种图形可视化显示,非常方便实用。
软件功能
数据处理与转换
从RDBMS,Excel,CSV,JSON,HTML或固定宽度文本文件导入数据,无论这些文件是本地文件还是远程文件(http,S3等)
将数据导出到CSV,JSON,HTML或固定宽度文件。
通过追加或合并表
添加和删除列或行
排序,分组,查询
映射/归约运算
处理缺失值
可视化
Tablesaw通过为Plot.lyJavaScript绘图库提供包装器来支持数据可视化。这是新库运行的一些示例。
统计数据
描述性统计:平均值,最小值,最大值,中位数,总和,乘积,标准差,方差,百分位数,几何平均值,偏度,峰度等。
软件特色
Plot.ly支持多种可视化类型。Tablesaw已经支持许多种,包括时间序列图,柱状图,2D直方图,箱线图,折线图,面积图,散点图,3D散点图,气泡图,排列图,饼图,和条形图。
我们支持地块上的多种变体。例如,对于条形图,我们支持垂直和水平,一变量以及分组或堆叠的图表。
我们不断增加对许多其他类型的支持,包括地理地图,树图,网络图,热图,数据图,分布图,3D表面,3D色带,风玫瑰图,三次图,2D密度图,等高线图,树-地图,小提琴图,散点图矩阵等。
我们提供了一个一致的JavaAPI,用于使用构建器,键入安全枚举和其他Java功能来构造这些图,以最大程度地减少使用基于JavaScript的工具时的拼写和其他问题。
这些地块具有单一,一致且专业的外观。
每个图表都是交互式的。它们使用常见的交互式工具系列进行渲染,以进行保存,打印,平移,缩放,选择点等。
支持的自定义范围非常广泛,包括字体,图例,自定义轴,尖峰,悬停效果等。您几乎总是可以得到所需的可视化效果。
当您准备与更广阔的世界共享可视化效果时,可以在网页中使用输出
官方教程
汇入资料
注意:为了最大程度地减少核心库的大小,某些阅读器(当前为JSON,HTML表和Excel文件)打包在单独的模块中。您需要将它们包括在项目中才能使用这些Table.read()方法。
有关可用方法的列表,请参见DatadocReader的JavadocTable.read()。
文本文件(CSV,制表符分隔,固定宽度字段等)
大多数文本格式都被类似地对待。本节介绍了诸如CSV之类的矩形文本格式,但是许多信息也与JSON,Excel和HTML表有关。
从磁盘上的CSV文件加载数据的最简单方法是使用:
Tablet=Table.read().file("myFile.csv");
此方法为文件名以外的所有内容提供默认值。我们假设列之间用逗号分隔,并且文件中有一个标题行,我们用它来创建列名。如果一个或多个默认值不正确,则可以使用类CsvReadOptions自定义加载过程。
您可以使用构建器创建选项对象:
该头选项指示是否有在该文件的顶部的一行标题行。如果header为false,我们将所有行都视为数据。
例如,如果要加载制表符分隔的文件,则分隔符选项允许您指定除逗号以外的分隔符。
使用dateFormat可以提供一种读取日期的格式。文件中的所有日期都应使用相同的格式,并且该格式与java.time.format.DateTimeFormatter中定义的格式相同。
创建表时,将基于从中加载文件的名称为其指定默认名称。您可以随时使用更改名称table.setName(aString);。表名称用于打印表及其相关信息。
列类型
使用所有这些方法,Tablesaw会查看文件中每一列中的数据,并对类型进行疯狂的猜测。实际上,它查看数据样本并应用一些启发式方法。当然,数据集可能包含类型推断样本中遗漏的稀有值。如果发生这种情况,您可以设置选项sample(false)以在执行类型推断时考虑所有数据。
如果似乎没有其他合适的方法,则将该列读取为StringColumn。通常,Tablesaw会正确处理,但有时需要一点帮助。
指定每一列的数据类型
通过一点帮助,我们意味着您可以通过将ColumnType对象的数组传递给read()。csv()方法来显式指定类型。例如:
如果这看起来很麻烦,那么它确实具有一些优势。
首先,由于系统无需推断列类型,因此减少了加载时间。如果文件很大,则节省的时间可能很长。
其次,它使您可以完全控制列的类型。
在某些情况下,您必须指定列类型,因为Tablesaw无法正确猜测。例如,如果文件中的时间编码为HHmm,以使中午显示为“1200”,则无法推断这意味着中午12:00,而不是整数1200。
捷径:获取猜测的列类型
如果表中有许多列,那么手工构建列类型数组可能很繁琐。为了帮助您,CsvReader提供了一些方法,这些方法可以以数组形式或字符串形式返回推断出的ColumnType。格式化字符串,使其类似于Java数组文字。即使读取文件失败,也可以使用此方法。
请注意,返回的String是一个合法的数组文字,您可以粘贴到Java代码中:类型以逗号分隔,并且提供索引位置和列名,以便将它们解释为注释。您可以将其粘贴到您的代码中,然后对其进行编辑以修复任何不正确的列类型。
导入期间跳过列
指定列类型的另一个优点是,如果不需要,可以跳过某些列。您可以使用特殊的“SKIP”列类型来阻止导入这些列,如下所示:
在此示例中,第一列和最后一列均未加载。
处理缺失数据
Tablesaw具有一组预定义的字符串,当从CSV文件读取时,它会解释为丢失的数据。它们是:“NaN”,“*”,“NA”,“null”,当然还有空字符串“”。
当遇到这些字符串之一时,它将被Tablesaw中特定于类型的丢失指示符替换。对于字符串,这是一个空字符串。对于双打,就是Double.NaN。有关更多信息,请参见JavaDocforColumnType。
如果文件具有不支持的缺失值指示符(例如“-”),则可以在选项构建器中提供它。
处理日期和时间
由于语言环境和多种可能的格式,因此导入日期和时间可能会比较棘手。与其他列类型一样,Tablesaw会尽力确定要表示的类型并将其正确导入。如果失败,则有两件事可以帮助您。首先是指定语言环境。语言环境还可以帮助处理数字格式。
第二个是为每个时间列指定精确格式。
使用StreamAPI
当您在文件系统上存储了CSV文件时,以上所有示例都试图简化加载过程。加载CSV的一种更灵活的方法是使用Stream接口,该接口采用java.io.InputStream作为参数。
Table.read().csv(InputStreamstream,StringtableName);
它可以用来读取本地文件,也可以用来在S3等网络中读取网络文件。这是如何使用它的一些示例。
从网站加载CSV:
从S3加载CSV:
处理备用编码
默认情况下,我们假设您的文件采用UTF-8编码。如果文件使用其他编码,则加载过程会稍有不同。您需要在使用正确编码构造的FileInputStream上打开阅读器。这是一个例子。
从数据库导入
从数据库查询结果创建表同样容易。在这种情况下,您无需指定列类型,因为它们是从数据库列类型推断出来的。
Tablet=Table.read().db(ResultSetresultSet,StringtableName);
这是一个更完整的示例,其中包括JDBC设置:
从HTML,JSON,Excel导入
Tablesaw支持从HTML,JSON和Excel导入数据。有关更多信息,请参见Javadoc中的Table.read()方法。您将需要添加相应的可选依赖项:
条形图,饼图和帕累托图
Tablesaw是Java数据科学平台,可以过滤和转换数据集。它还为可视化提供了广泛的支持。在此讨论中,我们将使用来自NOAA的Tornado数据集,该数据集可在Tablesaw项目的data文件夹中找到。
尽管Tablesaw可以生成出版质量的图形,但这里的重点是探索性分析,其中内容和易用性比修饰更重要。在这里,我们重点介绍一些用于处理单变量数据的常见绘图类型:
条形图
饼状图
帕累托图
范例程式码
可以在类BarPieAndParetoExample.java中找到本文档中用于生成图表的所有代码。
https://github.com/jtablesaw/tablesaw/blob/master/jsplot/src/test/java/tech/tablesaw/examples/BarPieAndParetoExample.java
我们建议您打开该课程并继续学习。
进行设定
首先,我们加载并清理龙卷风数据集。我们使用Table.read()。csv()打开文件。
接下来,我们清理文件。我们要使用比例列。龙卷风根据其风速被分配为从0到5的比例,但是我们的数据集缺少编码为-9的缺失值,这将使图表消失。为了解决这个问题,我们将比例列中的每个-9值设置为缺失值指标。然后,我们可以创建图。
条形图
我们从无处不在的条形图开始。条形图通常显示已汇总为组的数据。要创建条形图,您需要做两件事:
一些数值
一些类别将它们分组
我们首先根据龙卷风的强度计算与龙卷风有关的死亡人数。
然后我们绘制结果:
绘制平均值,中位数和其他汇总统计信息
在上面的示例中,我们创建了显示值总和的图。为此,我们首先在表上调用summary(),传入要汇总的列的名称,聚合函数sum,并应用子句by()来指定如何对数据进行分组。
在AggregationFunctions类中定义了许多聚合函数,例如sum,mean,median,standardDeviation,percentile(n),max,kurtosis等。我们可以使用任何聚合函数代替sum。在这里,我们将看一下平均值。
我们采用与上述相同的策略,使用汇总方法创建一个新表,该表收集每个“标度”值的平均受伤人数。一旦有了,我们就创建并显示情节
在有关高级绘图功能的下一部分中,我们将介绍如何创建堆叠和分组的条形图。
饼图
饼图被广泛批评和普遍存在。通常,条形图更易于解释,因此通常是首选。我们将被撤职,但是不提供饼图支持。此示例显示了一个饼图,该饼图显示的数据与上面的第一个条形图相同:
帕累托图
条形图上的一个简单变化是帕累托图。在下面的曲线图中,死亡人数是按美国州求和的,结果按照总数从高到低的顺序排序。示例代码中有详细信息。
更新日志
特点
创建气泡图的更多选项(#781)-谢谢@rayeaster
错误修复
修复对java.sql.Time的支持(#791)-感谢@brainbytes42。
允许在聚合时使用空切片(#795)-谢谢@emillynge
修正ColumnType.compare中的NPE(#799)
修正集的NPE(#800)
Tags:Tablesaw下载,Tablesaw,数据处理,数据科学可视化库
小编点评:AnalogFactory将Arturia.
下载小编点评:夏普AL-1035-WH驱动带给大家这款数码复.
下载小编点评:快速关机重启小工具是一款快速关机重.
下载小编点评:2018年日历周数表(含农历周历节气.
下载小编点评:百财会员管理软件是一看非常实用的会.
下载小编点评:2016yy最火歌曲是一份2016年.
下载小编点评:云骑士装机大师是一款免费的系统重装.
下载小编点评:带来一款非常强大的腾讯视频内置会员.
下载小编点评:QQ图片删除工具是一款相当好用的qq图片清理.
下载小编点评:一键投影标准版适用于个人笔记本或者.
下载小编点评:星脉血压是一款专为苹果手机用户打造的血压计.
下载小编点评:53看病网医生app下载的目标就是提升.
下载小编点评:云镶运动苹果版是一款运动健身的应用软件,
下载xDark缓存文件提取器
伪装文件夹
百度空间发帖工具
弑神之路2.5 【隐藏英雄密码】
Agent Reader(支持28种语音读取文件)V1.0.0下载
微软中国四季风格年历(四季风格年历下载)V1.0下载
金长江财智版(长江证券)V1.0.0.1下载
msvcm90.dll下载
DoDo时钟下载-DoDo时钟 v2.0 绿色版
跑跑卡丁车电脑桌面主题(跑跑卡丁车主题XP/VISTA/WIN7通用版)下载
LiteIDE下载-LiteIDE x37.4 中文版
噩夜惊魂(暂未上线)
家族传说下载-家族传说游戏下载v1.0.1 安卓版