Preserve nulls in Arrow timestamp comparison results - #24079
Preserve nulls in Arrow timestamp comparison results#24079galipremsagar wants to merge 3 commits into
Conversation
DatetimeColumn comparisons filled every null with False (True for ne), including nullable Arrow boolean outputs. Match the existing timedelta behavior by filling only non-nullable comparison outputs, preserving NumPy NaT semantics and Arrow null propagation. Expand Arrow-backed datetimelike comparison coverage to timestamp and duration, all four units, six comparison operators, and scalar/Series operands. Remove 21 expected-failure markers and 3 unconditional skips across the 24 pandas timestamp comparison tests, plus the original shard-only skip.
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Enterprise Run ID: 📒 Files selected for processing (3)
💤 Files with no reviewable changes (1)
Included review availability: Your plan provides up to 12 included reviews per hour; 1 remains after this review. 📝 SummarySummary by CodeRabbit
WalkthroughThe datetime comparison path now preserves nulls for pandas-nullable equality results. Tests cover Arrow timestamp and duration comparisons across units, operators, and operand forms. Obsolete timestamp test overrides were removed. ChangesDatetime comparison behavior
Priority: ⬇️ Low Estimated code review effort: 2 (Simple) | ~10 minutes Merge Risk: ⚪ Minimal · up to Datetime comparisons now retain nulls for pandas-nullable results while preserving existing behavior for non-nullable outputs. The related compatibility coverage and test-status cleanup support merge readiness with no active material risk identified. Suggested reviewers: 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches 💡 1🛠️ Fix failing CI checks 💡
🧪 Generate unit tests (beta)
Comment |
|
/okay to test ca73a96 |
|
/okay to test 86edfc5 |
Description
Preserve nulls in nullable Arrow timestamp comparison results. DatetimeColumn currently fills every boolean comparison null with False (True for
!=), applying NumPy NaT behavior to Arrow-backed results too. Use the same nullable-output guard already used for timedeltas.NODEIDS_TO_SKIP_WHEN_SHARDED(Shard pandas tests across runners in PR and nightly CI #22992).Independent main-based branch; no CPU fallback added.
Validation
Tested with pandas 3.0.3 and source Python using installed cuDF 26.10 native libraries (main is 26.12). An external hook loads the installed extension and maps the exact GPU mask API rename. No CPU substitute, environment modification, or vendored pandas test changes were used. Matching native-library validation remains for CI.