当前位置: 首页> 文旅> 文化 > 红盾网官网入口_重庆seo软件_seo优化一般包括哪些内容()_属于b2b的网站有哪些

红盾网官网入口_重庆seo软件_seo优化一般包括哪些内容()_属于b2b的网站有哪些

时间:2025/7/11 14:37:35来源:https://blog.csdn.net/neweastsun/article/details/144249330 浏览次数:0次
红盾网官网入口_重庆seo软件_seo优化一般包括哪些内容()_属于b2b的网站有哪些

java中tableaw库通过简单的API实现过滤、连接、绘制和操作表格数据。支持CSV,数据库,Excel等数据源。

安装依赖

tableaw是用于分析表格数据的开源Java库,构建在Java 8流之上。它可以从GitHub下载,也可以作为Maven或Gradle项目的依赖项添加。撰写本文时的最新版本是0.43.1。

使用Maven添加tableaw:

    <dependency><groupId>tech.tablesaw</groupId><artifactId>tablesaw-core</artifactId><version>0.43.1</version></dependency>

Gradle依赖:

implementation 'tech.tablesaw:tablesaw-core:0.43.1'

现在我们准备开始在Java代码中使用Tablesaw。

tableaw简介

tableaw是Randall Griffith在2016年创建的,它提供了一个简单的API来处理Java中的表格数据,类似于Python中的Pandas。它由Anthropic维护,并在Apache 2.0许可下可用。

该库提供了两个主要结构-表和列-用于处理表格数据。Table表示具有多个已命名列的完整数据集,而Column提供在单个列上操作的api。tableaw在底层使用Java 8流来优化数据处理。

tableaw的一些关键特性和功能包括:

  • 从CSV,数据库,Excel, HTML等导入数据
  • 过滤,抽样,聚合,分组和连接数据
  • 添加/删除/重新排序的列
  • 处理缺失值
  • 执行数学,文本,日期/时间和统计功能
  • 创建图表和数据可视化
  • 将数据导出为各种格式

接下来,我们将通过一些实际操作的示例来说明如何使用Tablesaw。

创建表

通过编程增加列方式创建表:

Table table = Table.create("MyTable").addColumns(Column.create("id", IntColumn.create()),Column.create("name", StringColumn.create()),Column.create("age", IntColumn.create()));	

然后从外部数据源导入数据:

Table table = Table.read().csv("data.csv");

增加或删除列:

table.addColumns(Column.create("salary", FloatColumn.create()));
table.removeColumns("id");

列的顺序可以调整:

table.columnOrder("age", "name", "salary");

查询和过滤

tablesaw支持sql语法查询表:

Table results = table.selectWhere(table.intColumn("age").isGreaterThan(30));

这里过滤age大于30的记录,也支持分组聚合数据:

Table summary = 
table.summarize("age", table.intColumn("age").average()).by("department");

这里计算每个department分组的平均年龄。

数学方法

double[] numbers = {1, 2, 3, 4};
DoubleColumn nc = DoubleColumn.create("nc", numbers);
System.out.println(nc.print());
double stdDev = nc.standardDeviation();

连接和合并

表格支持纵向合并(增加列),横向合并(增加行):

Table joined = table1.concat(table2); // adds rowsTable wide = table1.join(table2); // adds columns

对于基于键的连接,Tablesaw支持内部连接、左外连接、右外连接和全外连接:

Table innerJoin = table1.innerJoin(table2, "id");Table leftJoin = table1.leftOuterJoin(table2, "id");

转换数据

tableaw提供了许多转换列数据的选项,包括:

sortAscending()和sortdescent () map()应用函数set()来更改值removeMissing()来过滤行bin()到桶/离散logN()和其他数学函数lowerCase(), upperCase(), trim()用于文本

  • sortAscending()sortDescending() 排序数据
  • lowerCase(), upperCase(), trim()对文本进行处理
StringColumn s = StringColumn.create("sc", new String[] {"foo", "bar", "baz", "foobarbaz"});
StringColumn s2 = s.copy();
s2 = s2.replaceFirst("foo", "bar");
s2 = s2.upperCase();
s2 = s2.padEnd(5, 'x'); // put 4 x chars at the end of each string
s2 = s2.substring(1, 5);// this returns a measure of the similarity (levenshtein distance) between two columns
DoubleColumn distance = s.distance(s2);
  • map() 支持函数映射转换
DoubleColumn other = DoubleColumn.create("other", new Double[] {10.0, 20.0, 30.0, 40.0});
DoubleColumn newColumn = other.multiply(4);
System.out.println(newColumn.print());

数据结果:

Column: other * 4.0
40
80
120
160
  • set() 函数改变值
  • removeMissing() 过滤行
  • bin() to 分桶或散列
  • logN() 及其他数学函数

数据可视化

tableaw通过为Plot.ly提供包装器来支持数据可视化。plot() 方法与JSPlot库集成,以生成直方图、散点图和条形图等可视化效果。以下是新库的几个示例。

图1

table.plot().histogram("age", 50);

绘图可以自定义,保存到文件中,并显示在Swing/JavaFX窗口中。

输入和输出

tableaw支持读写各种文件格式:

  • CSV, TSV
  • Excel (XLSX)
  • HTML tables
  • JSON
  • Databases via JDBC

并支持导出为PDF、Markdown和Excel等格式。

Table table = Table.read().csv("data.csv");table.write().csv("output.csv");

高级功能

tableaw的一些更高级的功能包括:

  • 通过过滤、插入处理缺失数据
  • 大型数据集的多线程并行处理
  • 文本分析功能,如词干提取,n-grams
  • 具有日期/时间列的时间序列分析
  • 创建子表和采样

总结

tableaw提供了一个简单而强大的API,用于分析和操作Java中的表格数据。tableaw具有类似sql的语法,支持连接和聚合、文件导入/导出、绘图集成等功能,是处理表格数据的绝佳选择。

关键字:红盾网官网入口_重庆seo软件_seo优化一般包括哪些内容()_属于b2b的网站有哪些

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: