Go 語言次世代資料分析庫。支援 平行處理、資料視覺化,並 與 Python 無縫整合。
官方網站: https://insyra.hazelnut-paradise.com
歡迎加入 Side Project Taiwan(Discord 社群) 與我們一起討論。
Insyra 庫是一個動態且多功能的 Go 語言資料分析工具。提供了豐富的功能集,可用於數據操作、統計計算、資料視覺化等,對於處理複雜數據結構的開發者來說,是一個必不可少的工具包。
Note
如果文檔中的某些功能無法使用,可能是該功能還未包含在最新發布的版本中。請至 Releases 查看對應版本源碼中的文檔。
我們提供了一個迷你 Go IDE,Idensyra
,旨在使數據分析變得更簡單(儘管 Insyra 已經使其非常簡單)。
Idensyra
預裝了 Insyra,不需要安裝 Go 環境即可運行 Go 程式碼!
-
從 這裡 下載並安裝 Golang。
-
設置您的編輯器,我們推薦使用 VSCode。
-
在您的專案中開啟或建立一個資料夾,並在編輯器中開啟它。
-
使用以下命令建立新專案:
go mod init your_project_name
-
在您的專案中安裝 Insyra:
go get github.com/HazelnutParadise/insyra
-
建立一個新文件,例如
main.go
,並寫入以下代碼:package main import ( "fmt" "github.com/HazelnutParadise/insyra" ) func main() { // 將您的代碼寫在這裡 }
-
運行您的專案:
go run main.go
-
要開始使用 Insyra,請使用以下命令進行安裝:
go get github.com/HazelnutParadise/insyra
-
更新 Insyra 到最新版本:
go get -u github.com/HazelnutParadise/insyra
或者
go get github.com/HazelnutParadise/insyra@latest
package main
import (
"fmt"
"github.com/HazelnutParadise/insyra"
)
func main() {
dl := insyra.NewDataList(1, 2, 3, 4, 5)
dl.Append(6)
fmt.Println("DataList:", dl.Data())
fmt.Println("Mean:", dl.Mean())
}
DataList
是 Insyra 的核心結構,能夠存儲、管理和分析動態數據集合。它提供了各種用於數據操作和統計分析的方法。
有關方法和功能的完整列表,請參閱 DataList 文檔。
DataTable
結構提供了表格數據的表示方式,允許以結構化格式存儲和操作數據。它提供了數據過濾、排序和聚合的方法,使其成為數據分析的強大工具。
您還可以僅用一行代碼在 DataTables 和 CSV 文件之間進行轉換,實現與外部數據源的無縫整合。
有關方法和功能的完整列表,請參閱 DataTable 文檔。
Insyra 還提供了多個擴展套件,每個都專注於數據分析的特定方面。
提供數據分析的統計函數,包括偏度、峰度和矩計算。
為數據操作和分析提供平行處理能力。可用於執行任何函數,並自動等待所有 goroutine 完成。
強大的 github.com/go-echarts/go-echarts 庫的封裝,用於簡化資料視覺化。
基於 github.com/gonum/plot 的視覺化套件。快速且不需要 Chrome。甚至支援函數繪圖。
提供一個 超級簡單 且直觀的方式來生成線性規劃(LP)模型並將其保存為 .lp
檔。支援設置目標、添加約束、定義變量邊界,並指定二進制或整數變量。
使用 GLPK 的全自動線性規劃(LP)包。
處理 Excel 和 CSV 文件。例如將 CSV 轉換為 Excel。
在 Go 中執行 Python 程式碼,無需手動安裝 Python 環境和依賴庫。允許在 Go 和 Python 之間傳遞變數。
除了基本用法外,Insyra 還提供了處理不同數據類型和執行複雜統計操作的強大功能。請在 詳細文檔 中探索更多內容。
歡迎各種形式的貢獻!您可以通過以下方式貢獻 Insyra:
- Issues: 提出問題、建議或功能請求。
- Pull Requests: 提交代碼更改或新功能。
- Discussions: 參與討論,分享您的想法和建議。
Insyra 採用 MIT 許可證授權。請參閱 LICENSE 文件以獲取更多資訊。