# javascriptdata/danfojs

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/javascriptdata-danfojs).**

5,050 stars · 223 forks · TypeScript · MIT

## Links

- GitHub: https://github.com/javascriptdata/danfojs
- Homepage: https://danfo.jsdata.org/
- awesome-repositories: https://awesome-repositories.com/repository/javascriptdata-danfojs.md

## Topics

`danfojs` `data-analysis` `data-analytics` `data-manipulation` `data-science` `dataframe` `javascript` `pandas` `plotting-charts` `stream-data` `stream-processing` `table` `tensorflow` `tensors`

## Description

Danfo.js is a data analysis and preprocessing library for JavaScript that provides high-performance labeled data structures. It implements data frames and series to enable complex data analysis, statistical computing, and the manipulation of structured tabular data.

The project serves as a machine learning preprocessing library, offering utilities for categorical label encoding, one-hot encoding, and numeric feature scaling and standardization. It specifically facilitates the conversion of labeled data structures into tensors for model training and evaluation.

The library covers a broad set of capabilities including descriptive statistics, relational operations like merging and joining, and time-series processing. It includes tools for data cleaning, filtering, and grouping, as well as a visualization interface for generating interactive charts and plots directly from data frames.

The system supports importing and exporting data via CSV, JSON, and Excel formats.

## Tags

### Data & Databases

- [JavaScript Data Transformations](https://awesome-repositories.com/f/data-databases/javascript-data-transformations.md) — Implements a comprehensive framework for processing and transforming structured tabular data using dataframes and series in JavaScript.
- [Tabular Data Structures](https://awesome-repositories.com/f/data-databases/tabular-data-structures.md) — Implements high-performance labeled data structures for managing relational data with column mutation and label alignment. ([source](https://danfo.jsdata.org/readme.md))
- [Data Analysis Libraries](https://awesome-repositories.com/f/data-databases/data-analysis-libraries.md) — Serves as a high-performance library for cleaning and transforming structured datasets within JavaScript environments.
- [Data Cleaning Procedures](https://awesome-repositories.com/f/data-databases/data-cleaning-procedures.md) — Provides procedures for cleaning datasets, including the removal of duplicate values and noise filtering. ([source](https://danfo.jsdata.org/api-reference/series))
- [Storage](https://awesome-repositories.com/f/data-databases/data-collections-datasets/dataset-creation/tensor-based/storage.md) — Uses TensorFlow.js tensors as the underlying storage mechanism to enable high-performance vectorized operations.
- [Data Concatenations](https://awesome-repositories.com/f/data-databases/data-concatenations.md) — Combines multiple data frames or series into a single object along a specified axis. ([source](https://danfo.jsdata.org/api-reference/general-functions/danfo.concat))
- [Data Grouping Utilities](https://awesome-repositories.com/f/data-databases/data-grouping-utilities.md) — Provides utilities for organizing data into groups based on keys or labels for aggregated calculations. ([source](https://danfo.jsdata.org/api-reference/dataframe))
- [Data Joins](https://awesome-repositories.com/f/data-databases/data-joins.md) — Merges and joins multiple data structures together based on shared keys or indices. ([source](https://cdn.jsdelivr.net/gh/javascriptdata/danfojs@dev/README.md))
- [Tensor Transformations](https://awesome-repositories.com/f/data-databases/data-processing-pipelines/data-transformation/array-tensor-manipulation/tensor-transformations.md) — Provides utilities to transform structured data frames into tensors for compatibility with machine learning frameworks.
- [Labeled Data Structures](https://awesome-repositories.com/f/data-databases/data-structure-implementations/labeled-data-structures.md) — Implements high-performance labeled data structures for complex statistical computing and data analysis.
- [Data Subsetting and Extraction](https://awesome-repositories.com/f/data-databases/data-subsetting-and-extraction.md) — Retrieves specific columns, rows, or cross-sections using labels, integer positions, or slice notation. ([source](https://danfo.jsdata.org/getting-started))
- [Exploratory Data Analysis](https://awesome-repositories.com/f/data-databases/exploratory-data-analysis.md) — Provides tools for calculating descriptive statistics and generating charts to discover patterns in datasets.
- [Group-By Aggregations](https://awesome-repositories.com/f/data-databases/group-by-aggregations.md) — Provides core group-by operations to perform summary calculations and extract insights from relational datasets. ([source](https://danfo.jsdata.org/building-data-driven-applications-with-danfo.js-book))
- [Label-Based Data Selection](https://awesome-repositories.com/f/data-databases/label-based-data-selection.md) — Implements label-based indexing to allow data retrieval and alignment using descriptive row and column identifiers.
- [Labeled Series Data Structures](https://awesome-repositories.com/f/data-databases/labeled-series-data-structures.md) — Stores labeled data in a series format with support for custom indices and data types. ([source](https://danfo.jsdata.org/api-reference/series))
- [Missing Data Removal](https://awesome-repositories.com/f/data-databases/missing-data-removal.md) — Identifies and handles null, undefined, or NaN values to ensure data quality. ([source](https://danfo.jsdata.org/))
- [Position-Based Data Selection](https://awesome-repositories.com/f/data-databases/position-based-data-selection.md) — Retrieves specific data subsets using integer indices, arrays of positions, or slice notation. ([source](https://danfo.jsdata.org/api-reference/series))
- [Group Extractions](https://awesome-repositories.com/f/data-databases/row-groupings/group-extractions.md) — Implements the ability to retrieve a standalone data structure containing only rows associated with a specific group name. ([source](https://danfo.jsdata.org/api-reference/groupby))
- [Tabular Data Managers](https://awesome-repositories.com/f/data-databases/tabular-data-managers.md) — Supports importing, merging, and joining datasets from CSV, JSON, and Excel into unified relational structures.
- [Tabular Data Organization](https://awesome-repositories.com/f/data-databases/tabular-data-organization.md) — Enables cleaning, filtering, and aggregating of relational datasets using column-based operations.
- [Tabular Structure Creation](https://awesome-repositories.com/f/data-databases/tabular-data-organization/tabular-structure-creation.md) — Builds dataframes and series from JSON objects, arrays, tensors, and dictionaries. ([source](https://danfo.jsdata.org/getting-started))
- [Inter-Format Conversions](https://awesome-repositories.com/f/data-databases/tensor-to-array-conversions/inter-format-conversions.md) — Converts between arrays, JSON, lists, objects, and tensors to enable interoperability between formats. ([source](https://cdn.jsdelivr.net/gh/javascriptdata/danfojs@dev/README.md))
- [Data Alignments](https://awesome-repositories.com/f/data-databases/data-alignments.md) — Synchronizes datasets using automatic label-based alignment during mathematical computations. ([source](https://danfo.jsdata.org/))
- [Statistical Standardization](https://awesome-repositories.com/f/data-databases/data-governance-modeling/data-standardization/statistical-standardization.md) — Rescales numeric data to a mean of zero and a standard deviation of one. ([source](https://danfo.jsdata.org/api-reference/general-functions/danfo.standardscaler))
- [Interactive Data Visualizations](https://awesome-repositories.com/f/data-databases/data-import-and-export/interactive-data-visualizations.md) — Implements interactive line and box plots allowing users to visually explore data frames and series. ([source](https://cdn.jsdelivr.net/gh/javascriptdata/danfojs@dev/README.md))
- [Data Type Casting](https://awesome-repositories.com/f/data-databases/data-type-casting.md) — Converts column data types to ensure consistency for processing and analysis. ([source](https://danfo.jsdata.org/api-reference/dataframe))
- [Data Export](https://awesome-repositories.com/f/data-databases/data-visualization-charts/data-export.md) — Writes structured data frames or series into CSV, Excel, or JSON files for external storage. ([source](https://danfo.jsdata.org/api-reference/input-output))
- [Data Visualization Interfaces](https://awesome-repositories.com/f/data-databases/data-visualization-interfaces.md) — Provides a customizable interface for rendering and analyzing structured data via interactive plots.
- [Dataset Label Management](https://awesome-repositories.com/f/data-databases/dataset-label-management.md) — Provides tools to modify axis labels, reset indices, and remove specified rows or columns from datasets. ([source](https://danfo.jsdata.org/api-reference/dataframe))
- [Expression-Based Data Querying](https://awesome-repositories.com/f/data-databases/expression-based-data-querying.md) — Extracts subsets of data by evaluating boolean expressions against the columns of a dataset. ([source](https://danfo.jsdata.org/api-reference/dataframe))
- [Series Value Mappings](https://awesome-repositories.com/f/data-databases/key-value-stores/structured-object-mappings/object-linked-key-value-mappings/map-value-transformers/series-value-mappings.md) — Applies custom functions or mapping correspondences to transform every value within a data series. ([source](https://danfo.jsdata.org/api-reference/series))
- [Tensor Conversions](https://awesome-repositories.com/f/data-databases/machine-learning-data-preparation/tensor-conversions.md) — Transforms labeled data structures into tensors required for training and evaluating machine learning models. ([source](https://danfo.jsdata.org/building-data-driven-applications-with-danfo.js-book))
- [Grouped Cumulative Metrics](https://awesome-repositories.com/f/data-databases/metric-calculators/cumulative/grouped-cumulative-metrics.md) — Calculates running totals, products, or extrema for each group to track progress. ([source](https://danfo.jsdata.org/api-reference/groupby))
- [Split-Apply-Combine Patterns](https://awesome-repositories.com/f/data-databases/split-apply-combine-patterns.md) — Implements the split-apply-combine pattern to segment datasets, apply functions, and reassemble results.
- [Tabular Data Import](https://awesome-repositories.com/f/data-databases/tabular-data-import.md) — Reads relational data from CSV, Excel, and JSON files into structured formats for analysis. ([source](https://danfo.jsdata.org/api-reference/input-output))
- [Tabular Data Sorting](https://awesome-repositories.com/f/data-databases/tabular-data-sorting.md) — Rearranges data frame rows based on the values of specific columns in ascending or descending order. ([source](https://danfo.jsdata.org/getting-started))
- [Format-Agnostic Converters](https://awesome-repositories.com/f/data-databases/tabular-data-structures/format-agnostic-converters.md) — Converts diverse input formats such as JSON and CSV into internal typed tabular structures.
- [Time Series Analysis](https://awesome-repositories.com/f/data-databases/time-series-analysis.md) — Includes analytical methods for processing date-based indexing and managing sequential temporal data. ([source](https://danfo.jsdata.org/readme.md))
- [Unique Value Counting](https://awesome-repositories.com/f/data-databases/unique-value-counting.md) — Identifies unique elements and counts their occurrences to determine the mode of the dataset. ([source](https://danfo.jsdata.org/api-reference/series))
- [User-Defined Functions](https://awesome-repositories.com/f/data-databases/user-defined-functions.md) — Allows the application of user-defined functions across data axes to transform or analyze values. ([source](https://danfo.jsdata.org/api-reference/dataframe))
- [Boolean Masking](https://awesome-repositories.com/f/data-databases/value-comparators/boolean-masking.md) — Creates boolean masks via logical expressions to filter and index specific data subsets. ([source](https://danfo.jsdata.org/getting-started))

### Artificial Intelligence & ML

- [Tensor Conversion Utilities](https://awesome-repositories.com/f/artificial-intelligence-ml/machine-learning/machine-learning-datasets/tensor-conversion-utilities.md) — Transforms structured labeled data into tensor formats for use in machine learning workflows. ([source](https://danfo.jsdata.org/api-reference/dataframe/dataframe.tensor))
- [Feature Scale Normalization](https://awesome-repositories.com/f/artificial-intelligence-ml/feature-scale-normalization.md) — Transforms numeric features to fit within specified ranges to ensure stable model convergence. ([source](https://danfo.jsdata.org/api-reference/general-functions/danfo.minmaxscaler))
- [One-Hot](https://awesome-repositories.com/f/artificial-intelligence-ml/machine-learning/speech-processing/sequence-to-sequence-tasks/sequence-encoders/one-hot.md) — Converts categorical labels into one-hot numeric arrays for machine learning tasks. ([source](https://danfo.jsdata.org/api-reference/general-functions/danfo.onehotencoder))
- [Cumulative Aggregate Calculations](https://awesome-repositories.com/f/artificial-intelligence-ml/tensor-computation-primitives/cumulative-sum-calculators/cumulative-aggregate-calculations.md) — Computes running totals, products, and extrema along specific data axes. ([source](https://danfo.jsdata.org/api-reference/series))
- [Categorical Encodings](https://awesome-repositories.com/f/artificial-intelligence-ml/text-to-numeric-transformations/categorical-encodings.md) — Converts categorical text labels into unique integers for use in numerical machine learning models. ([source](https://danfo.jsdata.org/api-reference/general-functions/danfo.labelencoder))

### Part of an Awesome List

- [Data Preprocessing for Modeling](https://awesome-repositories.com/f/awesome-lists/ai/machine-learning-and-data-science/data-preprocessing-for-modeling.md) — Offers specialized utilities for cleaning, scaling, and encoding datasets to prepare them for machine learning model training.

### Programming Languages & Runtimes

- [Element-wise Comparisons](https://awesome-repositories.com/f/programming-languages-runtimes/programming-utilities/data-structure-type-helpers/data-type-utilities/array-element-finding/element-wise-comparisons.md) — Evaluates logical relationships between data series using element-wise comparisons and broadcasting. ([source](https://danfo.jsdata.org/api-reference/series))

### Scientific & Mathematical Computing

- [Element-wise Array Operations](https://awesome-repositories.com/f/scientific-mathematical-computing/element-wise-array-operations.md) — Executes high-performance mathematical functions across entire data series simultaneously using tensor acceleration.
- [Statistical Analysis Libraries](https://awesome-repositories.com/f/scientific-mathematical-computing/numerical-mathematical-foundations/statistics-probability/statistical-analysis-libraries/statistical-metric-calculators/statistical-analysis-libraries.md) — Calculates essential descriptive statistics including mean, median, variance, and standard deviation. ([source](https://danfo.jsdata.org/api-reference/series))
- [Descriptive Statistics Summaries](https://awesome-repositories.com/f/scientific-mathematical-computing/descriptive-statistics-summaries.md) — Generates a bundled statistical summary to provide an overview of the dataset's distribution. ([source](https://danfo.jsdata.org/getting-started))

### Graphics & Multimedia

- [Chart Generators](https://awesome-repositories.com/f/graphics-multimedia/chart-generators.md) — Provides utilities to render various graphical representations like line, bar, and scatter plots from structured data. ([source](https://danfo.jsdata.org/api-reference/plotting))

### Software Engineering & Architecture

- [Data Trend Visualizations](https://awesome-repositories.com/f/software-engineering-architecture/composable-architectures/visualization-patterns/data-trend-visualizations.md) — Generates a variety of charts to identify patterns and trends within tabular datasets. ([source](https://danfo.jsdata.org/api-reference))
