https://github.com/rajnish93/jpandas
A lightweight JavaScript library for working with tabular data, inspired by Pandas in Python. Built with TypeScript, it provides an intuitive API for data manipulation and analysis.
https://github.com/rajnish93/jpandas
data-analysis data-analytics data-manipulation data-science dataframe javascript pandas stream-processing table typescript
Last synced: 8 months ago
JSON representation
A lightweight JavaScript library for working with tabular data, inspired by Pandas in Python. Built with TypeScript, it provides an intuitive API for data manipulation and analysis.
- Host: GitHub
- URL: https://github.com/rajnish93/jpandas
- Owner: rajnish93
- License: bsd-3-clause
- Created: 2023-06-28T19:56:53.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-11-23T17:55:35.000Z (about 1 year ago)
- Last Synced: 2025-05-29T10:15:09.467Z (8 months ago)
- Topics: data-analysis, data-analytics, data-manipulation, data-science, dataframe, javascript, pandas, stream-processing, table, typescript
- Language: TypeScript
- Homepage:
- Size: 222 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: changelog.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
π A lightweight JavaScript package for working with tabular data, inspired by pandas in Python..
[](https://www.npmjs.com/package/jpandas)
[](https://www.npmjs.com/package/jpandas)
# jpandas
- π¦ Easy creation of tabular data structures in JavaScript.
- π¦ Provides a DataFrame class inspired by pandas in Python.
- π¨βπ« Developed by **Rajnish**.
## Table of Contents
- [Installation](#installation)
- [Usage](#usage)
- [Creating DataFrames](#creating-dataframes)
- [From an Array](#from-an-array)
- [From an Object](#from-an-object)
- [From CSV String](#from-csv-string)
- [From JSON String](#from-json-string)
- [DataFrame Operations](#dataframe-operations)
- [Group By](#group-by)
- [Rename Columns](#rename-columns)
- [Transform DataFrame](#transform-dataframe)
- [Calculate Mean](#calculate-mean)
- [Contributing](#contributing)
- [License](#license)
- [Contact](#contact)
## Installation
```sh
npm install jpandas
or
yarn add jpandas
```
## Usage
Hereβs a quick example of how to use the DataFrame Library in your project:
```javascript
import DataFrame from 'jpandas';
const data = [
{ Name: 'Ankit', Age: 23, University: 'BHU' },
{ Name: 'Aishwarya', Age: 21, University: 'JNU' }
];
const df = new DataFrame(data);
console.log(df.getRowCount()); // Outputs: 2
```
## Creating DataFrames
### From an Array
You can create a DataFrame from a 2D array:
```javascript
const data = [
[1, 4, 7],
[2, 5, 8],
[3, 6, 9]
];
const df = new DataFrame(data);
console.log(df.getRowCount()); // Outputs: 3
```
### From an Object
You can also create a DataFrame from an object where keys are column names:
```javascript
const data = {
Name: ['Ankit', 'Aishwarya', 'Shaurya', 'Shivangi'],
Age: [23, 21, 22, 21],
University: ['BHU', 'JNU', 'DU', 'BHU']
};
const df = new DataFrame(data);
console.log(df.getValue(0, 'Name')); // Outputs: 'Ankit'
```
### From CSV String
To create a DataFrame from a CSV string:
```javascript
const csvData = `Name,Age,University\nAnkit,23,BHU\nAishwarya,21,JNU`;
const df = new DataFrame(csvData);
console.log(df.getValue(1, 'Age')); // Outputs: 21
```
### From JSON String
You can also create a DataFrame from a JSON string:
```javascript
const jsonString = `[{"Name": "Ankit", "Age": 23, "University": "BHU"}, {"Name": "Aishwarya", "Age": 21, "University": "JNU"}]`;
const df = new DataFrame(JSON.parse(jsonString));
console.log(df.getValue(1, 'University')); // Outputs: 'JNU'
```
## DataFrame Operations
### Group By
Group your DataFrame by a specific column:
```javascript
const grouped = df.groupBy('University');
console.log(Object.keys(grouped).length); // Outputs: number of unique universities
```
### Rename Columns
You can rename columns easily:
```javascript
const renamedDf = df.rename({ a: 'x', b: 'y' });
console.log(renamedDf.getColumns()); // Outputs: ['x', 'y', 'c']
```
### Transform DataFrame
Transform your DataFrame using a custom function:
```javascript
const transformedDf = df.transform(row => ({
FullName: row.Name,
Age: row.Age + 1
}));
console.log(transformedDf.getValue(0, 'FullName')); // Outputs: 'Ankit'
```
### Calculate Mean
Calculate the mean of a numeric column:
```javascript
const meanAge = df.mean('Age');
console.log(meanAge); // Outputs: average age
```
## Contributing
## License
- BSD-3-Clause Β© [Rajnish Singh](https://github.com/rajnish93)
## Contact