×

Mengolah Data Tabular Java

Mengolah Data Tabular Java

1,035 Views

Library Pandas di Java –  Yup kalian tidak salah baca! bila kalian pengguna python sudah sangat akrab sekali mengolah data berbasis tabular dengan pandas! atau kalian yang suka menggunakan R tentu akrab dengan dplyr dan tidyverse.

Data berbentuk tabular sering kita temui seperti excel, csv dengan keunggulan dalam mengolah data berbasis pivot, tentu kerjaan sorting dan query menjadi lebih mudah. Hampir semua library berbasis dataframe mempunyai mekanisme tersendiri untuk melakukan pivot table seperti join, merge dan banyak lainnya.

Berbanding functional programming (python dan R), java masih sering digunakan untuk data science walaupun cukup ribet karena harus dikompilasi kode agar bisa di run. Nah ngomong-ngomong Library Pandas di Java itu ada lho! namanya TableSaw dan tentu open Source

TableSaw –  Java dataframe and visualization library

Tablesaw is Java for data science. It includes a dataframe and a visualization library, as well as utilities for loading, transforming, filtering, and summarizing data. It’s fast and careful with memory. If you work with data in Java, it may save you time and effort. Tablesaw also supports descriptive statistics and integrates well with the Smile machine learning library.

Bisa kalian peroleh di https://github.com/jtablesaw/tablesaw, gunakan maven ya! untuk add depenciesnya, saya menggunakan versi berikut

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

Berikut tampilkan hasil generate grafik tablesaw

Mencoba TableSaw

TableSaw datang dengan dokumentasi yang sangat lengkap dan komunitasnya ini terus menerus berkembang. Kalian bisa pelajari dokumentasinya https://jtablesaw.github.io/tablesaw/gettingstarted

import tech.tablesaw.api.DoubleColumn;

/**
 *
 * @author User
 */
public class Pandas {
    
    public static void main(String [] args){
        //membuat kolom
        double[] numbers = {1, 2, 3, 4,10,30};
        DoubleColumn nc = DoubleColumn.create("nc", numbers);
        System.out.println(nc.print());
        
        //lakukan filtering
        DoubleColumn filtered = nc.where(nc.isLessThan(3));
        System.out.println(filtered.print());
        

    }
    
}

Sederhana sekali ya! apalagi cara baca file *.csv nya juga sekali

Table bushTable = Table.read().csv("D:\\matang.txt");
System.out.println(bushTable.structure());

hasilnya

         Structure of matang.txt         
 Index  |  Column Name  |  Column Type  |
-----------------------------------------
     0  |         File  |       STRING  |
     1  |            B  |       DOUBLE  |
     2  |            G  |       DOUBLE  |
     3  |            R  |       DOUBLE  |

Diatas dapat informasi nama header dan jenis typenya juga, OK, coba kita akses header B saja dan menampilkan isinya

DoubleColumn doubles = (DoubleColumn) bushTable.column("B");
System.out.println(doubles.print());

Membuat table

Untuk membuat table pun di tableSaw sangat mudah

String[] animals = {"bear", "cat", "giraffe"};
double[] cuteness = {90.1, 84.3, 99.7};

Table cuteAnimals =
    Table.create("Cute Animals")
        .addColumns(
            StringColumn.create("Animal types", animals),
            DoubleColumn.create("rating", cuteness));
System.out.println(cuteAnimals.print());

 

See also  Mengubah CSV menjadi ARFF WEKA

You May Have Missed