Java里的joinery的一些使用方法

joinery的一些使用方法

简单说一下,因为要在java里像python的panda一样灵活的处理数据,于是我便百度了一下,便找到了joinery。
以下是官方文档,本文所有内容基本都能在官方文档找到。
https://joinery.sh/v1.10/api/reference/joinery/DataFrame.html

本文有很多方法没介绍到,例如官方文档给的怎么创建一个表:

List<List<Object>> data = Arrays.asList(
        Arrays.<Object>asList("alpha", "bravo", "charlie"),
        Arrays.<Object>asList(1, 2, 3)
  );
  DataFrame<Object> df = new DataFrame<>(data);
  df.row(0);

在这里插入图片描述
更多方法请看官方文档

在maven项目中引入依赖

        <dependency>
            <groupId>sh.joinery</groupId>
            <artifactId>joinery-dataframe</artifactId>
            <version>1.10</version>
        </dependency>

import

import joinery.DataFrame;

readCsv

读取Csv内的数据:

DataFrame<Object> dataFrame = DataFrame.readCsv(DataPath);
System.out.println(dataFrame);

在这里插入图片描述

columns

返回列名

System.out.println(dataFrame.columns());

在这里插入图片描述

index

返回所有行

System.out.println(dataFrame.index());

在这里插入图片描述

col

取某一列一整列的数据

System.out.println(dataFrame.col("Category"));

在这里插入图片描述
不过不一定是要列名,还可以用第几列:

System.out.println(dataFrame.col(0));

在这里插入图片描述

get

用来获取某一个位置的数据

System.out.println(dataFrame.count().get(0, 0));

除了用这种坐标的方式,亦可以用行名和列名,官方文档给的:

 DataFrame<Object> df = new DataFrame<Object>(
      Arrays.asList("row1", "row2", "row3"),
      Arrays.asList("name", "value"),
      Arrays.asList(
          Arrays.asList("alpha", "bravo", "charlie"),
          Arrays.asList(10, 20, 30)
      )
  );
 df.get("row2", "name");

输出: bravo

count

用来记总数:

System.out.println(dataFrame.count());//输出行数

在这里插入图片描述
用来准确获取某一列的行数:

System.out.println(dataFrame.count().get(0, 0));

在这里插入图片描述

length

System.out.println(dataFrame.length());

在这里插入图片描述

types

看各列的值的类型

System.out.println(dataFrame.types());

cast

改变类型,官方给出的示例:

  DataFrame<Object> df = new DataFrame<>("name", "value");
  df.append(Arrays.asList("one", "1"));
  DataFrame<String> dfs = df.cast(String.class);
  dfs.get(0, 0).getClass().getName();

java.lang.String

max,min,mean,prod

max返回最大值,min返回最小值,mean返回平均值,prod返回乘积

System.out.println(dataFrame.prod().col("id"));//要用其他三个把中间的prod换成其他三个即可
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值