Skip to content

Navigation Menu

Sign in
Sign up

[python] Support window joins in temporal alignment #9760

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
XiaoHongbo-Hope wants to merge 12 commits into apache:master
base: master
Choose a base branch
Loading
from XiaoHongbo-Hope:codex/temporal-window-aggregate
Draft
Changes from 1 commit
Commits
Show all changes
12 commits
Select commit Hold shift + click to select a range
4431192
[python] Add temporal window aggregation
XiaoHongbo-Hope Sep 12, 2026
68860e0
[docs] Document temporal window aggregation
XiaoHongbo-Hope Sep 12, 2026
c8afcd2
[docs] Shorten window aggregation example
XiaoHongbo-Hope Sep 12, 2026
cbb84e1
[python] Rename window aggregation API to join_window
XiaoHongbo-Hope Sep 12, 2026
39c82bc
[python] Align window join internal naming
XiaoHongbo-Hope Sep 12, 2026
f1c9ad7
[python] Prune window join payload reads
XiaoHongbo-Hope Sep 12, 2026
b14304a
[python] Support named window aggregations
XiaoHongbo-Hope Sep 12, 2026
b501c66
[python] Fix window join precision and projection
XiaoHongbo-Hope Sep 12, 2026
1537d24
[python] Fix fractional integer window bounds
XiaoHongbo-Hope Sep 12, 2026
38ef500
[python] Fix integer window boundary comparisons
XiaoHongbo-Hope Sep 12, 2026
3b9ec62
[python] Preserve masked alias types when pruning window columns
XiaoHongbo-Hope Sep 12, 2026
8edc1a0
[python] Cover numeric masking of pruned window aliases
XiaoHongbo-Hope Sep 12, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
[docs] Document temporal window aggregation
  • Loading branch information
XiaoHongbo-Hope committed Sep 12, 2026
commit 68860e06205eaa799d38b0afc92a421f945e3028
24 changes: 24 additions & 0 deletions docs/docs/pypaimon/multimodal-reading.md
View file Open in desktop
Original file line number Diff line number Diff line change
Expand Up @@ -102,6 +102,30 @@ states_at_steps = aligned.interpolate(
)
```

Use `aggregate_window` to reduce higher-frequency numeric scalar samples
around each left timestamp. Bounds are inclusive by default; `following`
defaults to zero.
Supported aggregations are `mean`, `min`, `max`, `first`, `last`, and `count`;
nulls are skipped. Set `closed` to `left`, `right`, or `neither` to exclude
endpoints. Empty windows return null, except `count` returns zero.

```python
from pypaimon.multimodal import aggregate_window

steps_with_imu = aggregate_window(
steps.scan(),
imu.scan().select(["acceleration", "angular_velocity"]),
on="event_time",
by="episode_id",
preceding=timedelta(milliseconds=50),
following=timedelta(milliseconds=50),
aggregations={
"acceleration": "mean",
"angular_velocity": "mean",
},
)
```

### Reading BLOB columns

`scan().read_blobs(column)` bulk-fetches a BLOB column's bytes for the filtered
Expand Down
Loading

AltStyle によって変換されたページ (->オリジナル) /