java中的数据处理框架-Joinery的初次使用(类似于python中的pandas)

博主因习惯Python中pandas,在Java里找到类似的Joinery框架。介绍了Meaven配置,若处理csv需添加依赖,还进行了简单演示。同时分享了相关资料,包括Maven配置、DataFrame手册及GitHub源码地址。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

由于用惯了python中的pandas,在写java代码时也想找找类似的框架,便发现了Joinery。

Meaven配置

	<dependency>
	  <groupId>joinery</groupId>
	  <artifactId>joinery-dataframe</artifactId>
	  <version>1.9</version>
	</dependency>

如果需要处理csv的话,还得添加一个依赖

<dependency>
	    <groupId>org.apache.poi</groupId>
	    <artifactId>poi</artifactId>
	    <version>3.17</version>
	</dependency>

简单演示

import java.io.IOException;
import java.util.Arrays;
import java.util.Set;
import joinery.DataFrame;

public class Demo {
	public static void main(String[] args) {
		 //创建
		 DataFrame<Object> df = new DataFrame<>("name", "value");
		 //添加数据
		 df.append(Arrays.asList("alpha", 1));
		 df.append(Arrays.asList("bravo", 2));
		 //行数
		 System.out.println(df.length());
		 //空表判断
		 System.out.println(df.isEmpty());
		 //多列合并成一列进行输出
		 System.out.println(df.flatten());
		 //计算常用统计量
		 System.out.println(df.mean().col("value"));
		 System.out.println(df.median().col("value"));
		 System.out.println(df.max().col("value"));
		 System.out.println(df.min().col("value"));
		 System.out.println(df.var().col("value"));
		 // 以下演示如何获取每一格的数据
		 Set<Object> indexs = df.index();
		 Set<Object> columns = df.columns();
		 for(Object index:indexs){
			for(Object column:columns){
				System.out.print(df.get(index, column));
				System.out.print("\t");
			}
			System.out.println();
		 }
		 //保存为csv文件
		 try {
			df.writeCsv("./test.csv");
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
}


运行结果如下
在这里插入图片描述
保存文件如下
在这里插入图片描述

相关资料

首先是Maven,里面可以选择更多版本的配置
https://mvnrepository.com/artifact/joinery/joinery-dataframe
然后是DataFrame的手册,可以在里面查找更多的方法,其实都和pandas的差不多。
http://cardillo.github.io/joinery/v1.9/api/reference/joinery/DataFrame.html
接着是GitHub地址,有兴趣的可以研究研究源码
https://github.com/cardillo/joinery

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值