# Danfo.js Documentation

D**anfo.js** is heavily inspired by the [Pandas](https://pandas.pydata.org/pandas-docs/stable/index.html) library and provides a similar interface and API. This means users familiar with the [Pandas ](https://pandas.pydata.org/pandas-docs/stable/index.html)API can easily use D**anfo.js.**

## Main Features

* Danfo.js is fast and supports[ Tensorflow.js](https://js.tensorflow.org)'s tensors out of the box. This means you can [convert Danfo.js ](https://danfo.jsdata.org/api-reference/dataframe)DataFrames to Tensors, and vice versa.
* Easy handling of missing data (represented as `NaN, undefined, or null`) in data
* Size mutability: columns can be inserted/deleted from DataFrames
* Automatic and explicit alignment: objects can be explicitly aligned to a set of labels, or the user can simply ignore the labels and let [`Series`](https://danfo.jsdata.org/api-reference/series), [`DataFrame`](https://danfo.jsdata.org/api-reference/dataframe), etc. automatically align the data for you in computations
* Powerful, flexible, [groupby](https://danfo.jsdata.org/api-reference/groupby) functionality to perform split-apply-combine operations on data sets, for both aggregating and transforming data
* Make it easy to convert Arrays, JSONs, List or Objects, Tensors, and differently-indexed data structures into DataFrame objects
* Intelligent label-based slicing, fancy indexing, and querying of large data sets
* Intuitive [merging](https://danfo.jsdata.org/api-reference/general-functions/danfo.merge) and [joining](https://danfo.jsdata.org/api-reference/general-functions/danfo.concat) data sets
* Robust IO tools for loading data from [flat-files](https://danfo.jsdata.org/api-reference/input-output/danfo.read_csv) (CSV and delimited), Excel, and JSON data format.
* Powerful, flexible, and intiutive API for [plotting](https://app.gitbook.com/@jsdata/s/danfojs/~/drafts/-MESZnq3_VBU0EW71MxS/api-reference/plotting) DataFrames and Series interactively.
* Timeseries-specific functionality: date range generation and date and time properties.
* Robust data preprocessing functions like [OneHotEncoders](https://danfo.jsdata.org/api-reference/general-functions/danfo.onehotencoder), [LabelEncoders](https://danfo.jsdata.org/api-reference/general-functions/danfo.labelencoder), and scalers like [StandardScaler](https://danfo.jsdata.org/api-reference/general-functions/danfo.standardscaler) and [MinMaxScaler](https://danfo.jsdata.org/api-reference/general-functions/danfo.minmaxscaler) are supported on DataFrame and Series

## Getting Started

New to Danfo? Check out the getting started guides. It contains a quick introduction to D\_anfo's\_ main concepts and links to additional content.

{% content-ref url="getting-started" %}
[getting-started](https://danfo.jsdata.org/getting-started)
{% endcontent-ref %}

## **API Reference**

The reference guide contains a detailed description of the **danfo** API. The reference describes how each function works and which parameters can be used.

{% content-ref url="api-reference" %}
[api-reference](https://danfo.jsdata.org/api-reference)
{% endcontent-ref %}

## User Guides/Tutorials

{% content-ref url="examples" %}
[examples](https://danfo.jsdata.org/examples)
{% endcontent-ref %}

## Building Data Driven Applications with Danfo.js - Book

{% content-ref url="building-data-driven-applications-with-danfo.js-book" %}
[building-data-driven-applications-with-danfo.js-book](https://danfo.jsdata.org/building-data-driven-applications-with-danfo.js-book)
{% endcontent-ref %}

## Contributing Guide

Want to help improve our documentation and existing functionalities? The contributing guidelines will guide you through the process.

{% content-ref url="contributing-guide" %}
[contributing-guide](https://danfo.jsdata.org/contributing-guide)
{% endcontent-ref %}

## Release Notes

{% content-ref url="release-notes" %}
[release-notes](https://danfo.jsdata.org/release-notes)
{% endcontent-ref %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://danfo.jsdata.org/readme.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
