Comments (3)
Definitely don't do this in a Python function ;)
I think you just want this: unnest the struct column for simplicity, and then get the horizontal sum of everything except the first field (selectors1 make that kind of column selection pretty easy - adjust as needed):
import polars.selectors as cs
Total_df.unnest("Market_Long").with_columns(
Sum_Market_Long=pl.sum_horizontal(~cs.first())
)
# shape: (3, 5)
# ┌────────┬──────────┬──────────┬──────────┬─────────────────┐
# │ Ticker ┆ trader_a ┆ trader_b ┆ trader_c ┆ Sum_Market_Long │
# │ --- ┆ --- ┆ --- ┆ --- ┆ --- │
# │ str ┆ i64 ┆ i64 ┆ i64 ┆ i64 │
# ╞════════╪══════════╪══════════╪══════════╪═════════════════╡
# │ AAPL ┆ 1 ┆ 2 ┆ 3 ┆ 6 │
# │ GOOGL ┆ 1 ┆ 2 ┆ 3 ┆ 6 │
# │ MSFT ┆ 1 ┆ 2 ┆ 3 ┆ 6 │
# └────────┴──────────┴──────────┴──────────┴─────────────────┘
Footnotes
-
Polars selectors https://docs.pola.rs/api/python/stable/reference/selectors.html ↩
from polars.
@alexander-beedie thanks for the reply...the selector works fine for a single nested dataclass , but for multidimensional dataclasses, there is more functionality required.Are there any other ways to access deep nested fields of mutlidimensional dataclasses?
from polars.
You should probably just use the Struct field access, optionally in conjunction with selectors, optionally unnesting to simplify the top-level (as shown). Once it's in Polars it's not a dataclass anymore (obviously ;) it is a Struct composed from the top-level fields of the input dataclass, so it's optimal to interact with it as such.
I'd suggest providing a more specific example that's closer to your real data and asking in the Discord channel for some suggestions (I can pick this up there if you do so) 👍
from polars.
Related Issues (20)
- Import and Export Schema Objects to JSON
- error[E0599]: no variant or associated item named `Struct` found for enum `polars_core::datatypes::DataType` in the current scope HOT 2
- `with_columns(dict)` fail silently if key exists as column HOT 5
- Polars write database - Rest API call failing with AWS Lambda trigger
- Change `read_csv` and `read_ipc` to use object store instead of fsspec
- `.over()` fails with `.top_k_by` HOT 3
- `join_nulls` in "asof" join HOT 3
- exception on numpy slicing literal column with object column
- Scanning cloud paths with percentages '%' fails
- Make pl.Enum(...) return type rather than instance HOT 2
- Elementwise check on `join` expressions is too restrictive HOT 1
- Built-in datasets and a function to load them HOT 1
- Python test workflows may fail due to failure to download `torch` dependency HOT 1
- `scan_parquet` does not optimise `slice` or `tail` operations HOT 3
- Apply function to rows of dictionaries in `map_rows`
- De-duplicate decompression in CSV/NDJSON scans
- import numpy with initial null value HOT 2
- Eager/Lazy API alignment: LazyGroupBy vs DynamicGroupBy
- list.any() and list.all() behavior with all null list looks incorrect HOT 3
- pl.from_numpy produces a DataFrame with the wrong values if a schema is given
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 polars.