1. Anuncie Aqui ! Entre em contato fdantas@4each.com.br

[Python] Cast pl.Date to Unix epoch

Discussão em 'Python' iniciado por Stack, Outubro 3, 2024 às 19:42.

  1. Stack

    Stack Membro Participativo

    Trying to convert a pl.Date column to UNIX epoch as is, without any timezone offset:

    import datetime
    import polars as pl

    df = pl.DataFrame(
    {'Date': [datetime.datetime.now().date()]}
    )


    Correct time (00:00:00) when converted to Datetime:

    df.with_columns(
    pl.col("Date").cast(pl.Datetime)
    )


    ┌─────────────────────┐
    │ Date │
    │ --- │
    │ datetime[μs] │
    ╞═════════════════════╡
    │ 2023-06-10 00:00:00 │
    └─────────────────────┘


    Incorrect time when casting to timestamp:

    datetime.datetime.fromtimestamp(
    df.with_columns(
    pl.col("Date").cast(pl.Datetime).dt.timestamp("ms").truediv(1_000)
    ).item()
    )


    datetime.datetime(2023, 6, 10, 8, 0) # (08:00:00)


    As suggested, without casting to Datetime also produces the incorrect time. (08:00:00)

    pl.col("Date").dt.timestamp("ms").truediv(1_000)

    Continue reading...

Compartilhe esta Página