@Garrett Weaver made a really elegant PR for implementing variable-length arguments in UDFs 🔥 🔥 🔥
I originally thought it was going to take way more code… But all it took was ~20 lines 😛
https://github.com/Eventual-Inc/Daft/pull/1984/files
The syntax looks like this:
import daft
@daft.udf(return_dtype=...)
def f(*args):
for series in args:
...
df = df.with_column("foo", f(df["col1"], df["col2"], ...))