Comments (7)
What about
combine(gd) do sdf
@with sdf begin
:x1
end
end
You have to repeat sdf
twice, but you can get both the sdf
and use the columns nicely.
from dataframesmeta.jl.
I don't think it would be possible to have something like the following
@by df :col1 begin
:x1 # Column in df
_subdf # reserved name for subdf
end
Since this is not possible in the src => fun => dest
mini-language.
I think what you want is essentially
by(fun, df, groupcol) = combine(fun, groupby(df, groupcol))
I'm not sure this is worth it, but if so, it would belong in DataFrames.jl, not DataFramesMeta.jl, which is reserved for metaprogramming.
from dataframesmeta.jl.
What about an inner macro then?
@by df :col1 begin
@withsubdf nrow(:x1)
end
to tell the outer macro that we want the :x1 column of the subdf and not that of the main df.
from dataframesmeta.jl.
That's currently pretty close to what's implemented, right?
@by df :col1 begin
:y = f(:col2)
end
from dataframesmeta.jl.
This will apply f
to the entire column of df
, but not to the subdataframes created by groupby
.
It is not equivalent to
combine(groupby(df, :col1)) do sdf
f(sdf.col2)
end
which does apply f
to the subdataframes.
from dataframesmeta.jl.
Nevermind, one can actually use length(:col2)
to get the size of the df. We still cannot work with the subdf, unlike the DataFrame do
syntax, but the applications are not that numerous.
from dataframesmeta.jl.
Yes that's fairly clean. No need for a dedicated macro with this syntax in my opinion. Thank you.
from dataframesmeta.jl.
Related Issues (20)
- Add a `@bycol` macro-flag HOT 5
- Add metadata for working with DataFrames HOT 1
- Request - grouped by columns available as single values rather than vectors HOT 5
- Request: `@order` to mimic `DataFrames.order` in `@orderby` HOT 2
- Very slow `@astable` macro outside a function HOT 4
- `@with` macro clashes with `Base.@with` in Julia 1.11+ HOT 8
- `ByRow` not defined when importing DataFramesMeta HOT 1
- docs question HOT 7
- Request @rsubset_rtransform HOT 7
- Special-case `==` as with other one-argument functions HOT 2
- Add an alternative syntax escaping than `$` HOT 1
- MethodError occurred when broadcasting a string inside @astable HOT 3
- Speculative future of `@groupby` macro
- Allow reference to previously defined columns in @transform HOT 7
- `groupby` derived columns
- Add convenience function to look up a single value in a `DataFrame` HOT 2
- Error in the @by example in the documentation HOT 1
- Request - $AsTable with prefix HOT 2
- kwargs not passed to subset in `@subset` with multiple conditions HOT 1
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 dataframesmeta.jl.