Comments (2)
A workaround I am using for now is casting the lists to arrays:
def mean_array_loop(colname, dims):
return pl.col(colname).cast(pl.List(pl.Array(pl.Float64, dims))).map_elements(mean_array, return_dtype=pl.List(pl.Float64))
from polars.
It seems the culprit is on .to_numpy()
, not .map_elements
call. Selecting a cell (I mean, the point value of the dataframe) of the list of list column already makes a broken series of dtype list:
>>> _df = input_df.group_by(
... "index"
... ).agg(
... vectors=pl.col("vector")
... )
shape: (2, 2)
┌───────┬─────────────────────────────────┐
│ index ┆ vectors │
│ --- ┆ --- │
│ i32 ┆ list[list[f64]] │
╞═══════╪═════════════════════════════════╡
│ 0 ┆ [[1.0, 3.0], [5.0, 2.0], [10.0… │
│ 1 ┆ [[9.0, 3.0], [3.0, 2.0]] │
└───────┴─────────────────────────────────┘
>>> _df[0, "vectors"].to_numpy()
array([array([1., 3.]), array([5., 2.]), array([10., 7.])], dtype=object) # Correct
>>> _df[1, "vectors"].to_numpy()
array([array([1., 3.]), array([5., 2.])], dtype=object) # ???? the array is slicing the first 2 rows, not the last 2 rows
Passing to pyarrow
's .to_numpy
bypass this issue:
>>> _df[0, "vectors"].to_arrow().to_numpy(zero_copy_only=False)
array([array([1., 3.]), array([5., 2.]), array([10., 7.])], dtype=object)
>>> _df[1, "vectors"].to_arrow().to_numpy(zero_copy_only=False)
array([array([9., 3.]), array([3., 2.])], dtype=object)
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 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 polars.