Tablesaw是一個JAVA軟件,可以用于數據科學的研究學習,軟件中包含了一個數據框架和可視化庫,軟件中為用戶提供了加載、轉換、過濾等工具,可以讓用戶放心的進行數據的分析,軟件主要包含兩部分,一部分是數據解析,還有數據的可視化,都可以讓你更好的進行數據分析。
軟件介紹
Tablesaw是一個用于數據科學的Java軟件,它包括一個數據框架和可視化庫,以及用于加載、轉換、過濾和總結數據的工具,它的速度很快,而且很注意內存。數據解析庫主要是加載數據,對數據進行操作(轉化,過濾,匯總等)。數據可視化庫就是將目標數據轉化為可視化的圖表。
軟件特色
數據處理和轉換
從RDBMS、Excel、CSV、JSON、HTML或Fixed Width文本文件導入數據,無論它們是本地的還是遠程的(http、S3等)。
將數據導出到CSV、JSON、HTML或固定寬度文件。
通過追加或連接來合并表格
添加和刪除列或行
排序、分組、查詢
地圖/縮減操作
處理缺失值
怎么用
很多的用戶第一次使用這種類型的軟件,不知道軟件的操作方法,用戶需要用到代碼,進行圖表的創建,然后還要在代碼中進行數據的分析,下面小編為大家帶來軟件的使用方法介紹。讓你可以掌握軟件的基本使用方法。
1、導入Tablesaw
gradle
//tablesaw 庫的核心代碼,主要是數據的加工處理操作:數據的追加,排序,分組,查詢等
implementation "tech.tablesaw:tablesaw-core:0.38.1"
//數據可視化的子項目,主要作用加載數據生成可視化圖表
implementation "tech.tablesaw:tablesaw-jsplot:0.38.1"
maven
2、創建圖表
2.1、方式一
//獲取數據并創建記錄表格
Table table = Table.create("動環狀態記錄表").addColumns(
StringColumn.create("時間",times),
//這里注意了要是想數據圖中顯示的數據為真實的數據,則需要用DoubleColumn等Number型對象
DoubleColumn.create(EnvTypeInfo.getEnvTypeName(envType),values));
2.2、方式二
//直接讀csv文件,獲取數據
Table table = Table.read().csv(filepath);
3、創建折線圖
Plot.show(
TimeSeriesPlot.create(
EnvTypeInfo.getEnvTypeName(envType)+"變化時間序列圖",//折線圖名稱
/**
* table:數據來源
* "時間":x軸,名稱必須要和table中的一個字段相對應
* EnvTypeInfo.getEnvTypeName(envType):y軸,名稱必須要和table中的一個字段相對應
**/
table, "時間", EnvTypeInfo.getEnvTypeName(envType)));
這里注意了,源碼中Plot會執行系統默認瀏覽器,打開生成的html文件。
但是,由于配置原因這里很容易出現瀏覽器不支持的問題,這是由于程序默認往往在Headless模式下工作,此時默認是系統環境缺少了顯示設備、鍵盤或鼠標。解決這種問題有兩種方法。
數據解析教程
軟件的一大功能就是數據解析,通過用戶導入的數據來進行數據表格的制作,將內部數據全部集成到表格內容中,然后將你的數據加載到表格中,就可以完成數據的解析了。
內部數據制作數據表格
@Test
public void tableSawTest6() {
String[] students = {"小明", "李雷", "小二"};
double[] scores = {90.1, 84.3, 99.7};
Table table = Table.create("學生分數統計表").addColumns(
StringColumn.create("姓名", students),
DoubleColumn.create("分數", scores));
System.out.println(table.print());
}
代碼超級簡單,首先定義要展示列數據 students 和 scores。然后創建數據展示的 table 定義表格名稱,添加表格列數據即可。
效果展示如下:
加載數據文件制作數據表格
@Test
public void tableSawTest10() throws Exception{
Table table = Table.read().csv("/data/bush.csv");
Table whoPercents = table.xTabPercents("who");
whoPercents.columnsOfType(ColumnType.DOUBLE)
.forEach(x -> ((NumberColumn) x).setPrintFormatter(
NumberColumnFormatter.percent(0)));
System.out.println(whoPercents.toString());
}
首先 Table.read 加載數據文件,加載數據支持 csv、數據庫結果集、文件、URL 等
指定表格 x 軸的字段,并對 數據進行百分比數據的轉化。
bash.csv 文件內容如下:
運行效果如下:
數據可視化
軟件中可以對數據進行處理,讓數據可視化,更加直觀的看到數據的變化情況,方便用戶進行后續的數據處理,很多的用戶在數據導入之后,不知道后續怎么處理,怎么樣才能對數據進行可視化處理,下面小編為大家帶來方法介紹。
Table robberies = Table.read().csv("./data/boston-robberies.csv");
Plot.show(
AreaPlot.create(
"Boston Robberies by month: Jan 1966-Oct 1975",
robberies, "Record", "Robberies"));
首先加載數據 Table.read,繪制圖表 AreaPlot.create ,然后 Plot.show 在本地生成圖表的 html 頁面,自動打開瀏覽器顯示。
boston-robberies.csv 文件內容如下:
運行效果如下:
Tablesaw 還可以繪制出很多種類的圖表,期待你的發掘。
更新日志
特點
創建氣泡圖的更多選項 (#781) - 謝謝 @rayeaster
錯誤修復
修復對java.sql.Time的支持 (#791) - 感謝 @brainbytes42。
允許在聚合時使用空切片 (#795) - 謝謝 @emillynge
修正ColumnType.compare中的NPE(#799)
修正集的NPE(#800)
-
7 簡單搜索天氣組件
裝機必備軟件
網友評論