Tablesaw是一款可以对各类数据表进行处理的强大软件,基于Java语言开发,具有创建统计模型和可视化效果的能力,通过该软件用户可以各种可视化数据绘图,可以通过绘图的方式将表格数据直观的展示出来;Tablesaw功能丰富、简单易用,内置强大稳定的数据框架和可视化库,可用于加载、转换、过滤和总结数据,对于经常处理各种表格数据的用户可下载这款软件进行使用,该软件支持各类数据可视化,可自由选择多种图形可视化显示,非常方便实用。
数据处理与转换
从RDBMS,Excel,CSV,JSON,HTML或固定宽度文本文件导入数据,无论这些文件是本地文件还是远程文件(http,S3等)
将数据导出到CSV,JSON,HTML或固定宽度文件。
通过追加或合并表
添加和删除列或行
排序,分组,查询
映射/归约运算
处理缺失值
可视化
Tablesaw通过为Plot.ly JavaScript绘图库提供包装器来支持数据可视化。这是新库运行的一些示例。
统计数据
描述性统计:平均值,最小值,最大值,中位数,总和,乘积,标准差,方差,百分位数,几何平均值,偏度,峰度等。
Plot.ly支持多种可视化类型。Tablesaw已经支持许多种,包括时间序列图,柱状图,2D直方图,箱线图,折线图,面积图,散点图,3D散点图,气泡图,排列图,饼图,和条形图。
我们支持地块上的多种变体。例如,对于条形图,我们支持垂直和水平,一变量以及分组或堆叠的图表。
我们不断增加对许多其他类型的支持,包括地理地图,树图,网络图,热图,数据图,分布图,3D表面,3D色带,风玫瑰图,三次图,2D密度图,等高线图,树-地图,小提琴图,散点图矩阵等。
我们提供了一个一致的Java API,用于使用构建器,键入安全枚举和其他Java功能来构造这些图,以最大程度地减少使用基于JavaScript的工具时的拼写和其他问题。
这些地块具有单一,一致且专业的外观。
每个图表都是交互式的。它们使用常见的交互式工具系列进行渲染,以进行保存,打印,平移,缩放,选择点等。
支持的自定义范围非常广泛,包括字体,图例,自定义轴,尖峰,悬停效果等。您几乎总是可以得到所需的可视化效果。
当您准备与更广阔的世界共享可视化效果时,可以在网页中使用输出
汇入资料
注意:为了最大程度地减少核心库的大小,某些阅读器(当前为JSON,HTML表和Excel文件)打包在单独的模块中。您需要将它们包括在项目中才能使用这些Table.read()方法。
有关可用方法的列表,请参见DatadocReader的Javadoc Table.read()。
文本文件(CSV,制表符分隔,固定宽度字段等)
大多数文本格式都被类似地对待。本节介绍了诸如CSV之类的矩形文本格式,但是许多信息也与JSON,Excel和HTML表有关。
从磁盘上的CSV文件加载数据的最简单方法是使用:
Table t = 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。有关更多信息,请参见JavaDoc for ColumnType。
如果文件具有不支持的缺失值指示符(例如“-”),则可以在选项构建器中提供它。
处理日期和时间
由于语言环境和多种可能的格式,因此导入日期和时间可能会比较棘手。与其他列类型一样,Tablesaw会尽力确定要表示的类型并将其正确导入。如果失败,则有两件事可以帮助您。首先是指定语言环境。语言环境还可以帮助处理数字格式。
第二个是为每个时间列指定精确格式。
使用Stream API
当您在文件系统上存储了CSV文件时,以上所有示例都试图简化加载过程。加载CSV的一种更灵活的方法是使用Stream接口,该接口采用java.io.InputStream作为参数。
Table.read().csv(InputStream stream, String tableName);
它可以用来读取本地文件,也可以用来在S3等网络中读取网络文件。这是如何使用它的一些示例。
从网站加载CSV:
从S3加载CSV:
处理备用编码
默认情况下,我们假设您的文件采用UTF-8编码。如果文件使用其他编码,则加载过程会稍有不同。您需要在使用正确编码构造的FileInputStream上打开阅读器。这是一个例子。
从数据库导入
从数据库查询结果创建表同样容易。在这种情况下,您无需指定列类型,因为它们是从数据库列类型推断出来的。
Table t = Table.read().db(ResultSet resultSet, String tableName);
这是一个更完整的示例,其中包括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)
CKplayer网页播放器
336 KB/2020-08-17ckplayer是一款在网页上播放视频的免费的网页播放器,功能强大,体积小巧,跨平台,使用起来随心所欲。CKplayer网页播放器主要以adobe的flash(所使用的版本是CS5)平台开发,ckplayer同时也支持html5的视频播放。
WordPress
6.7 MB/2020-08-17WordPress是一种使用PHP语言开发的博客平台,用户可以在支持PHP和MySQL数据库的服务器上架设自己的网志。也可以把WordPress当作一个内容管理系统(CMS)来使用。
Discuz论坛
4.05 MB/2020-08-17Discuz!Board(以下简称Discuz!,中国国家版权局著作权登记号2003SR6623)是一个通用的论坛软件系统,用户可以在不需要任何编程的基础上,Discuz论坛通过简单的设置和安装
Guns后台管理系统
12.5 MB/2020-08-17Guns后台管理系统是一款项目快速开发管理系统网站搭建模板,基于SpringBoot2开发,内置主控面板、组织架构、用户管理、机构管理、职位管理、权限管理、基础数据、系统功能
狂雨小说cms
7.8 MB/2020-08-17狂雨小说是一款体积轻量、简单易用的轻量级小说网站搭建模板,基于ThinkPHP5.1+MySQL的技术开发,网站搭建和部署便捷简单,通过该模板用户可以快速搭建一个属于自己的小说内
Slidev(开发幻灯片展示)
8.52 MB/2020-08-17Slidev是一款非常专业且优秀的开发幻灯片展示软件,作为基于Web的幻灯片制作和演示软件,非常适合开发人员使用,可帮助他们专注于在Markdown中编写内容,软件功能强大,拥有HTML
魔众短链接系统
27.5 MB/2020-08-17魔众短链接系统是一款绿色安全、免费开源的短链接生成网站搭建模板,基于PHP+Mysql开发,可帮助用户快速搭建属于自己的短链接生成网站,该网站界面简洁美观、对SEO非常友好,功
易语言资源网源码下载工具
1.51 MB/2020-08-17易语言资源网源码下载工具是一款对开发者极为有用的易语言源码查找工具,用户可以通过这款工具在易语言资源网中查找各种项目的源码;很多开发者在开发项目时会在网上查找一
建站专家网站建设系统
Turbo C 2.0库函数速查
PPTV网络电视系统
中英繁公司企业智能自助建站源码
宾馆酒店饭店网站建设模板ASP源码
XOOPS 简体中文版 2.0.3 for Unix
SaurusCMS
Deluge For Linux
及速自助网站建设系统
娱乐棋牌2025最新版
82699.cσm天下棋牌下载
82699.cσm天下棋牌最新版
太阳城棋牌app最新版
松江一道棋牌手机版
太阳城棋牌软件
松江一道棋牌安卓版
82699天下棋牌官方版
太阳城棋牌官网版
您可能感兴趣的专题
男生必备
男生们看过来!
安卓装机必备
女生必备
女生必备app是拥有众多女性用户的手机软件,作为一个女生,生活中像淘宝、京东这类线上购物软件可以说是少不了的,小红书这种穿搭、化妆分享平台也很受欢迎,类似于西柚大姨妈、美柚这种专为女生打造的生理期app更是手机必备,还有大家用的最多拍照美颜app是绝对不能忘记的,除此之外对于一些追星女孩来说,微博也是一个必不可少的软件。超多女生必备软件尽在下载吧!
迅雷看看使用教程
迅雷看看播放器是一款多功能在线高清多媒体视频播放器,支持本地播放与在线视频点播,采用P2P点对点传输技术,可以在线流畅观看高清晰电影。不仅如此,迅雷看看不断完善用户交互和在线产品体验,让您的工作与生活充满乐趣。
驱动精灵
驱动精灵是一款集驱动管理和硬件检测于一体的、专业级的驱动管理和维护工具。驱动精灵为用户提供驱动备份、恢复、安装、删除、在线更新等实用功能,也是大家日常生活中经常用到的实用型软件之一了。
拼音输入法
对于电脑文字输入,拼音输入法是一种非常受欢迎的输入法,搜狗拼音输入法、百度拼音输入法、QQ拼音输入法、谷歌拼音输入法、紫光拼音输入法、智能拼音输入法等,你在用哪款呢?一款好用适合自己的拼音输入法一定对您平时帮助很大!下载吧收集了最热门国人最喜欢用的拼音输入法给大家。
b站哔哩哔哩怎么使用
很多人都喜欢在b站哔哩哔哩上观看视频,不单是因为可以提前看到一些视频资源,B站的一些弹幕、评论的玩法也是被网友们玩坏了!下面下载吧小编带来了b站哔哩哔哩怎么使用的教程合集!希望能帮到你啦!
抖音短视频app
抖音短视频app,这里汇聚全球潮流音乐,搭配舞蹈、表演等内容形式,还有超多原创特效、滤镜、场景切换帮你一秒变大片,为你打造刷爆朋友圈的魔性短视频。脑洞有多大,舞台就有多大!好玩的人都在这儿!