Just like how a skilled carpenter shapes and transforms wood into useful products, Carpentry aims to help Java developers to shape and transform their data into meaningful insights. Carpentry is a Java DataFrame library that supports tasks like loading, exporting, cleaning, transforming, filtering, visualizing, and summarizing data.
- Easily import data from local or remote CSV files.
- Export data to CSV files
- Add and remove columns or rows.
- Easily organize, remove, categorize, filter, search, complete, adjust, and reshape data
- Easily visualize your data with Carpentry's custom SVG chart library.
- Chart Types: BAR, LINE, PIE, DOUGHNUT, and MAP VISUALIZATIONS
- Ensure that you are using Java 21 or greater.
You can use the dependency by copying this into your pom.xml file
<dependency>
<groupId>io.github.dug22</groupId>
<artifactId>carpentry</artifactId>
<version>LATEST</version>
</dependency>
- API Documentation: https://www.javadoc.io/doc/io.github.dug22/carpentry/latest/index.html
- UserGuide: https://dug22.github.io/carpentry
- Test Examples: https://github.com/dug22/carpentry/tree/master/src/test
Datasets from this GitHub Repository were used for testing purposes.
- Roller Coaster Accidents - By RidesDatabase
- Data Analysis Research - By Steven Lasch
- Meteorite Landings - By NASA
- Palmer Penguins - By Allison Horst & Alison Presmanes Hill
- The Titanic Dataset
- Abalone - By Sam Waugh from the Department of Computer Science at the University of Tasmania.
- Iris - By British statistician and biologist Ronald Fisher
- You might incorporate Caprentry with many machine learning libraries. Carpentry is integrated with Tenoner for simple dataset loading and defining features and labels necessary for model training.
carpentry is released under the Apache 2.0 License
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
If you'd like to contribute to this repository, feel free to open a pull request with your suggestions, bug fixes, or enhancements. Contributions are always welcome!