minimal-pandas-api-for-polars VS dataiter

Compare minimal-pandas-api-for-polars vs dataiter and see what are their differences.

InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
minimal-pandas-api-for-polars dataiter
1 2
7 23
- -
3.2 7.8
over 2 years ago 21 days ago
Python Python
- MIT License
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
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-polars

Posts with mentions or reviews of minimal-pandas-api-for-polars. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2021-12-16.
  • Polars: Lightning-fast DataFrame library for Rust and Python
    13 projects | news.ycombinator.com | 16 Dec 2021
    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.

dataiter

Posts with mentions or reviews of dataiter. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-05-01.
  • Modern Pandas (Part 2): Method Chaining
    5 projects | news.ycombinator.com | 1 May 2022
    Here's another alternative. I wrote Dataiter specifically as I too was frustrated with Pandas. In my experience if you design a new API from scratch (and don't try to reimplement the Pandas API as many projects have done!) and have some vision and consistent principles, it's well possible to get a good intuitive API as a result. Two relevant issues remain: You're limited by NumPy's datatypes and their problems, such as memory-hogging strings and a lack of a proper missing value (NA), and secondly, limited by the Python language, so compared to e.g. dplyr's non-standard evaluation, you'll need to use lambda functions, which are unfortunately clumsy and verbose.

    https://github.com/otsaloma/dataiter

    Here's a comparison of dplyr vs. Dataiter vs. Pandas, which should give quick overview of the similarieties and differences.

    https://dataiter.readthedocs.io/en/latest/_static/comparison...

  • Polars: Lightning-fast DataFrame library for Rust and Python
    13 projects | news.ycombinator.com | 16 Dec 2021
    Agreed, dplyr is great.

    I built my own data frame implementation on top of NumPy specifically trying to accomplish a better API, similar to dplyr. It's not exactly the same naming or operations, but should feel familiar and much simpler and consistent than Pandas. And no indexes or axes.

    Having done this, a couple notes on what will unavoidably differ in Python

    * It probably makes more sense in Python to use classes, so method chaining instead of function piping. I wish one could syntactically skip enclosing parantheses in Python though, method chains look a bit verbose.

    * Python doesn't have R's "non-standard evaluation", so you end up needing lambda functions for arguments in method chains and group-wise aggregation etc. I'd be interested if someone has a better solution.

    * NumPy (and Pandas) is still missing a proper missing value (NA). It's a big pain to try to work around that.

    https://github.com/otsaloma/dataiter

What are some alternatives?

When comparing minimal-pandas-api-for-polars and dataiter you can also consider the following projects:

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 🚀

dtplyr - Data table backend for dplyr

dataframe-api - RFC document, tooling and other content related to the dataframe API standard

explorer - Series (one-dimensional) and dataframes (two-dimensional) for fast and elegant data exploration in Elixir

polars - Dataframes powered by a multithreaded, vectorized query engine, written in Rust

chain-ops-python - Simple chaining of operations (a.k.a. pipe operator) in python

Datamancer - A dataframe library with a dplyr like API

data_algebra - Codd method-chained SQL generator and Pandas data processing in Python.

db-benchmark - reproducible benchmark of database-like ops

mito - The mitosheet package, trymito.io, and other public Mito code.