ibis
ibis copied to clipboard
the portable Python dataframe library
Many logically distinct operations like filter, project, and aggregate are fused together into a single operation. While this was useful initially for generating clean SQL, it has a number of...
Backends like the Pandas backend treat `np.nan`s as nulls when computing aggregations. The PySpark backend was not treating `np.nan`s as nulls, leading to results for aggregations that are inconsistent with...
### `case()` + ungrouped aggregation This works OK. ``` In [1]: import pandas as pd In [2]: import ibis In [3]: backend = ibis.backends.pandas.Backend() In [4]: conn = backend.connect({}) In...
If I create an ibis TableExpr that I mutate with an `IntegerColumn` `(dype=int8)`, the dtype of the resulting materialized pandas DataFrame is different between the Pandas backend and the Pyspark...
Right now the following lines of code do not work: ```python import ibis ibis.range_window(following=(ibis.interval(seconds=1), None)) ibis.window(following=(ibis.literal(1), None)) ``` with this traceback: ``` Traceback (most recent call last): File "/home/cloud/src/ibis/timeseries.py", line...
mkdocs renders all jupyter notebooks during `mkdocs serve`, slowing documentation update/checking to a snail's pace. It's tedious. Is there some way to speed it up, have them render concurrently, or...
Speaking mainly about SQLite (but I'd assume this would be true for other backends), there are quite a few methods listed as supported by a specific backend (with an `Inherited`...
Based on discussion here: https://github.com/ibis-project/ibis/discussions/3579 we should move our docs to the Diataxis setup.
i think we could add auto docs for the standard rules
For example, the following would fail in SQL, mysql, sqlite, postgres, impala, clickhouse, spark: ``` window = ibis.window(group_by=table.id) table = table.filter(lambda t: t['id'].mean().over(window) > 3).sort_by( 'id' ) ``` with the...