Comments (5)
Hm, this doesn't look too hard to fix, looking at the error (the nb_compat_func
line).
It's been a while since I've looked at any numba stuff, though.
Are you interested in potentially contributing a PR?
from pandas.
Are you interested in potentially contributing a PR?
Sure, but I find the solution may not be that trivial:
Since numba generally requires the argument is known when function is defined, so any kind of varargs is not well supported.
It dosen't support **kwargs
, and IIRC it also had some bugs with *args
.
This means we can't simply add **kwargs
to nb_looper
:
pandas/pandas/core/_numba/executor.py
Lines 26 to 52 in 58461fe
A possible solution is to dynamically create an intermediate function for each case. Use the example above:
df.apply(np.nanquantile, q=0.5, raw=True, engine="numba")
In this case, we dynamically defines:
@register_jitable
def nb_compat_func(values, q=0.5):
return user_func(values, q=q)
which holds the **kwargs
and the only required argument is values
and this nb_compat_func
will be used by nb_looper
just as before.
However, I felt this solution is somewhat too hacky and not clean. Do you have any other ideas?
from pandas.
I think *args might be the best way to deal with this, if it's possible to fix this.
It's how we pass the kwargs to the other numba stuff like the numba groupby stuff.
Do you remember the issue you had with *args?
from pandas.
Related Issues (20)
- BUG: DatetimeIndex.is_year_start breaks on custom business days frequencies bigger then `1C`
- DEPR: Deprecate method argument of reindex_like HOT 4
- Potential regression induced by "CLN: Simplify map_infer_mask (#58483)" HOT 1
- Potential regression induced by "CLN: Enforce read_csv(keep_date_col, parse_dates) deprecations (#58622)"
- ENH: Also apply formatters to the index in `to_latex` HOT 3
- BUG: In `main`, using `resample().interpolate(inplace=True)` raises an exception HOT 7
- BUG: edge case when masking "null[pyarrow]" pd.Series
- BUG: .max() raises exception on Series with object dtype and mixture of Timestamp and NaT: TypeError: '>=' not supported between instances of 'Timestamp' and 'float' HOT 1
- BUG: numerical inconsistency in calculating rolling kurtosis HOT 4
- BUG: pd.merge fail with numpy.uintc on Windows HOT 2
- BUG: scipy rolling exponential is breaking MultiIndex columns HOT 2
- BUG: ChainedAssignmentError link to documentation will break? HOT 2
- BUG: joining dataframes with multi-index and None index label results in AssertionError HOT 5
- BUG: `margins` value incorrect with `count` aggfunc and no index HOT 3
- BUG: NotImplementedError: `mod` not implemented in `pandas 2.2.2` with `int64[pyarrow]` HOT 2
- BUG: DatetimeIndex.is_year_start breaks on BusinessMonthStart frequency
- ENH: Python 3.13 support HOT 1
- BUG: "styler.format.thousands" option doesn't work for integers HOT 4
- BUG: Pandas 2 is broken! HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from pandas.