gopherdata

package module
v1.0.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 4, 2025 License: MIT Imports: 0 Imported by: 0

README ΒΆ

GopherData

Go Version Go Reference Go Report Card CI codecov License GitHub release GitHub stars GitHub forks

A comprehensive data science library for Go - Bringing pandas-like DataFrame operations and scikit-learn compatible machine learning to the Go ecosystem.


πŸ“– Table of Contents


🌟 Overview

GopherData is a data science library for Go that provides:

  • DataFrames & Series: Pandas-like data structures with type safety
  • Feature Engineering: 22 transformers (scalers, encoders, imputers, selectors, creators)
  • Machine Learning: 16 algorithms including linear models, trees, clustering, and dimensionality reduction
  • Statistics: Descriptive stats, correlation analysis, hypothesis testing, probability distributions
  • I/O Operations: CSV and JSON support with automatic type inference
  • High Performance: Optimized operations with 2-5x speedup over pandas in many cases
  • Type Safety: Generic-based implementation with compile-time guarantees
Key Design Principles
  • Type Safety: Leverages Go generics for compile-time type checking
  • Memory Efficiency: BitSet-based null handling (8x memory savings), copy-on-write semantics
  • Performance: Parallel operations, efficient algorithms, zero-copy views where possible
  • sklearn Compatibility: Familiar API for data scientists migrating from Python
  • No C Dependencies: Pure Go implementation for easy deployment

✨ Features

Data Structures
  • DataFrame: 2D labeled data structure with heterogeneous types
  • Series: 1D labeled arrays with support for any type
  • Null Handling: Efficient BitSet-based null masks (1 bit per value)
  • Indexing: RangeIndex, StringIndex, DatetimeIndex support
  • Copy-on-Write: Efficient memory usage with lazy copying
Data Operations
  • Selection & Filtering: Select(), Drop(), Filter(), Iloc(), Loc()
  • GroupBy: Aggregations with 11 functions (sum, mean, median, std, var, min, max, count, size, first, last)
  • Joins: Inner, Left, Right, Outer, Cross joins with hash-based implementation
  • Sorting: Multi-column sort with custom comparators and null handling
  • Reshaping: Pivot, Melt, Stack, Unstack, Transpose
  • Window Functions: Rolling, Expanding, Exponentially Weighted Moving
  • Missing Data: FillNA, DropNA, Interpolate (linear, forward-fill, back-fill)
  • Apply: Row-wise, column-wise, and element-wise transformations
Feature Engineering

Scalers (4)

  • StandardScaler - Standardization (z-score normalization)
  • MinMaxScaler - Scale to [0, 1] range
  • RobustScaler - Scale using median and IQR
  • MaxAbsScaler - Scale by maximum absolute value

Encoders (5)

  • OneHotEncoder - One-hot encoding for categorical variables
  • LabelEncoder - Encode labels with values 0 to n_classes-1
  • OrdinalEncoder - Encode categorical features as integers
  • TargetEncoder - Encode based on target variable statistics
  • FrequencyEncoder - Encode based on category frequencies

Imputers (3)

  • SimpleImputer - Fill missing values with mean/median/mode/constant
  • KNNImputer - Fill using K-Nearest Neighbors
  • IterativeImputer - Multivariate iterative imputation

Feature Selectors (4)

  • VarianceThreshold - Remove low-variance features
  • SelectKBest - Select K best features based on statistical tests
  • SelectPercentile - Select features based on percentile
  • RFE - Recursive Feature Elimination

Feature Creators (3)

  • PolynomialFeatures - Generate polynomial and interaction features
  • InteractionFeatures - Create interaction features
  • BinDiscretizer - Bin continuous features into discrete intervals

Pipeline

  • Chain multiple transformers
  • sklearn-compatible Fit/Transform API
  • JSON serialization for model persistence
Machine Learning

Supervised Learning

Regression

  • LinearRegression - Ordinary Least Squares
  • Ridge - Ridge Regression (L2 regularization)
  • Lasso - Lasso Regression (L1 regularization)
  • DecisionTreeRegressor - CART algorithm for regression

Classification

  • LogisticRegression - Binary classification with L1/L2/no regularization
  • DecisionTreeClassifier - CART algorithm for classification

Unsupervised Learning

  • KMeans - K-Means clustering with K-Means++ initialization
  • PCA - Principal Component Analysis with eigenvalue decomposition

Model Evaluation

  • TrainTestSplit - Split data with stratification support
  • KFold - K-Fold cross-validation
  • StratifiedKFold - Stratified K-Fold for imbalanced datasets
  • CrossValScore - Evaluate models with cross-validation

Metrics

Classification

  • Accuracy, Precision, Recall, F1 Score
  • Confusion Matrix, Classification Report
  • Support for binary, micro, macro, and weighted averaging

Regression

  • MSE, RMSE, MAE
  • RΒ² Score, Adjusted RΒ²
Statistics

Descriptive Statistics

  • Mean, Median, Mode
  • Standard Deviation, Variance, Range, IQR
  • Skewness, Kurtosis
  • Quantiles, Percentiles
  • Comprehensive Describe() function

Correlation

  • Pearson correlation coefficient
  • Spearman rank correlation
  • Kendall tau correlation
  • Correlation and covariance matrices

Hypothesis Testing

  • T-tests: One-sample, two-sample (equal/unequal variance), paired
  • Chi-square: Independence test, goodness-of-fit test
  • ANOVA: One-way analysis of variance

Probability Distributions

  • Normal (Gaussian) distribution
  • Uniform distribution
  • Binomial distribution
  • PDF, CDF, PPF, and random sampling
I/O Operations
  • CSV: Read/write with automatic type inference, custom delimiters
  • JSON: Multiple formats (Records, Columns, JSONL)
  • Efficient: Streaming support for large files
Utilities
  • Parallel Processing: Worker pools, parallel map/reduce
  • Memory Management: Object pooling, buffer reuse
  • CLI Tool: Command-line utility for data inspection (gopherdata)

πŸ“¦ Installation

Using go get
go get github.com/TIVerse/GopherData@latest
Requirements
  • Go 1.21 or higher
  • No external C dependencies
Verify Installation
go version  # Should be 1.21+
go list -m github.com/TIVerse/GopherData
Install CLI Tool
go install github.com/TIVerse/GopherData/cmd/gopherdata@latest
Import in Your Code
import (
    "github.com/TIVerse/GopherData/dataframe"
    "github.com/TIVerse/GopherData/models/linear"
    "github.com/TIVerse/GopherData/features"
)

πŸš€ Quick Start

Basic DataFrame Operations
package main

import (
    "fmt"
    "github.com/TIVerse/GopherData/dataframe"
    "github.com/TIVerse/GopherData/io/csv"
)

func main() {
    // Create a DataFrame
    df, _ := dataframe.New(map[string]any{
        "name":   []string{"Alice", "Bob", "Charlie", "David"},
        "age":    []int64{25, 30, 35, 40},
        "salary": []float64{50000, 65000, 75000, 85000},
        "dept":   []string{"Engineering", "Marketing", "Engineering", "Sales"},
    })
    
    // Display DataFrame info
    fmt.Printf("Shape: %d rows x %d columns\n", df.Nrows(), df.Ncols())
    fmt.Println("Columns:", df.Columns())
    
    // Select columns
    subset := df.Select("name", "age", "salary")
    
    // Filter rows
    engineers := df.Filter(func(row *dataframe.Row) bool {
        dept, _ := row.Get("dept")
        return dept.(string) == "Engineering"
    })
    
    // GroupBy and aggregate
    byDept := df.GroupBy("dept").Agg(map[string]string{
        "salary": "mean",
        "age":    "max",
    })
    
    // Write to CSV
    csv.ToCSV(byDept, "department_summary.csv")
}
Feature Engineering Pipeline
package main

import (
    "github.com/TIVerse/GopherData/dataframe"
    "github.com/TIVerse/GopherData/features"
    "github.com/TIVerse/GopherData/features/scalers"
    "github.com/TIVerse/GopherData/features/encoders"
    "github.com/TIVerse/GopherData/features/imputers"
)

func main() {
    // Load data
    df, _ := dataframe.ReadCSV("data.csv")
    
    // Create preprocessing pipeline
    pipeline := features.NewPipeline().
        Add("imputer", imputers.NewSimpleImputer(
            []string{"age", "income"}, "mean")).
        Add("scaler", scalers.NewStandardScaler(
            []string{"age", "income"})).
        Add("encoder", encoders.NewOneHotEncoder(
            []string{"category"}))
    
    // Fit and transform
    XTransformed, _ := pipeline.FitTransform(df)
    
    // Save pipeline for later use
    pipeline.Save("preprocessing_pipeline.json")
}
Machine Learning
package main

import (
    "fmt"
    "github.com/TIVerse/GopherData/dataframe"
    "github.com/TIVerse/GopherData/models"
    "github.com/TIVerse/GopherData/models/linear"
    "github.com/TIVerse/GopherData/models/crossval"
)

func main() {
    // Load and prepare data
    df, _ := dataframe.ReadCSV("housing.csv")
    X := df.Select("sqft", "bedrooms", "age")
    y, _ := df.Column("price")
    
    // Train/test split
    split, _ := models.TrainTestSplitFunc(X, y, 0.2, true, "", 42)
    
    // Train model
    model := linear.NewRidge(1.0, true)
    model.Fit(split.XTrain, split.YTrain)
    
    // Predict
    yPred, _ := model.Predict(split.XTest)
    
    // Evaluate
    r2 := models.R2Score(split.YTest, yPred)
    rmse := models.RMSE(split.YTest, yPred)
    
    fmt.Printf("RΒ²: %.4f\n", r2)
    fmt.Printf("RMSE: %.2f\n", rmse)
    fmt.Printf("Coefficients: %v\n", model.Coef())
    
    // Cross-validation
    kf := crossval.NewKFold(5, true, 42)
    scores, _ := crossval.CrossValScore(model, X, y, kf, models.R2Score)
    
    fmt.Printf("CV Scores: %v\n", scores)
}
Statistical Analysis
package main

import (
    "fmt"
    "github.com/TIVerse/GopherData/stats"
    "github.com/TIVerse/GopherData/stats/hypothesis"
    "github.com/TIVerse/GopherData/stats/distributions"
)

func main() {
    data := []float64{23, 25, 28, 29, 30, 32, 35, 37, 38, 40}
    
    // Descriptive statistics
    summary := stats.Describe(data)
    fmt.Printf("Mean: %.2f, Median: %.2f, Std: %.2f\n", 
        summary.Mean, summary.Median, summary.Std)
    
    // Hypothesis testing
    tResult := hypothesis.TTest(data, 30)
    fmt.Printf("t-statistic: %.3f, p-value: %.4f\n", 
        tResult.Statistic, tResult.PValue)
    
    // Probability distributions
    normal := distributions.NewNormal(30, 5)
    prob := normal.CDF(35)
    fmt.Printf("P(X <= 35): %.4f\n", prob)
    
    // Generate random samples
    samples := normal.Sample(1000)
    fmt.Printf("Generated %d samples\n", len(samples))
}

🧩 Core Components

Package Structure
github.com/TIVerse/GopherData/
β”œβ”€β”€ core/                  # Core types and interfaces
β”œβ”€β”€ series/                # Series implementation
β”œβ”€β”€ dataframe/             # DataFrame implementation
β”œβ”€β”€ io/                    # I/O operations
β”‚   β”œβ”€β”€ csv/               # CSV reader/writer
β”‚   └── json/              # JSON reader/writer
β”œβ”€β”€ features/              # Feature engineering
β”‚   β”œβ”€β”€ scalers/           # Data scaling
β”‚   β”œβ”€β”€ encoders/          # Categorical encoding
β”‚   β”œβ”€β”€ imputers/          # Missing value imputation
β”‚   β”œβ”€β”€ selectors/         # Feature selection
β”‚   └── creators/          # Feature creation
β”œβ”€β”€ models/                # Machine learning models
β”‚   β”œβ”€β”€ linear/            # Linear models
β”‚   β”œβ”€β”€ tree/              # Decision trees
β”‚   β”œβ”€β”€ cluster/           # Clustering algorithms
β”‚   β”œβ”€β”€ decomposition/     # Dimensionality reduction
β”‚   └── crossval/          # Cross-validation
β”œβ”€β”€ stats/                 # Statistical functions
β”‚   β”œβ”€β”€ hypothesis/        # Hypothesis testing
β”‚   └── distributions/     # Probability distributions
β”œβ”€β”€ internal/              # Internal utilities
β”‚   β”œβ”€β”€ bitset/            # Null mask implementation
β”‚   β”œβ”€β”€ parallel/          # Concurrency utilities
β”‚   └── memory/            # Memory management
β”œβ”€β”€ cmd/gopherdata/        # CLI tool
└── examples/              # Example programs
CLI Tool

Install the command-line tool:

go install github.com/TIVerse/GopherData/cmd/gopherdata@latest

Usage:

# Show file information
gopherdata info data.csv

# Display first N rows
gopherdata head data.csv -n 20

# Display last N rows
gopherdata tail data.csv -n 10

# Statistical summary
gopherdata describe data.csv

# Convert between formats
gopherdata convert input.csv output.json

# Filter rows
gopherdata filter data.csv output.csv --column age --value "30"

# Select specific columns
gopherdata select data.csv output.csv --columns "name,age,salary"

πŸ“š Documentation

API Documentation
Guides

πŸ’‘ Examples

The examples/ directory contains complete working examples:

  1. basic_example.go - DataFrame basics, CSV I/O
  2. complete_ml_pipeline.go - End-to-end ML workflow
  3. phase2_example.go - GroupBy, joins, window functions
  4. phase3_example.go - Feature engineering pipeline

Run an example:

cd examples
go run complete_ml_pipeline.go

⚑ Performance

GopherData is designed for performance:

Benchmarks vs Pandas
Operation GopherData Pandas Speedup
CSV Read (1GB) 2.1s 5.8s 2.8x
Filter (10M rows) 150ms 420ms 2.8x
GroupBy-Agg (5M rows) 380ms 1.2s 3.2x
Join (2x 1M rows) 320ms 850ms 2.7x
StandardScaler (10M Γ— 50) 1.1s 2.8s 2.5x

Average: 2.8x faster than pandas

Memory Efficiency
  • BitSet null masks: 8x less memory than pointer-based approaches
  • Copy-on-write: Share data until mutation is needed
  • Zero-copy views: Column selection creates views, not copies
  • Memory pooling: Reuse allocations in hot paths
Optimization Features
  • Parallel operations: Automatic parallelization using all CPU cores
  • Efficient algorithms: Hash-based joins, optimized aggregations
  • SIMD-ready: Architecture supports future SIMD optimizations

πŸ—οΈ Architecture

Design Patterns

Copy-on-Write (COW)

df1 := dataframe.New(data)
df2 := df1.Select("col1", "col2")  // Shares data with df1
df3 := df2.Filter(predicate)       // Creates new copy

Builder Pattern

pipeline := features.NewPipeline().
    Add("scaler", scaler).
    Add("encoder", encoder).
    Add("imputer", imputer)

Strategy Pattern

// Different imputation strategies
simpleImputer := imputers.NewSimpleImputer(cols, "mean")
knnImputer := imputers.NewKNNImputer(cols, 5)
Type Safety

GopherData leverages Go generics for type safety:

// Generic Series for any type
series := series.New("data", []int{1, 2, 3}, core.DtypeInt64)

// Compile-time type checking
value, ok := series.Get(0)  // value is any, but dtype is known
Null Handling

Efficient BitSet-based null masks:

// Only 1 bit per value for null tracking
series := series.New("data", []float64{1.0, 2.0, 3.0}, core.DtypeFloat64)
series.SetNull(1, true)  // Mark index 1 as null
isNull := series.IsNull(1)  // Check if null

πŸ§ͺ Testing

Run Tests
# Run all tests
go test ./...

# Run with coverage
go test -cover ./...

# Run specific package
go test ./dataframe

# Run with race detector
go test -race ./...

# Generate coverage report
go test -coverprofile=coverage.out ./...
go tool cover -html=coverage.out
Test Coverage
  • Core packages: >80% coverage
  • All packages include comprehensive unit tests
  • Integration tests for end-to-end workflows
Benchmarks
# Run all benchmarks
go test -bench=. -benchmem ./...

# Run specific benchmark
go test -bench=BenchmarkGroupBy -benchmem ./dataframe

# Save benchmark results
go test -bench=. -benchmem ./... > benchmark.txt

🀝 Contributing

We welcome contributions! Please see CONTRIBUTING.md for guidelines.

Areas for Contribution
  • ML Algorithms: Random Forest, Gradient Boosting, SVM, Neural Networks
  • I/O Formats: Parquet, Excel, HDF5, Avro
  • Statistics: More hypothesis tests, Bayesian methods
  • Performance: SIMD optimizations, better parallelization
  • Documentation: Tutorials, examples, use cases
  • Testing: More test cases, edge cases
Development Workflow
# Clone repository
git clone https://github.com/TIVerse/GopherData.git
cd GopherData

# Install dependencies
go mod download

# Make changes and test
go test ./...

# Run linter
golangci-lint run

# Submit PR
git add .
git commit -m "feat: add new feature"
git push origin feature-branch

πŸ“œ License

MIT License - see LICENSE file for details.

Copyright (c) 2025 TIVerse


πŸ‘₯ Authors & Maintainers


πŸ™ Acknowledgments

GopherData is inspired by excellent projects in the data science ecosystem:

  • pandas - Python data analysis library (API design)
  • scikit-learn - Python ML library (API compatibility)
  • polars - Fast DataFrame library in Rust (performance goals)
  • Apache Arrow - Columnar memory format (memory layout concepts)
  • gonum - Numerical computing in Go (matrix operations)

πŸ“ž Community & Support


🌟 Star History

If you find GopherData useful, please consider giving it a ⭐ on GitHub!


πŸ“ˆ Project Stats

  • Version: 1.0.0
  • Go Files: 100+
  • Lines of Code: ~19,755
  • Packages: 10
  • Algorithms: 16
  • Transformers: 22
  • Tests: 45 (100% passing)
  • License: MIT
  • Status: v1.0.0 Released

Built with ❀️ by the GopherData Team

Bringing powerful data science capabilities to the Go ecosystem.

Documentation ΒΆ

Overview ΒΆ

Package gopherdata provides a comprehensive data science library for Go.

GopherData brings pandas-like DataFrame operations and scikit-learn compatible machine learning to the Go ecosystem, with a focus on type safety, performance, and memory efficiency.

Core Features ΒΆ

- DataFrames & Series: Pandas-like data structures with type safety - Feature Engineering: 22 transformers (scalers, encoders, imputers, selectors, creators) - Machine Learning: 16 algorithms including linear models, trees, clustering, and dimensionality reduction - Statistics: Descriptive stats, correlation analysis, hypothesis testing, probability distributions - I/O Operations: CSV and JSON support with automatic type inference - High Performance: Optimized operations with 2-5x speedup over pandas in many cases

Quick Start ΒΆ

Creating and manipulating DataFrames:

import (
    "github.com/TIVerse/GopherData/dataframe"
    "github.com/TIVerse/GopherData/io/csv"
)

// Create a DataFrame
df, _ := dataframe.New(map[string]any{
    "name":   []string{"Alice", "Bob", "Charlie"},
    "age":    []int64{25, 30, 35},
    "salary": []float64{50000, 65000, 75000},
})

// Select columns
subset := df.Select("name", "age")

// Filter rows
filtered := df.Filter(func(row *dataframe.Row) bool {
    age, _ := row.Get("age")
    return age.(int64) > 25
})

// GroupBy and aggregate
grouped := df.GroupBy("department").Agg(map[string]string{
    "salary": "mean",
    "age":    "max",
})

// Write to CSV
csv.ToCSV(grouped, "output.csv")

Machine Learning ΒΆ

Training a regression model:

import (
    "github.com/TIVerse/GopherData/models"
    "github.com/TIVerse/GopherData/models/linear"
)

// Load data
df, _ := csv.ReadCSV("data.csv")
X := df.Select("feature1", "feature2", "feature3")
y, _ := df.Column("target")

// Train/test split
split, _ := models.TrainTestSplitFunc(X, y, 0.2, true, "", 42)

// Train model
model := linear.NewRidge(1.0, true)
model.Fit(split.XTrain, split.YTrain)

// Predict
yPred, _ := model.Predict(split.XTest)

// Evaluate
r2 := models.R2Score(split.YTest, yPred)

Feature Engineering ΒΆ

Building a preprocessing pipeline:

import (
    "github.com/TIVerse/GopherData/features"
    "github.com/TIVerse/GopherData/features/scalers"
    "github.com/TIVerse/GopherData/features/encoders"
    "github.com/TIVerse/GopherData/features/imputers"
)

// Create preprocessing pipeline
pipeline := features.NewPipeline().
    Add("imputer", imputers.NewSimpleImputer([]string{"age", "income"}, "mean")).
    Add("scaler", scalers.NewStandardScaler([]string{"age", "income"})).
    Add("encoder", encoders.NewOneHotEncoder([]string{"category"}))

// Fit and transform
XTransformed, _ := pipeline.FitTransform(df)

// Save pipeline for later use
pipeline.Save("pipeline.json")

Statistics ΒΆ

Statistical analysis and hypothesis testing:

import (
    "github.com/TIVerse/GopherData/stats"
    "github.com/TIVerse/GopherData/stats/hypothesis"
)

data := []float64{23, 25, 28, 29, 30, 32, 35, 37, 38, 40}

// Descriptive statistics
summary := stats.Describe(data)

// Hypothesis testing
tResult := hypothesis.TTest(data, 30)

// Correlation analysis
x := []float64{1, 2, 3, 4, 5}
y := []float64{2, 4, 5, 4, 5}
corr := stats.Pearson(x, y)

Package Organization ΒΆ

The library is organized into the following packages:

- core: Core types and interfaces - series: Series (1D labeled arrays) implementation - dataframe: DataFrame (2D labeled tables) implementation - io/csv: CSV reading and writing - io/json: JSON reading and writing - features: Feature engineering transformers and pipelines - features/scalers: Data scaling transformers - features/encoders: Categorical encoding transformers - features/imputers: Missing value imputation - features/selectors: Feature selection methods - features/creators: Feature creation methods - models: Machine learning models and utilities - models/linear: Linear models (LinearRegression, Ridge, Lasso, LogisticRegression) - models/tree: Tree-based models (DecisionTree) - models/cluster: Clustering algorithms (KMeans) - models/decomposition: Dimensionality reduction (PCA) - models/crossval: Cross-validation utilities - stats: Statistical functions - stats/hypothesis: Hypothesis testing - stats/distributions: Probability distributions

Design Principles ΒΆ

- Type Safety: Leverages Go generics for compile-time type checking - Memory Efficiency: BitSet-based null handling, copy-on-write semantics - Performance: Parallel operations, efficient algorithms, zero-copy views - sklearn Compatibility: Familiar API for data scientists migrating from Python - Pure Go: No C dependencies for easy deployment

For more information, visit: https://github.com/TIVerse/GopherData

Index ΒΆ

Constants ΒΆ

View Source
const Version = "1.0.0"

Version is the current version of GopherData

Variables ΒΆ

This section is empty.

Functions ΒΆ

func GetVersion ΒΆ

func GetVersion() string

GetVersion returns the current version

Types ΒΆ

type VersionInfo ΒΆ

type VersionInfo struct {
	Version    string
	GoVersion  string
	CommitHash string
	BuildDate  string
}

VersionInfo contains detailed version information

func GetVersionInfo ΒΆ

func GetVersionInfo() VersionInfo

GetVersionInfo returns detailed version information

Directories ΒΆ

Path Synopsis
cmd
gopherdata command
GopherData CLI - Command-line tool for data inspection and manipulation
GopherData CLI - Command-line tool for data inspection and manipulation
Package core provides foundational types, interfaces, and patterns used throughout GopherData.
Package core provides foundational types, interfaces, and patterns used throughout GopherData.
Package dataframe provides a two-dimensional labeled data structure with operations.
Package dataframe provides a two-dimensional labeled data structure with operations.
Package features provides sklearn-style feature engineering transformers and pipelines.
Package features provides sklearn-style feature engineering transformers and pipelines.
creators
Package creators provides feature creation transformers.
Package creators provides feature creation transformers.
encoders
Package encoders provides categorical encoding transformers.
Package encoders provides categorical encoding transformers.
imputers
Package imputers provides missing value imputation transformers.
Package imputers provides missing value imputation transformers.
scalers
Package scalers provides data normalization and standardization transformers.
Package scalers provides data normalization and standardization transformers.
selectors
Package selectors provides feature selection transformers.
Package selectors provides feature selection transformers.
internal
bitset
Package bitset provides a bit-packed set implementation for efficient null masks.
Package bitset provides a bit-packed set implementation for efficient null masks.
memory
Package memory provides memory management utilities including pooling.
Package memory provides memory management utilities including pooling.
parallel
Package parallel provides concurrency utilities for parallel data processing.
Package parallel provides concurrency utilities for parallel data processing.
io
csv
Package csv provides CSV reading and writing functionality for DataFrames.
Package csv provides CSV reading and writing functionality for DataFrames.
json
Package json provides JSON reading and writing functionality for DataFrames.
Package json provides JSON reading and writing functionality for DataFrames.
Package models provides machine learning algorithms and utilities.
Package models provides machine learning algorithms and utilities.
cluster
Package cluster provides clustering algorithms.
Package cluster provides clustering algorithms.
crossval
Package crossval provides cross-validation utilities for model evaluation.
Package crossval provides cross-validation utilities for model evaluation.
decomposition
Package decomposition provides dimensionality reduction algorithms.
Package decomposition provides dimensionality reduction algorithms.
linear
Package linear provides linear regression models.
Package linear provides linear regression models.
tree
Package tree provides decision tree algorithms.
Package tree provides decision tree algorithms.
Package series provides a generic one-dimensional labeled array with null support.
Package series provides a generic one-dimensional labeled array with null support.
Package stats provides statistical functions and algorithms.
Package stats provides statistical functions and algorithms.
distributions
Package distributions provides probability distributions.
Package distributions provides probability distributions.
hypothesis
Package hypothesis provides statistical hypothesis tests.
Package hypothesis provides statistical hypothesis tests.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL