minimal-pandas-api-for-pola
Datamancer
minimal-pandas-api-for-pola | Datamancer | |
---|---|---|
1 | 7 | |
- | 124 | |
- | 2.4% | |
- | 8.7 | |
- | 2 months ago | |
Nim | ||
- | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
minimal-pandas-api-for-pola
-
Polars: Lightning-fast DataFrame library for Rust and Python
https://github.com/austospumanto/minimal-pandas-api-for-pola...
pip install minimal-pandas-api-for-polars
I wrote a library that wraps polars DataFrame and Series objects to allow you to use them with the same syntax as with pandas DataFrame and Series objects. The goal is not to be a replacement for polars' objects and syntax, but rather to (1) Allow you to provide (wrapped) polars objects as arguments to existing functions in your codebase that expect pandas objects and (2) Allow you to continue writing code (especially EDA in notebooks) using the pandas syntax you know and (maybe) love while you're still learning the polars syntax, but with the underlying objects being all-polars. All methods of polars' objects are still available, allowing you to interweave pandas syntax and polars syntax when working with MppFrame and MppSeries objects.
Furthermore, the goal should always be to transition away from this library over time, as the LazyFrame optimizations offered by polars can never be fully taken advantage of when using pandas-based syntax (as far as I can tell). In the meantime, the code in this library has allowed me to transition my company's pandas-centric code to polars-centric code more quickly, which has led to significant speedups and memory savings even without being able to take full advantage of polars' lazy evaluation. To be clear, these gains have been observed both when working in notebooks in development and when deployed in production API backends / data pipelines.
I'm personally just adding methods to the MppFrame and MppSeries objects whenever I try to use pandas syntax and get AttributeErrors.
Datamancer
-
Anyone attempted to make Nim serve R's role? How is it currently?
I have been using Nim for all of my recent data munging and analysis. There's https://github.com/Vindaar/ggplotnim for plots (among others) and everything else has just been normal code. There's also https://github.com/SciNim/Datamancer if you need something more like tidyverse.
- Nim Version 1.6.6 Released
-
Is Nim right for me?
Check out Datamancer for your Pandas equivalent. If I recall correctly it does have the ability to read/write csv. If that doesn't suite you, there is a Python/Nim bridge called Nimpy. I do a lot of machine learning projects and have to use OpenCV and some other things from python because it doesn't exist yet. It's a pretty damn cool library.
-
daily report for Nim language
worked on the roadmap https://github.com/nim-lang/Nim/pull/19388 (enable -d:nimPreviewFloatRoundtrip and -d:nimPreviewDotLikeOps) and found that an important_packages (datamancer) failed. So I made a PR (https://github.com/SciNim/Datamancer/pull/23). It is not a bug of nimPreviewFloatRoundtrip(It seems like a precision problem to me) so alternatively datamancer can be disabled transiently.
-
Which dataframe library to use?
There seems to be two major ones for Nim, NimData and Datamancer. Which one is better?
- Polars: Lightning-fast DataFrame library for Rust and Python
What are some alternatives?
vaex - Out-of-Core hybrid Apache Arrow/NumPy DataFrame for Python, ML, visualization and exploration of big tabular data at a billion rows per second 🚀
nimpy - Nim - Python bridge