Comments (2)
Might be duplicate of #9722
from polars.
Here is a function do that with basic Series, it's easy to extend to other iterables.
from datetime import date
import polars as pl
def cross(series_list):
"""Generate a DataFrame consisting of all combinations of values in a list of Series."""
lfs = [pl.LazyFrame(s) for s in series_list]
out = lfs[0]
for lf in lfs[1:]:
out = out.join(lf, how="cross")
return out.collect()
s1 = pl.Series("int", [1, 2, 3])
s2 = pl.Series("char", ["a", "b", "c", "d"])
s3 = pl.Series("date", [date(2024, 1, 1), date(2024, 1, 2)])
with pl.Config(tbl_rows=24):
print(cross([s1, s2, s3]))
shape: (24, 3)
┌─────┬──────┬────────────┐
│ int ┆ char ┆ date │
│ --- ┆ --- ┆ --- │
│ i64 ┆ str ┆ date │
╞═════╪══════╪════════════╡
│ 1 ┆ a ┆ 2024-01-01 │
│ 1 ┆ a ┆ 2024-01-02 │
│ 1 ┆ b ┆ 2024-01-01 │
│ 1 ┆ b ┆ 2024-01-02 │
│ 1 ┆ c ┆ 2024-01-01 │
│ 1 ┆ c ┆ 2024-01-02 │
│ 1 ┆ d ┆ 2024-01-01 │
│ 1 ┆ d ┆ 2024-01-02 │
│ 2 ┆ a ┆ 2024-01-01 │
│ 2 ┆ a ┆ 2024-01-02 │
│ 2 ┆ b ┆ 2024-01-01 │
│ 2 ┆ b ┆ 2024-01-02 │
│ 2 ┆ c ┆ 2024-01-01 │
│ 2 ┆ c ┆ 2024-01-02 │
│ 2 ┆ d ┆ 2024-01-01 │
│ 2 ┆ d ┆ 2024-01-02 │
│ 3 ┆ a ┆ 2024-01-01 │
│ 3 ┆ a ┆ 2024-01-02 │
│ 3 ┆ b ┆ 2024-01-01 │
│ 3 ┆ b ┆ 2024-01-02 │
│ 3 ┆ c ┆ 2024-01-01 │
│ 3 ┆ c ┆ 2024-01-02 │
│ 3 ┆ d ┆ 2024-01-01 │
│ 3 ┆ d ┆ 2024-01-02 │
└─────┴──────┴────────────┘
from polars.
Related Issues (20)
- Conda package outdated HOT 1
- DateFrame.describe() reports datetime as str HOT 2
- pl.list,len() - pl.list,len() always returning u32 no matter the results HOT 3
- [FEA]: Allow specifying null location in `set_sorted`
- Expose the individual parameters from fastexcel.load_sheet in pl.read_excel HOT 1
- Provide native and fast Series slice assignment (currently slower than Pandas) HOT 6
- Supporting multidimensional array style operations, by specifying metadata columns
- struct field access returns incorrect values HOT 3
- pl.struct with no arguments triggers a panic
- Multiple expr.head(n).max()/min()/etc operations in with_columns causing ShapeError
- Add `repeat` and `tile` for Series/Expr
- `SchemaFieldNotFoundError` when chaining `select` and `collect`
- Series is ignoring the dtype argument, series.to_numpy() dtype depends on values passed
- Problem filtering categorical string columns with lazy frame and scan_parquet HOT 2
- PanicException: validity must be equal to the array's length
- Polars-lts-cpu fails to import on older CPU (no SSSE3/SSE4 support)
- Release GIL on `collect_schema`
- Panic when using struct expression with`with_fields` in an `over` context
- How to write a UDF for polars that run concurrently?
- `write_excel`: write column formats for column, not individual cells within column 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.