{"id":28602057,"url":"https://github.com/rajnish93/jpandas","last_synced_at":"2025-06-11T16:02:45.657Z","repository":{"id":177390356,"uuid":"659896003","full_name":"rajnish93/jpandas","owner":"rajnish93","description":"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.","archived":false,"fork":false,"pushed_at":"2024-11-23T17:55:35.000Z","size":227,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-05-29T10:15:09.467Z","etag":null,"topics":["data-analysis","data-analytics","data-manipulation","data-science","dataframe","javascript","pandas","stream-processing","table","typescript"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rajnish93.png","metadata":{"files":{"readme":"README.md","changelog":"changelog.md","contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":"rajnish93"}},"created_at":"2023-06-28T19:56:53.000Z","updated_at":"2024-11-23T17:55:39.000Z","dependencies_parsed_at":null,"dependency_job_id":"7027e106-f6da-41f8-8a7e-80f0fdf41298","html_url":"https://github.com/rajnish93/jpandas","commit_stats":{"total_commits":14,"total_committers":1,"mean_commits":14.0,"dds":0.0,"last_synced_commit":"4974da0785186f058e43661009336ff5cc25576a"},"previous_names":["rajnish93/js-df"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rajnish93%2Fjpandas","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rajnish93%2Fjpandas/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rajnish93%2Fjpandas/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rajnish93%2Fjpandas/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rajnish93","download_url":"https://codeload.github.com/rajnish93/jpandas/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rajnish93%2Fjpandas/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":258851912,"owners_count":22768114,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["data-analysis","data-analytics","data-manipulation","data-science","dataframe","javascript","pandas","stream-processing","table","typescript"],"created_at":"2025-06-11T16:01:01.982Z","updated_at":"2025-06-11T16:02:45.652Z","avatar_url":"https://github.com/rajnish93.png","language":"TypeScript","funding_links":["https://github.com/sponsors/rajnish93"],"categories":[],"sub_categories":[],"readme":"\u003ch4 align=\"center\"\u003e\n\n📟 A lightweight JavaScript package for working with tabular data, inspired by pandas in Python..\n\n[![npm version](https://img.shields.io/npm/v/jpandas.svg?style=flat-square)](https://www.npmjs.com/package/jpandas)\n[![DOWNLOADS](https://img.shields.io/npm/dt/jpandas.svg?label=DOWNLOADS\u0026style=flat)](https://www.npmjs.com/package/jpandas)\n\n\u003c/h4\u003e\n\n# jpandas\n\n- 📦 Easy creation of tabular data structures in JavaScript.\n- 📦 Provides a DataFrame class inspired by pandas in Python.\n- 👨‍🏫 Developed by **Rajnish**.\n\n## Table of Contents\n\n- [Installation](#installation)\n- [Usage](#usage)\n- [Creating DataFrames](#creating-dataframes)\n  - [From an Array](#from-an-array)\n  - [From an Object](#from-an-object)\n  - [From CSV String](#from-csv-string)\n  - [From JSON String](#from-json-string)\n- [DataFrame Operations](#dataframe-operations)\n  - [Group By](#group-by)\n  - [Rename Columns](#rename-columns)\n  - [Transform DataFrame](#transform-dataframe)\n  - [Calculate Mean](#calculate-mean)\n- [Contributing](#contributing)\n- [License](#license)\n- [Contact](#contact)\n\n## Installation\n\n```sh\nnpm install jpandas\n\nor\n\nyarn add jpandas\n```\n\n## Usage\n\nHere’s a quick example of how to use the DataFrame Library in your project:\n\n```javascript\nimport DataFrame from 'jpandas';\n\nconst data = [\n    { Name: 'Ankit', Age: 23, University: 'BHU' },\n    { Name: 'Aishwarya', Age: 21, University: 'JNU' }\n];\n\nconst df = new DataFrame(data);\nconsole.log(df.getRowCount()); // Outputs: 2\n```\n\n## Creating DataFrames\n\n### From an Array\n\nYou can create a DataFrame from a 2D array:\n\n```javascript\nconst data = [\n    [1, 4, 7],\n    [2, 5, 8],\n    [3, 6, 9]\n];\nconst df = new DataFrame(data);\nconsole.log(df.getRowCount()); // Outputs: 3\n```\n\n### From an Object\n\nYou can also create a DataFrame from an object where keys are column names:\n\n```javascript\nconst data = {\n    Name: ['Ankit', 'Aishwarya', 'Shaurya', 'Shivangi'],\n    Age: [23, 21, 22, 21],\n    University: ['BHU', 'JNU', 'DU', 'BHU']\n};\nconst df = new DataFrame(data);\nconsole.log(df.getValue(0, 'Name')); // Outputs: 'Ankit'\n```\n\n### From CSV String\n\nTo create a DataFrame from a CSV string:\n\n```javascript\nconst csvData = `Name,Age,University\\nAnkit,23,BHU\\nAishwarya,21,JNU`;\nconst df = new DataFrame(csvData);\nconsole.log(df.getValue(1, 'Age')); // Outputs: 21\n```\n\n### From JSON String\n\nYou can also create a DataFrame from a JSON string:\n\n```javascript\nconst jsonString = `[{\"Name\": \"Ankit\", \"Age\": 23, \"University\": \"BHU\"}, {\"Name\": \"Aishwarya\", \"Age\": 21, \"University\": \"JNU\"}]`;\nconst df = new DataFrame(JSON.parse(jsonString));\nconsole.log(df.getValue(1, 'University')); // Outputs: 'JNU'\n```\n\n## DataFrame Operations\n\n### Group By\n\nGroup your DataFrame by a specific column:\n\n```javascript\nconst grouped = df.groupBy('University');\nconsole.log(Object.keys(grouped).length); // Outputs: number of unique universities\n```\n\n### Rename Columns\n\nYou can rename columns easily:\n\n```javascript\nconst renamedDf = df.rename({ a: 'x', b: 'y' });\nconsole.log(renamedDf.getColumns()); // Outputs: ['x', 'y', 'c']\n```\n\n### Transform DataFrame\n\nTransform your DataFrame using a custom function:\n\n```javascript\nconst transformedDf = df.transform(row =\u003e ({\n    FullName: row.Name,\n    Age: row.Age + 1\n}));\nconsole.log(transformedDf.getValue(0, 'FullName')); // Outputs: 'Ankit'\n```\n\n### Calculate Mean\n\nCalculate the mean of a numeric column:\n\n```javascript\nconst meanAge = df.mean('Age');\nconsole.log(meanAge); // Outputs: average age\n```\n\n## Contributing\n\n## License\n\n- BSD-3-Clause © [Rajnish Singh](https://github.com/rajnish93)\n\n## Contact\n\n\u003cdiv align=\"left\"\u003e\n    \u003cp\u003e\u003ca href=\"https://github.com/rajnish93\"\u003e\u003cimg alt=\"GitHub @rajnish93\" align=\"center\" src=\"https://img.shields.io/badge/GITHUB-gray.svg?colorB=6cc644\u0026style=flat\" /\u003e\u003c/a\u003e\u0026nbsp;\u003csmall\u003e\u003cstrong\u003e(follow)\u003c/strong\u003e To stay up to date on free \u0026 open-source software\u003c/small\u003e\u003c/p\u003e\n    \u003cp\u003e\u003ca href=\"https://www.linkedin.com/in/krajnishsingh/\"\u003e\u003cimg alt=\"LinkedIn @krajnishsingh\" align=\"center\" src=\"https://img.shields.io/badge/LINKEDIN-gray.svg?colorB=0077b5\u0026style=flat\" /\u003e\u003c/a\u003e\u0026nbsp;\u003csmall\u003e\u003cstrong\u003e(connect)\u003c/strong\u003e On the LinkedIn profile\u003c/small\u003e\u003c/p\u003e\n\u003c/div\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frajnish93%2Fjpandas","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frajnish93%2Fjpandas","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frajnish93%2Fjpandas/lists"}